好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

032-《服务器架构及游戏逻辑的实现》.ppt

32页
  • 卖家[上传人]:1731****164
  • 文档编号:186084949
  • 上传时间:2021-07-14
  • 文档格式:PPT
  • 文档大小:219KB
  • / 32 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Deepcold,服务器架构及游戏逻辑的实现,服务器架构,登录服务器(login),唯一服务器 排队系统 URS 认证 & 定位玩家 产生 login cookie,连接服务器(gate),认证 login cookie 负责一个地区的玩家 网通电信互连 对时 双向中转数据,心跳服务器(heartbeat),数据加密 产生心跳 调试数据录象/重放 聊天信息分流,定位服务器(position),计算玩家坐标 校验玩家坐标 玩家分流,场景服务器(area),单个场景的逻辑 功能场景分别实现 交易场 城市建设 个人战斗副本 战争战场,数据服务器(data),向场景服务器提供数据存取服务 向定位服务器提供玩家初始坐标 和全局数据库同步,物品分配服务器(loot),产生奖励品 产生物资,数据存储,使用本地数据库 玩家切换场景时候 load/save 全局唯一数据库服务器 玩家通过海关时,把本地数据提交到全局 新玩家迁入,把全局数据同步到本地 城市信息定期(维护时)同步到全局,游戏逻辑的实现,实现语言,标准 Lua 解释器启动 C+ 扩展模块 C 实现部分简单任务的服务器,逻辑服务器,即场景服务器 纯 lua 编写 从位置服务器阻塞读取数据 由位置服务器初始化玩家信息 Fork 子进程调用数据服务器保存 不关心物资分配,只下达生产指令 只有一个数据入口点(方便调试),数据存取服务,全局数据库只在玩家迁徙时访问 本地数据采用文件系统 唯一进程负责数据存取 异步读取 逻辑提出要求,读完后传入定位服务器 文本数据保存,物资分配服务,统一管理物资 可全局分配资源 可在特定服务器产生特定资源 公平的做特殊物品发放 异步发放战利品 逻辑服务器提出发放要求 反馈到位置服务器,由位置服务器通知,心跳服务器,管理游戏节奏 去处逻辑上的时间相关性 方便调试(录象功能) 数据加密,定位服务器,计算玩家位置 玩家位置预测 玩家位置校验 数据服务和物资发放的中转,远端过程调用,接口描述,自定义小语言 数据流向自定义数据类型的自动转换 Number (14 字节) 其他数值类型 String (带长度 0255) Enum (byte id 转到字符串) 应答标记 Log 系统 对象 id 到对象的自动转换,singleton manager_t client : create(num clsid, num objid) release(obj) ack server : login() ack end,rpcdef character_t client: set_name(str) init(num x, num y,num faceto) move(num x, num y, short vx, short vy, num faceto,time) attack_begin(short skill_id) attack_singing(short duration) attack_performing(short duration) attack_complete() cancel_action() server: attacked(short skill_id, time) end,对象管理,服务器拥有全部逻辑 客户端有可见的傀儡对象 通过傀儡对象的远程方法对之发送指令 通讯范围由对象的性质决定 服务器逻辑层不关心广播范围 外在表现对象和数据对象分离 例:Player 与 character 的绑定,远程调用的应答,远程调用全部为异步调用(非阻塞) 客户端可以设置需要应答来知道指令传输完毕(写回调函数) 服务器可得知所有广播对象皆收到指令,广播的设计,雷达范围(通常固定) 雷达强度(跟随连接上的玩家) 信号半径(跟随对象) 远程方法可以有信号半径权值修正 一个对象的远程方法是否被广播到另一对象由对方的雷达范围、强度、自己的信号半径决定,监控,所有服务启动时需要向监控服务登记 定期汇报自己的情况 出错不做恢复全部重启(保持设计简单) 实际上,我们是把一个多线程的实现改为多进程实现,反作弊,时间戳,统一的时间服务 每半小时重新对时 以时间流逝盖戳,通常为 2 字节 以时间戳防止加速器,位置同步,信任客户端位置 移动信息:坐标、分速度、绝对速度、朝向 以时间信息和分速度信息估算坐标 绝对速度用于玩家相互监督 玩家自动举报;系统开启检测 自动举报限制频率 以系统检测结果为准,数据加密,方便连接服务器处理,不加密包头 心跳服务器加密/压缩 更换协议号(编译接口文件自动完成) 修改 lua 解释器 动态加载客户端代码,Q&A,cloudwu corp http:/,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.