transfer connection to different server
Posted: 09 Aug 2012, 17:26
Our game is a virtual world and requires real-time updates for player movements and actions. We partition the game universe into Rooms, so nearly all communication is limited to only those users in the same Room. Communication between rooms is limited to custom private messages and a few updates. We are using the Unity client. We're using SFS1x, but will probably move to 2X shortly.
We are looking into scaling/clustering, and we have reviewed all the info, whitepapers and threads we can find. The most current recommendation seems to be to use isolated instances of SFS (as opposed to Terracotta). We could have a load balancer (or two) and find the best place to create a new Room or locate and join an existing one. When the player moves to a new area (changes Rooms), we would (potentially) have to move/reconnect the player from one instance to another (say to join their friend who happens to be in a Room on another server instance).
How should we go about transferring the connection? Would it be reasonable and feasible to have the client maintain the old instance connection, simultaneously connect to the new server+Room, then once the hand off is successful disconnect from the first server? It occurs to me that the 1X Unity client only supports a single connection (it is static). Has the 2X Unity client been modified to allow multiple simultaneous connections?
Or should we be considering something entirely different?
We are looking into scaling/clustering, and we have reviewed all the info, whitepapers and threads we can find. The most current recommendation seems to be to use isolated instances of SFS (as opposed to Terracotta). We could have a load balancer (or two) and find the best place to create a new Room or locate and join an existing one. When the player moves to a new area (changes Rooms), we would (potentially) have to move/reconnect the player from one instance to another (say to join their friend who happens to be in a Room on another server instance).
How should we go about transferring the connection? Would it be reasonable and feasible to have the client maintain the old instance connection, simultaneously connect to the new server+Room, then once the hand off is successful disconnect from the first server? It occurs to me that the 1X Unity client only supports a single connection (it is static). Has the 2X Unity client been modified to allow multiple simultaneous connections?
Or should we be considering something entirely different?