跨服功能设计笔记

背景

几年前就想为游戏添加跨服功能,但由于没有这方面的开发经验,一直没有下手。每次准备面试都怕被问跨服怎么实现,所以干脆开始尝试解决一下这个问题吧。

设计目标

1.进入跨服服务器,对客户端应该是无感的。也就是和切换地图的效果一样,还是用原来的TCP连接,无需建立新的连接。
2.增加两个模块,一个是CrossClient,一个是CrossServer。CrossClient负责在本服和跨服之间转发消息;CrossServer负责管理所有的本服,它要把消息分发到正确的本服。
3.本服和跨服共用一套代码。只是和跨服场景相关的逻辑要在跨服中处理,通过本服转发给玩家;非场景功能还是在本服处理,例如任务,活动等。要做到尽量对其他功能模块透明,其他模块不用考虑玩家在本服还是跨服。

进展

1.开了个头,实现了CrossClient和CrossServer类的部分功能。现在有一个比较关键的功能还不确定要怎么做:就是需要怎样把玩家的属性同步到跨服,又怎么从跨服更新回本服?(2021.06.11)

你可能感兴趣的:(跨服功能设计笔记)