- 前情摘要
简单谈谈你对情景云服务器的看法欢迎在写作不好的地区讨论
1)处理场景地图数据的相同点
①更严格的服务器是与客户共享地图数据的,用navmesh说话,服务器还应将这些地图数据加载到内存中,例如,在linux下开发共享存储存储地图数据的特殊大小
②地图方格,撞击,都是数据,服务器和客户端将拥有相应的数据并运行相同的算法
2)不同的场景地图数据处理点
①服务器不需要存放地图贴图等优质服务器

②服务器一般不会干,或者说mmorpg一般不会干击,例如,如果使用physics作为撞击词,可以做一些炮弹反弹,投掷物相撞反弹的效果,CPU能源非常昂贵c;会导致单服承重总数急剧下降
3)补充点
①相关:目前预防记录先c;目前,服务器只检查客户端的行为,不调整,调整成本很高,#xff0c;特别是现在手机游戏很流行鬼知道是玩家网络不好还是外挂。未通过校检的记录,回到错码超出频率立即停止,节省成本
②3D地图通常使用体素作为地图服务器数据2D通常使用网格,但对于需求,具体情况具体分析
4)#xff083D地形数据介绍;与2D不同的相同点和不同点)
- 介绍基本数据
我们有3D地图(x, y, z)三个维度, xoz表示地图的平面, y表示地图的高度。 - 类似2D地图的部分
3D地图,xoz是地图的俯视平面图,其实是2D地图,xoz平面也可以分为小块(和2D一样),然后什么小块可以走,什么小块不能走,形成xoz平面的地图逻辑数据,用于寻径。 - 不同于3D地形的部分(有高度数据)
做地形的时候,高度图的数据可以导出,给出(x, z)座标,我们必须将高度数据y从高度图中输入, 那么,当我们导航移动时,,根据寻径中的x, z 在高度图中获得y座标,这样就可以控制角色在移动高度,人物的上坡下坡可以实现。3D地图数据是一个 xoz平面的二维数组,描述某一块是否可行还有一个高度图数据。
1)场景服务器:#xff08单线程解决方案;只管情景信息保存和扩服后的创景管理)
- 附加益处
将游戏中的实体数据放在当前过程中当情景服务器停机时,可以及时存储数据,并恢复。
2)场景服务器:多线程处理场景信息(《天龙八步》和《武侠世界》是解决地图组的过程c;一个场景服可以有多个线程༉
1)情景管理定阅消息(来自其他模块或玩家的信息)
①玩家信息:MSG_PLAYER_MSG
②玩家登录信息:MSG_PLAYER_SENDLOGINOK
③新场景:MSG_INSTANCE_NEW
④场景消毁:MSG_INSTANCE_DEL
⑤GM场景相关指令:MSG_RUN_COMMAND
⑥关闭所有模块命令(停止应用程序):MSG_RELEASE_ALL_MODULE
⑦起服DB服务器(逻辑服务器逐渐进入主线):MSG_DB_DATA_READY
2)详细描述情景处理
(7)起服DB服务器(逻辑服务器逐渐进入主线):MSG_DB_DATA_READY
- 填表注意点
①填写主线地图的分线数
②主线地图不需要通道列(IsEntry,团本将填写这一列,而且主线地图对应组ID(即GroupID)为0
③额外的服务器在地图场景中建立标志: - 建立步骤
①探索表中团本组ID为0的地图信息,也就是公共地图将公共地图ID存储在Map中
()
②这个公共地图Map遍历这个公共地图c;将地图ID带到配备中搜索#xff0c;获得该图对应的默认开启分数,InstanceZone目标建立c;填写对象构造函数 ③根据地图ID创建地图信息目标m_pGameMapInfo,根据读表数据取值例如,这个云服务器AOI是基于九宫格建立的
(在这里检查是否建立在这个服务器类型下(例如)a;例如,是否在逻辑服务器中建立),根据情景表数据创建地图数据