To send a player to another server, you need to send a message to the channel networkcontrol:proxy:route_request with the following expected shape:
{
"player_uuid": "e8a1d48c-b035-430c-8c3d-b4b105a2e12e",
"target_type": "minigame",
"ranked": false
}This tells NetworkControl to prepare a connection to a specific server type.
- If ranked is false, it will identify a server by server type, and then status and finally by player count
- If type is minigame and server is in lobby mode, highest without going over wins, otherwise always lowest wins.
- If ranked is true, it will first identify a server by server type, and then filter by ranked mode. Then, it will identify players in that server, and determine the ability of already online players vs the requested player's rank.
- If they are not compatible, find a new server.
- If they are compatible, look at the player count.
- If in lobby, highest without going over wins.
- Otherwise, lowest wins.
To send a player to Limbo, you need to publish a message to the channel networkcontrol:proxy:limbo_evict
With the expected example packet:
{
"dead_server": "minigame-auto-5fc2e041",
"players": ["e8a1d48c-b035-430c-8c3d-b4b105a2e12e"]
}To recover a player from Limbo, you need to publish a message to the channel networkcontrol:proxy:rescue
With the expected example packet:
{
"target_server": "minigame-auto-27dae082",
"players": ["e8a1d48c-b035-430c-8c3d-b4b105a2e12e"]
}