多服务器游戏单点登陆设计思路
大型棋牌类游戏往往集成多个游戏,像联众边锋等,就有中国象棋、国际象棋、围棋、军旗等几十种游戏,而每种游戏又有多个游戏服务器,比如网通服务器、电信服务器等。这个多的游戏服务器不可能每个服务器都含有登陆功能,不然的话就有使系统功能重复,增加开发的工作量,而且最主要的是使得数据同步变得极为困难,甚至是根本不可行。 因此使用一个或多个专门的登陆服务器进行登陆验证时非常有必要的。
登陆服务器 |
游戏服务器A |
游戏服务器B |
游戏服务器C |
如上图,是一个单登陆服务器,多个游戏服务器的简单模型。实现单点登陆的难点在于怎么样来确定登陆服务器和游戏服务器的ID为同一个角色。我们以TCP为例,当一个玩家进入登陆服务器之后,他就会跟登陆服务器建立一个连接,比如说连接的socket id为 ID1,这时候这个玩家进入了游戏服务器A,他又会跟游戏服务器A建立一个连接,