Wondering if this would even be possible
#4
Hi,
depends on what you call "Distributing the load". If you have a multi-world server, then it would be rather trivial to host each world on a separate VPS and have one "manager" VPS which would act as the server to which the players connect; it would then relay each player's communication to the server which runs the appropriate world. However, usually when thinking about "distributing", you want to host one world across multiple servers. Unfortunately this is technically almost impossible, no matter what server software you use. The reasons are several, let me just skim through the list:
- Tick synchronization - there is no reasonable way to synchronize game ticks across the servers; this would break most redstone and quite a lot of other stuff.
- Chunk management - the servers would need to decide which server "owns" which chunk; changes to that chunk would need to be directed to the correct server; which is difficult especially for things like fluid generation
- Entity management - similar to chunk management, but even worse, because entities would have to migrate from server to server when they move.

In a nutshell: take a look at the source code and see how often we use the cCSLock class. Each such usage would mean a need to synchronize several servers. This would produce so much overhead that it would kill and overkill any performance increase that could be gained - each such synchronization means at least one packet travelling both ways between *all* server machines.

Note that the reasons are generic and aren't tied to MCServer, so it means there can be no server software at all doing this; no point searching.

Hmm, it took me so long to write my reply that you've already answered the primary questionTongue
Reply
Thanks given by:


Messages In This Thread
RE: Wondering if this would even be possible - by xoft - 05-12-2013, 12:30 AM



Users browsing this thread: 1 Guest(s)