ID:92732
 
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
This goes along with request 1188

In my prior suggestion, I mentioned a method for easing the transition between worlds in a cluster-based game, where the world is split between multiple servers.

I think if this system exists, the developer should be able to "lump" their live game data, so that in a four server setup, three being slaves, and one being a master.

The master server will be the only game of the four servers listed live, and all players logged into each slave world will be listed under the master world. When a player attempts to join a slave world, he is redirected instantaneously to the master world without directly connecting to the slave. That is, unless the player is linked directly to that slave world from within another server in the cluster.

Live Hub entries should be allowed multiple clusters, and clusters should have some method of authenticating one another upon World creation. If the authentication fails (via a new world function), the world is hosted as an independent (or master) server of its own cluster.
Thinking about it, preventing login to a slave server wouldn't be hard with the current system, you'd just have to link() from one server to the master, and then send a topic to a slave when linking to tell it to expect that player to show up. =/
Our game will need this in order to properly report the number of players connected to the game. Considering the game is made up of multiple Daemon's running different maps.
Rethinking my suggestion after almost 4 years now:

Perhaps adding two variables to the world datum would suffice:

world.group_mode

A value of 0 = default, this means that the server is a normal server with no master and no slaves. It is its own thing.

A value of 1 = cluster mode, this means that this server is the primary server in a cluster of worlds existing under the current hub. Any players that attempt to log into this clustered world will be listed under this server's entry.

A value of 2 = node mode, this means that this server is a secondary server in a cluster of worlds, subservient to a primary cluster.

world.group_password if a server opens in node mode, it will only be included in the master server's list of players if the group_password of all nodes and master servers match. This keeps games on the same hub from being grouped together incorrectly. This allows multiple servers with multiple different sets of nodes.

Ensuring that people are sent to the right node can be handled by the developer. All I would like to see is for clustered games to be treated as a single server by the hub, and for the number of players connected to any of them to be displayed and reported as a single entity.