ID:151901
 
So I have seen lots of different things about servers and what to do with them and most of which are a little confusing for me. What I wanted to discuss was the possibility of doing something to increase the amount of players in the world and decrease the stress put on the host servers. Right now this is just thinking in advance and coming up with a plan. I had one idea but not sure if its possible with byond and whether it would be worth it.


Have the world split up to 2-4 sections and run them on different servers and have players transported between servers when going between areas. And also having a load screen or something while its transfering. There are a couple things i see wrong though say i split it up into 2 servers i would need to always have both servers running at the same time. so if using a shell server would need two cause getting one and running two worlds on it probably wouldnt help any.

Any comments or ideas on this or what are some solutions to have a server to be able to handle lots of traffic would be welcome.
NightJumper88 wrote:
Any comments or ideas on this or what are some solutions to have a server to be able to handle lots of traffic would be welcome.

Splitting up a game is definately possible - This is the current plan for my game as well.

I have a system in place to track worlds that go up and correctly navigate players there via link() as needed. I plan to release this system, but right now its totally undocumented and not really ready for public consumption. It works, but its probably hard for someone else to figure it out. It also requires a minimum of 3 + (number of worlds you want run) ports open, either on one machine or split between any number of machines.

The general idea of the system, if you want to attempt something yourself, is this:

* Each game instance open serves only one 'map'. Map can be anything though, of any size. In my case, I load maps from a MySQL DB.
* There is only one, central DD allowed to take requests and forward commands to start up new maps - This is to prevent two players from spawning two versions of the same map, if they happen to request going there at the exact same time.
* I use a 'login server' concept, where players join the login server IP and log into the game from there. They're forwarded by the login server to where they need to be.
* Everything is stored via MySQL, so all worlds have access to any information. You could use savefiles, but you risk running into file-lock issues and speed issues if the game is significantly big.

If you have specific questions, feel free to page or e-mail me ([email protected]). If you want a copy of the clustering system I use, I can provide that as well - Although I won't document it yet, as I don't have time.