Cost mostly. Its a constant struggle between balancing performance and cost of running the servers. As we all know companies dont like cost only profit which is why any game that uses dedicated servers should allow community run servers.
Also the server needs to distribute each players interaction with all other players.
And handling serverside logic over clientside to prevent hacking.
Many things but mostly just cost. Having worked briefly even in simple games the servers are always more underpowered than they should be even for crappy games i made where it was just single users interacting with the server.
Cpu and ram. Bandwidth comes pretty cheap and games dont need much.
Modern game servers will do lots of validation to see if the client is doing something "legal" before shipping that out to others. Lots of processing work needs to happen for every tick in the simulation which means the more players you have the more validation and processing per simulation cycle. Then there's various lag compensation and other faff.
Bandwidth wise though not much data is being sent at any one time. Most data centers can handle massive file transfers whereas games use very little data in comparison.
Also limitation in the possibilities of netcode itself. Networking for games is hard. And the limitation of physical distance and speed packets can transmit over a network.
Cost mostly. Its a constant struggle between balancing performance and cost of running the servers. As we all know companies dont like cost only profit which is why any game that uses dedicated servers should allow community run servers.
Also the server needs to distribute each players interaction with all other players.
And handling serverside logic over clientside to prevent hacking.
Many things but mostly just cost. Having worked briefly even in simple games the servers are always more underpowered than they should be even for crappy games i made where it was just single users interacting with the server.
What's the biggest cost though? The bandwidth or the actual CPU calculations that need to be done server-side?
Cpu and ram. Bandwidth comes pretty cheap and games dont need much.
Modern game servers will do lots of validation to see if the client is doing something "legal" before shipping that out to others. Lots of processing work needs to happen for every tick in the simulation which means the more players you have the more validation and processing per simulation cycle. Then there's various lag compensation and other faff.
Bandwidth wise though not much data is being sent at any one time. Most data centers can handle massive file transfers whereas games use very little data in comparison.
Also limitation in the possibilities of netcode itself. Networking for games is hard. And the limitation of physical distance and speed packets can transmit over a network.
Some problems can never really be solved.