欢迎光临散文网 会员登陆 & 注册

商业路线课程项目Roguelike游戏演示01

2023-08-04 11:49 作者:泰斗学习  | 我要投稿

C# 服务器框架Fantasy开发,交流群号 656091376

上线级登录注册实现:

1、采用鉴权服务器验证(短连接)、根据用户Id或名字指定一个服务器生成一个Token发送给客户端。
2、客户端通过Token连接登录到指定的服务器进行登录。ToKen采用JWT的RSA加密、几乎没有破解的可能、能有效的保证服务器的安全性和一致性。

3、分开鉴权和游戏服务器的关系、比如鉴权是其他平台开发的、如PHP、JAVA等、这些服务器生成Token就可以了。
4、鉴权是独立的跟其他服务器没有任何关系、就很容易做成多个区或服的鉴权登录服务器、单独部署到一个服务器中、不需要跟随游戏服务器。
5、鉴权服务器是最容易攻击的、现在如果被攻击了、可以随时在启动一个鉴权就可以了、完全不影响游戏服务器的逻辑。

无缝大地图实现:

1、使用9宫格根据人物坐标每隔一定时间计算所在格子的位置来渲染周围9个格子的地图。

2、具体算法:Mathf.RoundToInt(position.x / self.CellSize.x)。

3、周围地图都使用对象池来进行缓存、避免重复创建。

地图传送实现

1、分为CopyDispatcher、CopyManage、Copy三部分组成。

2、当执行传送时会首先去CopyDispatcher服务器申请一个副本、CopyDispatcher会找到当前负载(人数最少)服务器。

3、请求CopyManage服务器创建一个新的副本、CopyDispatcher把这个服务器添加到定时检测任务、查看这个副本是否过期、如果过期会减少负载。

4、Copy必须有超时时间、如果时间不够可以通过CopyDispatcher来进行续约,通过copySceneRouteId执行传送逻辑传送到目标副本中。

5、传送成功后客户端会收到H_G2C_TransferStart消息、客户端执行切换地图的相关逻辑。


商业路线课程项目Roguelike游戏演示01的评论 (共 条)

分享到微博请遵守国家法律