《大世界网络游戏服务器的构架.ppt》由会员分享,可在线阅读,更多相关《大世界网络游戏服务器的构架.ppt(18页珍藏版)》请在金锄头文库上搜索。
1、大世界网络游戏服务器的构架Deep cold 游戏引擎引擎三大部分基于 freebsd 的服务器跨平台的客户端二进制跨平台支持 Win32 MacOs Linux Freebsd3d 部分基于 openGLC 语言编写底层、逻辑部分动态脚本语言开发用相关工具跨平台命令行工具Windows 下的视觉编辑工具服务器的设计底层全部由 C 语言编写逻辑层语言无关类 COM 的模块化设计多语言混合编程多进程单线程结构服务器组内各进程功能有明显的层次划分数据和逻辑分离具体设计服务器群单一登陆点做进入系统的认证全局数据库仅保存用户身份信息不保持常连接玩家可以在整个大世界中发生联系物理上玩家分属不同服务器组管
2、理用户数据库各自独立,无须实时交互虚拟世界中的距离即物理世界上的距离登陆过程登陆过程服务器组间的消息传递服务器组间的消息传递服务器组间消息传递避免交互性协议游戏设计上考虑远程通讯的时间差允许数据复制,并考虑多个副本相遇时的处理每组服务器有唯一的数据输入输出点海关服务玩家的交互受游戏设计的限制限制是为了更丰富的可能性虚拟世界的战争、贸易以及资源分配服服务务器器组组的的内内部部结结构构外部连接处理多个外部接入点国情问题:电信网通问题特别通道:用于管理人员进入组播分组管理的问题心跳控制流水线作业时间控制录象回放调试(监督数据合法性)聊天信息分离利用广播服务器减低负载广义聊天信息时间校对校对玩家机器和
3、服务器组的时间防止时间作弊估算消息发生时刻,更流畅的完成交互动作精确保证时间的一致性NTP 协议的问题Client 的不合作(区分恶意和无意)服务器组间的时间校对心跳控制数据服务唯一的数据储存点使用本地文件系统使用简单文本结构使用简单的交互协议物品发放服务虚拟物品的控制数据监控和备份系统登陆与灾难处理门卫用户登陆排队登出登记黑洞从灾难中恢复保持跟玩家的有限交互游戏逻辑的实现多进程单线程结构避免进程间通讯严格控制数据进出做好灾难处理特殊功能模块的设计帮派/行会,交易所避免全局数据交互Client / Server 通讯:RPC 避免依赖单一语言工具,创建合适的小语言语言无关的模块设计开发经验和教训曾经追求大一统的设计过分信赖 C+设计模式滥用数据应当文本化应将每单个任务足够简化不为尚不存在的需求做设计谢谢http:/PPT 下载http:/