1、获取游戏公告,也放在web服务中 。公告一般是游戏登陆的时候向服务器获取一次 。把它放在web服务器中 , 与业务逻辑分离的好处是,当业务逻辑服务器维护或更新的时候,不影响用户的登陆 , 和获取公告,这样用户体验会好一些 。
2、创建用户唯一的id,因为棋牌类游戏服务器是世界服,无分区 , 所以用户的id必须是全局唯一的 。可以利用redis的incr方法,原子的递增,如果不想被别人根据userid的递增推算出有多少注册用户 , 递增的梯度可以随机,比如每次递增的值从1到1024中随机一个 。【手机玩棋牌游戏服务器是靠什么订住玩家 玩棋牌游戏必知】
3、创建房间,当房间主创建房间时,房间的id需要在任何台服务器上可以查询到 , 所以创建房间成功后,房间id要存储在共享内存redis中,每个房间id对应一个房间所在的ip地址或服务器id.这样,当有用户要进入房间,在查询房间id时,可能判断这个房间是否和自己登陆的游戏服务器相同 。
4、查找加入房间 。根据房间id查询房间,查找到房间后,获取房间所在的ip地址或服务器id,如果发现和自己所登陆的服务器一样 , 直接可以加入房间 。
5、玩家同屏玩家同屏是棋牌游戏中的一个重点,对于做过那些大型的arpg,或mmo游戏的程序员来说 , 这并不是什么难事 。因为同屏就是服务器对客户端的消息进行转发 。