




已阅读5页,还剩62页未读, 继续免费阅读
【硕士论文】网络休闲游戏平台服务器端的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 随着网络技术的发展 以及国家政策对游戏产业的支持 国家体育总局 已经把电子竞技运动 确立为正式的体育比赛项目 网络游戏产业成为蓬 勃发展的产业 随之发展起来的网络休闲游戏更是越来越受到人们的喜爱 近几年来 形成了以腾讯Q QG a m e 联众游戏几大休闲游戏平台为首的一 大批棋牌类在线游戏平台 因此对网络休闲游戏平台的开发 成为业界的 热门研究方向 首先 论文从网络游戏发展历史出发 介绍了现在网络游戏的分类 结 合我国网络休闲游戏产业的发展状况 指出本文的研究意义 其次 针对网络休闲游戏平台的开发 系统地分析了网络游戏服务器端 的架构设计 结合现有的网络游戏应用开发模型 给出休闲游戏平台服务器 架构的一种解决方案 接着 在服务器架构建立的基础上 结合研究方向 较为详细的讨论和 研究了网络游戏架构设计过程中遇到的关键性技术 如网络通信技术 分析 了用于网络通信的几种套接字I O 模型 并使用s e l e c t 模型实现网络游戏的 通信 最后 设计网络游戏平台进行通信的自定义协议 对协议各组成部分进 行详细设计说明i 并实现 关键词 网络休闲游戏s e l e c t I O 模型网络游戏通信游戏协议 http www live in 西南交通大学硕士研究生学位论文第l 页 1 1 网络游戏发展历史 第1 章绪论 在2 0 0 2 年5 月的G D C2 0 0 2 游戏开发者大会 上 有一场关于网络游戏 的研讨会 研讨会的主题为 B u i l d i n gaT h i r dG e n e r a t i o n O n l i n eP e r s i s t e n t W o r l d 创造第三代网络游戏 第三代网络游戏究竟是怎样的 前两代网络游戏分别是如何划定的 三 代网络游戏之间的界定标准又是什么 这次研讨会并没有给我们一个明确的 答案 一般的观点是把 网络创世纪 U l t i n l aO n l i n e 视为网络游戏的奠基者 把2 D 画面为主或2 D 3 D 画面混用的网络游戏统称为 第一代网络游戏 把 即将在国内推出的 无尽的任务 E v e r O u e s t 和 命运 w Y D 等全3 D 大作视为 第二代网络游戏 而 第三代网络游戏 的定义目前尚无定论 但 我们从今年以来的发展趋势可以看出 第三代网络游戏更倾向于甩开那些用 以衡量单机游戏的传统标准 如视听 操作性和游戏性等 甚至甩掉 游戏 这个字眼 而把自己定位在虚拟社区之上 换句话说 第三代网络游戏的精 髓在于它的社会系统 游戏设计师所扮演的实际上更多的是社区设计师而非 游戏设计师的角色 在具体的表现手法上 第三代网络游戏并无统一模式 例如 模拟人生在线 T h eS i m sO n l i n e 强调虚拟的社交体验 而 绝密档 案 M 旬e s t i c 则强调交互方式的多样化 然而这种划分方法的不足之处也很明显 一是缺乏统一的标准 前两代 以游戏的画面为分界 而后两代则以游戏的内容为分界 二是所用标准不具 备独占性 按画面进行划分对于网络游戏来说并无太大的实际意义 若以内 容进行划分 则至今仍无人能出 网络创世纪 之左右 实际上 如果我们 把视线拉远一些的话 就会发现 从 网络创世纪 更准确地说 从1 9 9 6 年发布的 子午线5 9 x http www live in 酉南交通大学硕士研究生学位论文第2 页 我们并不能因此而无视此前出现的一切 任何事物的质变都需要经历一个漫 长的量变过程 一 第一代网络游戏 1 9 6 9 年至1 9 7 7 年 背景 由于当时的计算机硬件和软件尚无统一的技术标准 因此第一代 网络游戏的平台 操作系统和语言各不相同 它们大多为试验品 运行在高 等院校的大型主机上 如美国的麻省理工学院 弗吉尼亚大学 以及英国的 埃塞克斯大学 游戏特征 1 非持续性 机器重启后游戏的相关信息即会丢失 因此无 法模拟一个持续发展的世界 2 游戏只能在同一服务器 终端机系统内部执 行 无法跨系统运行 商业模式 免费 第一款真正意义上的网络游戏可追溯到1 9 6 9 年 当时瑞克 布罗米为 P L A T 0 P r o g r a 姗e dL o g i cf o rA u t o m a t i cT e a c h i n gO p e r a t i o n s 系统编写 了一款名为 太空大战 s p a c e w a r 的游戏 游戏以八年前诞生于麻省理工 学院的第一款电脑游戏 太空大战 为蓝本 不同之处在于 它可支持两人 远程连线 P L A T O 是历史上最为悠久也是最著名的 x http www live in http www live in 西南交通大学硕士研究生学位论文第4 页 互连接的房间和l O 条指令 用户登录后可以通过数据库进行人机交互 或通 过聊天系统与其他玩家交流 特鲁布肖离开埃塞克斯大学后 把维护M u D l 的工作转交给了理查德 巴 特尔 巴特尔利用特鲁布肖开发的M u D 专用语言 M U D D L 继续改进游 戏 他把房间的数量增加到4 0 0 个 进一步完善了数据库和聊天系统 增加 了更多的任务 并为每一位玩家制作了计分程序 1 9 8 0 年埃塞克斯大学与A R P A n e t 相连后 来自国外的玩家大幅增加 吞 噬了大量系统资源 致使校方不得不限制用户的登录时间 以减少D E c 一1 0 的负荷 8 0 年代初 巴特尔出于共享和交流的目的 把M U D l 的源代码和盘 托出供同事及其它大学的研究人员参考 于是这套源代码就被流传了出去 到1 9 8 3 年末 A R P A n e t 上已经出现了数百份非法拷贝 M U D l 在全球各地迅速 流传开来 并出现了许多新的版本 如今 这套最古老的M u D 系统己被授权 给美国最大的在线信息服务机构之一 c o m p u s e r v e 公司 易名为 不列颠 传奇 至今仍在运行之中 成为运作时间最长的M U D 系统 M U D l 是第一款真正意义上的实时多人交互网络游戏 它可以保证整个虚 拟世界的持续发展 尽管这套系统每天都会重启若干次 但重启后游戏中的 场景 怪物和谜题仍保持不变 这使得玩家所扮演的角色可以获得持续的发 展 哪D l 的另一重要特征是 它可以在全世界任何一台P D P 一1 0 计算机上运 行 而不局限于埃塞克斯大学的内部系统 1 9 8 2 年 约翰 泰勒和凯尔顿 弗林组建K e s m a i 公司 这家公司在网 络游戏的发展史上留下了不少具有纪念意义的作 O 吨1 4 1 7 52 4 9 1 0 1 22 6 8 1 0 吨2 40 10吨2 0 8 1 0 吨3 2 9 l O q 当出水口高度差为2 0 m m 5 0 m m 时 出水口附近的速度没有太大的改 变 这样清洗效果也不会有很大改变 当左 右两边出水口高度差为100mm 1 5 0 m m 时 左边1 4 个出 蕴问谚旗钎杯摹銮柄并茬荇罗 l 囊始g 搓g 磐 找聪溉踅蔷表耙比尔 洛登 洛登对此很感兴趣 凯斯迈之岛 的运行平台 为U N I x 系统 而c o m p u s e r v e 使用的是D E C 一2 0 计算机 于是K e s m a i 公司重 http www live in 西南交通大学硕士研究生学位论文 第5 页 扮演游戏 游戏的收费标准为每月4 0 美元 这是网络游戏史上第一款采用包 月制的网络游戏 包月制的收费方式有利于加速网络游戏的平民化进程 对 网络游戏的普及将起到重要作用 遗憾的是 包月制在当时并没有成长起来 的条件 1 9 9 0 年A U s I 公司为 龙门 D r a g o n sG a t e 定的价格为每小时 2 0 美元 尽管费率高得惊人 但仍有人愿意每月花上2 0 0 0 多美元去玩这款 游戏 因此在8 0 年代末9 0 年代初 包月制并未引起人们的关注 1 9 8 5 年 比尔 洛登说服通用电气公司 G E 的信息服务部门投资建立 了一个类似c o m p u s e r v e 的 商业化的 基于A s c I I 文本的网络服务平台 这 套平台被称为G E n i e G EN e t w o f o rI n f o r m a t i o nE x c h a n g e G E n i e 予 1 0 月份正式启动 其低廉的收费标准在用户中间引起了巨大反响 也令一向 有着强烈优越感的C o m p u S e r v e 感受到了竞争的压力 G E n i e 系统实际上是利 用G E 信息服务部门的服务器在夜晚的空闲时间为用户提供服务 因此收费非 常低廉 晚上的价格约为每小时6 美元 几乎是C o m p u s e r v e 的一半 同年1 1 月 Q u a n t u mC o m p u t e rS e r v i c e s A O L 的前身 毫无声息她推 出了Q u a n t u m L i n k 平台 这是一个专为c o m m a n d o r e6 4 1 2 8 游戏机玩家服务 的图形网络平台 费率仅为每月9 9 5 美元 这一收费标准完全可以成为网络 游戏发展史上的一个重要里程碑 但由于当时的c o m 帆n d o r e6 4 1 2 8 游戏机 已步入衰退期 因此这项具有革命意义的收费标准如同雅克布斯的 家庭作 坊 一样 未能引起人们的重视 否则网络游戏的革命很可能会提前来到 无论如何 更多运营商的介入令网络服务业的竞争激烈了起来 费率的 下调已成必然趋势 这一阶段的美国网络游戏业如同现阶段国内的网络游戏 业 运营商与游戏商在网络游戏身上大赚了一笔 1 9 8 8 年 Q u a n t u m 从T S R 手中购得 龙与地下城 的授权 三年后 第一款A D D 设定的网络游戏 夜在绝冬城 N e v e r w i n t e rN i g h t s 诞生 这款游戏运营了若干年 尽管 所采用的图像技术陈旧不堪 但仅在它生命周期的最后一年 即1 9 9 6 年 它 就为A O L 带来了5 0 0 万美元的收益 1 9 9 1 年 s i e r r a 公司架设了世界上第一个专门用于网络游戏的服务平台 T h eS i e r r aN e t w o r k 后改名为I m a g i N a t i o nN e t w o r k 1 9 9 6 年被A O L 收购 这个平台有点类似于国内的联众游戏 它的第一个版本主要用于运行 棋牌游戏 当时的比尔 盖茨是一名狂热的桥牌手 在s i e r r aN e t w o r k 上拥 有自己的账号 且常常光顾 第二个版本加入了 叶塞伯斯的阴影 T h e s h a d o wo fY s e r b i u s 红色伯爵 R e dB a r o n 和 幻想空间 L e i s u r eS u i t L a r r yv e g a s 等功能更为复杂的网络游戏 当时s i e r r aN e t w o r k 的运营者 http www live in 西南交通大学硕士研究生学位论文第6 页 还曾同理查德 加利奥特联系 希望把开发中的 网络创世纪 搬到S i e r r a N e t w o r k 上 随后几年内 M P G N e t T E N E n g a g e 和帅l a y e r 等一批网络游 戏专用平台相继出现 三 第三代网络游戏 1 9 9 6 年至今 背景 越来越多的专业游戏开发商和发行商介入网络游戏 一个规模庞 大 分工明确的产业生态环境最终形成 人们开始认真思考网络游戏的设计 方法和经营方法 希望归纳出一套系统的理论基础 这是长久以来所一直缺 乏的 游戏特征 大型网络游戏 M M O G 的概念浮出水面 网络游戏不再 依托于单一的服务商和服务平台而存在 而是直接接入互联网 在全球范围 内形成了一个大一统的市场 商业模式 包月制被广泛接受 成为主流的计费方式 从而把网络游戏 带入了大众市场 第三代网络游戏始于1 9 9 6 年秋季 子午线5 9 的发布 这款游戏由 A r c h e t y p e 公司独立开发 A r c h e t y p e 公司的创建者为克姆斯兄弟 即将发售 的 模拟人生在线 的设计师迈克 塞勒斯和已被取消的 网络创世纪2 的设计师戴蒙 舒伯特都曾在这家公司工作过 子午线5 9 本应是一款划时代的作品 可惜发行商3 D 0 公司在决策过 程中出现了重大失误 在游戏的定价问题上举棋不定 面对 网络创世纪 这样强大的竞争对手 先机尽失 第一网络游戏 的头衔终被 网络创世 纪 夺走 网络创世纪 于1 9 9 7 年正式推出 用户人数很快即突破1 0 万大 关 子午线5 9 租 网络创世纪 均采用了包月的付费方式 而此前的网 络游戏绝大多数均是按小时或分钟计费 收费前通常会有一段时间的免费使 用期 采用包月制后 游戏运营商的首要经营目标已不再是放在如何让玩家 在游戏里付出更多的时间上 而是放在了如何保持并扩大游戏的用户群上 与目前国内众多网络游戏 捞一票即走 的心态相比 月卡 季度卡和年卡 等付费方式无疑更有利于网络游戏的长远发展 尽管从眼前来看 或许会失 去部分经济利益 网络创世纪 的成功加速了网络游戏产业链的形成 随着互联网的普 及以及越来越多的专业游戏公司的介入 网络游戏的市场规模迅速膨胀起来 这其中既有 无尽的任务 天堂 艾莎隆的召唤 和 亚瑟王的暗黑时 代 的成功 也有 网络创世纪2 银河私掠者在线 和 龙与地下城在 http www live in 西南交通大学硕士研究生学位论文第7 页 线 的被取消 一些传统的单机游戏开发商 如M a x i s w e s t w o o d 和暴雪等 也依托自己的品牌实力加入进来 模拟人生在线 远离地球 星球大战 星系 和 魔兽世界 等都是期待度很高的作品 而更重要的则是一批中小 开发商的涌现 它们在为网络游戏市场创造更丰富 更多样化的内容的同时 也为整个游戏业带来了不安定的泡沫因素 从游戏本身来看 第三代网络游戏这六年来更多的是在进化而没有任何 质的飞跃 这种进化更多的是体现在技术和横向层面的拓宽上 而未能向前 突破 大家也许都有这种感觉 尽管许多网络游戏的技术水准有了大幅的提 高 但其游戏性却停滞不前甚至有所倒退 网络创世纪 所取得的里程碑式 的成就至今没有人能够超越 在这种情况下 网络游戏市场的高速膨胀反倒 让人觉得有些反常 前面提到 在G D C2 0 0 2 上曾经举办了一场以 第三代网络游戏 为主题 的研讨会 然而与会者却并未对 第三代网络游戏 的定义加以明确界定 这一称谓实际只是一种虚指而已 从会上所讨论的内容来看 更多的是对如 何改进当前这一代网络游戏的建议 而没有任何革命的征兆 毕竟 这一代 网络游戏只存在了短短的几年时间 甚至尚未步入成熟 又何谈革命 尽管如此 这场研讨会还是给人以不少有益的启发 下面的这两个问题 将成为今后几年内网络游戏亟待解决豹课题 1 如何在保证网络世界的有序性的前提下 赋予玩家以更多的自由和权 力 众所周知 一个封闭的小环境可以由玩家实现自律 而一个数万人的大 环境根本不可能形成有效的自律 于是有人提出了创建一个 迪斯尼乐园 式的虚拟世界 这是一个拥有严格的游戏规则 受到严格控制的游戏环境 玩家只能在游戏中根据既定的规则去玩 去交流 而不能对这个世界做什么 改变 但这一想法与网络游戏所具有的开放性和交互性相违背 很多设计师 认为未来的网络游戏应该允许玩家自己动手创建 创建能够永久保存下来的 个性化的物品或是能对游戏世界产生有意义的影响的内容 这是提高玩家忠 诚度的最佳途径 不过由此带来的问题也很明显 例如玩家会不会利用手中 的权力生产出大量垃圾 会不会引发新的作弊手段等等 控制和放权 x http www live in http www live in 嚣枣交遘文学辕圭聚突擞学位论文 露9 炎 热还在游戏中增加了部分邋具以增强互幼感 国内大部分游戏平 均提供棋 牌类游戏功能 它有着开发周期短 开发难度低 嗣标市场较为成熟 潜在 謦场重大 运蘩成本攘对较低 嚣家中毒链较弱 黢获褥霹鼹委剩等特点 其它类网络游戏是措角色扮演类网络游戏 休闲动作类网络游戏和棋牌 寨词类游戏以外的所有网络游戏毫予灏泼癸类 1 京婵簸戒奇囊 蓁妻鋈萋季夔 5 蘸二薹餮l i l i 冀 羹羹 羹麓 蚕一薹鬟鬟薹蓠雾一巾塑蠢i 熏鬻 爨萌冀冀羹羹蘸曰蓁羹 t l l 鏊嚣i 薹囊雾錾薹鬟薹襄囊熏囊囊 鎏霎帅鲤叫塑F 瞬副窭f 皋暖隧 蟹嚣堇于爱暖雕副受羹箭驯斟室荆凳 礓溶叶国等前隧凰蒲稀拇 薹薹i 目 j j 崩诵罐灌1 游莉籼够辄羹薹 馥将醚筠 雾霉雨洳吓溺闭澜i F 酴呻彰剑赋影蕺遵漆 哩浠下载服务器由 客户自由选择 下载协议采用H T T P 或F T P协议下载 下载后进行安装 将游戏程序安 装到指定目录 创建程序组 在桌面上建立快捷图标 同时也支持代理服务器下载 可以使用S O C K S 代理或者H T T P 代理下 载 游戏下载时要检测版本 如果版本低于当前使用版本要提示升级 如果 版本不可使用 提示下载新版本 2 4 2 用户注册 http www live in 西南交通大学硕士研究生学位论文第l o 页 亿万富翁 但表面现象掩盖不了先天的不足和后天的弊端 用户需要长时间 地参与才能融入剧情并体验宏大的场景 这对很多人来说不太现实 同时盗 号 私服现象也屡禁不止 而此时韩国以N e t m a r b l e H a n g a m e P m 8 n g 三个 网站形成了一股新的游戏力量 开始开发和提供休闲游戏与游戏门户的社区服务 劐薛斟剥爱臻灌痞淄I 盏崔沲壤 噬岱她j 臻憎翰 硼 囊誊皑菱 薹蔷型蠹 i 羹羹誓蠢萎l 萋雾囊i 塞荠晴 国臻 窗蓄 圳i 蕈驻墅菲耸蛾嚣一醐蝴 大厅自逝 雌陪绩滋惯淮堆 鬼霜 l 筘在j 蠹茸萤翻 定龋画糯凇灌灌南萏副菇烈彰甄强璃嘤嚯帽点箍j 焉 瓣嚼慧漤曜1 斤点罐瞄名增准点堪灞蔓聋 午芹时甬用隋沪瑶碍僵蠹翟引可彰 陆毓i 鲕袖等 i 碉 器磐 入游戏大厅页面 2 服务器设置窗口 代理服务器设置窗口用于设置H T T P 代理地址 用于客户端通过代理登录 游戏大厅 界面上有代理服务器地址 代理服务器端口 确定 取消等控件 3 大厅页面 可分为广告区 功能区 游戏列表区 网页显示区 点击游戏列表区 的游戏房间 可进入房间页面 1 广告区 采用内嵌入一个C H 缸n l e w 窗口并通过H T T P 协议读取网 站上一个特定的广告页面来实现广告功能 通过更改网站上的页面和图片可 以实现更改广告内容 2 功能区 包括游戏主页 金币充值 游戏论坛 设置 帮助 退出 3 游戏列表区 以下拉列表形式显示大厅平台上的游戏及游戏当前的 在线人数 根目录显示游戏平台名称及总在线人数 一级目录显示分类游戏 名称及此类游戏总在线人数 比如牌类游戏 1 0 0 0 人 棋类游戏 5 0 0 人 名称及此类游戏总在线人数 比如牌类游戏 1000人 棋类游戏 500人 x http www live in http www live in http www live in http www live in 嚣囊交逶文擎鼷 毳 突生攀位论文繁 4 委 中心 中游 边锋等游戏平螽相比 i G a m e 模式中的W e b 所载模块的比重稍 大 或许这是谯韩国经过验诋的模式 假攀实证明此模式在中国市场效果并 不璞怒 著基i G a 壤e 已经开戆逐渗减少轷e b 爨承载戆游戏模块分曩 凌强8 l l e 已将游戏进入模块改为客户端模式 2 2 2 客户端模式简析 游戏丈厅袋建窖产溃模戏鼍获迁游戏大厅模块龚囊佬 表瑷氇瑟必事塞 游戏前 用户需要先下载客户端 这是一种一次性的步骤 安装成功后 自 动熙新系统将套帮助玩家保持最新版本 客户端模式W 以让玩家感受快捷 毽也犬丈减少了嚣家谤闯游戏专区豹次数 迮裁减少了专区内其它体系豹眈 璧戳及玩家在其他诸如 形象 家蠢 系统里的潜在消费祝会 2 3 网络游戏运行方式 网络游戏帮是采糟如下的方式运行 见圈2 一l 盟 媛 至l 坚 圈2 l 网络游戏交互图 1 有一个或多个游戏殿务器启动特定游戏鞭务 伞人 http www live in http www live in http www live in http www live in 西南交通大学硕士研究生学位论文第1 8 页 也可自己输入聊天信息发送到聊天区 2 4 5 网络游戏功能需求 当游戏用户登陆大厅选择进入游戏具体房间后 用户可以选定有空座位 的桌子坐下 如果桌子上有玩家设定了最低断线率 最低网速 不满足该条 件者不能入座 不想在该桌游戏可以单击自己头像即可离开 坐下后就可以 单击开始游戏按钮 如果桌子上4 个人都单击开始游戏 就会启动游戏客户 端 开始游戏 也可以选已经满的桌子 进行旁观游戏 旁观游戏时只可以看别人游戏 但不能操作 如果被旁观者不允许看牌 则无法看到旁观者的牌的情况 下面以网络斗地主游戏为例 介绍网络游戏步骤 1 开始对局 1 对局界面主区域为牌显示区 广告区 功能键 用户信息区 聊 天区 发送聊天区 2 功能键包括设置 帮助 退出等 2 自动发牌 系统随机的把5 2 张牌发到用户手中 3 叫地主阶段 按一定的规则进行用户叫地主 4 打牌阶段 根据不同的扑克规则进行程序运作 5 结算阶段 分出胜负 计算分数等 http www live in 西南交通大学硕士研究生学位论文第2 2 页 这样的模型便于增加可接收的用户数 只要增加游戏服务器就可以增加 用户数 另外 玩家选择新的服务器时可以使用在其他服务器中使用过的个 人数据 因此 在已经确保很多用户的网络游戏中 为了提供更高质量的服 务而增设服务器时 这种模型是常用的模型 图3 4 所示是服务器组的第2 个模型 在服务器组的第2 个模型中 有 关注册的信息 即I D 口令 交费等信息统一在注册数据库中处理 而其他 游戏有关数据在各自所属的游戏服务器的游戏数据库中处理 在这样的模型 中 玩家即使已经注册了自己的I D 但当转到其他服务器时 原来的个人数 据不能使用 需要从头玩游戏 这是这一模型的不足之处 但如果开发初期 就选择这样的模型 则可以根据用户的增长速度 适当地增加服务器组 自 然地把新加入的玩家引导到新的服务器上 可以在一定程度上缓解上述不足 滞簸 斗 瓣 鬻懋j 汁 K t 荪葫 j 避 I 藩菠i 蠡薅 蘸f 蕊嬉蔓0 1 游癌 良募嘉 s r 3 I mo 4 豫 誓4 图3 4 服务器组模型2 服务器组模型2 是在利用相对低价物理服务器 通过多加几个物理服务 器增加用户数量的情况下 常用的模型 最近几年来 随着计算机技术的飞 速发展 物理服务器的性价比得到了很大的提高 已经达到了通过多个服务 西南交通大学硕士研究生学位论文第2 3 页 器组给数万玩家提供高质量服务的水平 因而 最近约来越多的游戏服务器 组倾向于采用模型2 除以上模型之外 为了充分利用单个服务器组处理更多的玩家而使用的 模型是如图3 5 所示的模型 图3 5 服务器组模型3 在第3 个服务器模型中 实际的玩家数据的处理是一个单位 在其他的 模型中服务器是作为各自独立的游戏单元概念存在的 但在第3 个服务器组 模型中 使用了负责各自区域的服务器 z o n es e r v e r 概念 这是在在线 R P G 游戏中 把地图 m a p 划分成区域后 分给各个服务器 而这些服务器 负责本区域中玩家的游戏处理方式 在这样的模型中 为了保证所有玩家在统一的游戏单元中进行游戏 设 置了管理区域服务器的管理服务器 m a n a g e m e n ts e r v e r 通过这一管理服 务器 实现了不同区域之间的移动或与其他服务器中的玩家的通信等功能 在网络游戏的初期 不少游戏采用如图3 5 所示的模型 但该模型在结 构上存在问题 随着用户数的增加 即使增设区域服务器 也不能保证所有 的玩家均等分配在各个区域服务器上 比如说 以用户总数3 万为基准 设 置1 0 个区域服务器 假定每个区域服务器中分配3 0 0 0 名用户 服务开始初 期 因玩家的水平比较低 因此都集中在能力比较低的怪物多的区域中 即 西南交通大学硕士研究生学位论文第2 6 页 接传送 省略了在客户 服务器模型中数据经过服务器的阶段 因此 可以提 高数据传送速度 3 1 3 两种模型的对比 客户 服务器模型是集中式设计模式 现在商业M M O R P G 游戏大都采用 集中式设计模式 如网络游戏 传奇 等 基于集中式设计模式能很好的通 过位于中心的游戏服务器让所有玩家的客户端上的游戏状态都保持一致 但 所有的游戏数据都必须经过游戏服务器进行处理 所以游戏服务器往往成为 游戏整体系统性能提高的瓶颈 P 2 P 模型是分布式设计模式 采用分布式设计模式的游戏采用点对点的 通信模式 服务器端的负载较小 但没有S e r v e r 参与所有玩家数据的统一管 理 所有游戏客户端间的游戏状态的同步则变得异常复杂 一般游戏客户端 分组进行组内广播来同步 系统的整体性能受游戏客户端端硬件条件的限制 较大 其系统运行时的实时可靠性也相对差些 3 2 网络休闲游戏服务器模型的提出 根据网络休闲游戏多人在线同时游戏的特点 应该采用客户 服务器模型 进行程序开发 如图3 1 所示韵客户朋匣务器结构图 在图中的服务器并不是 单指一个物理服务器 也不单指一个服务器程序 而是 服务器组 也就 是说 网络游戏中的服务器是由多个物理服务器和对应的多个服务器程序来 构成的 因此 需要根据网络休闲游戏的特点 构建一个服务器组 本次设计的网络休闲游戏平台采用大厅模式 从大厅客户端登陆 大厅 分为多个游戏房间 每个房间有人员数量限制 可以通过增加房间来增加在 线人数 由于增加了大厅客户端 并且需要实时的显示大厅中的在线情况 所以前面分析的几种服务器组模型都不适合用于本次网络休闲服务器组的设 计 在总结各种服务器组模型的基础上 我们提出了本次网络休闲游戏的服 务器模型 一 如图3 8 所示的模型5 该模型由登录服务器 L o g i ns e r v e r 游戏 大厅服务器 G a m eH a l lS e r v e r 游戏逻辑服务器 G a m eL o g i cS e r v e r 西南交通大学硕士研究生学位论文第2 7 页 和数据库服务器 D BS e r v e r 组成 登录服务器负责用户登录验证等 游戏 大厅服务器负责向客户端发送在线人数 房间人数等 主要起到列目录功能 游戏逻辑服务器主要实现游戏相关逻辑 赣录服务器 f I 游戏火厅服务器游戏大厅服务器l 游戏太厅服务器 f 芝 篷 f 游戏服务器 r游戏服务器游戏服务器 一 嬉 一 图3 8 服务器组模型5 3 2 1 服务器组的组成 针对于任何单一的网络服务器程序 其可承受的同时连接数目是有理论 峰值的 通过c 中对T s o c k e t 的定义类型 w o r d 我们可以判定这个连 接理论峰值是6 5 5 3 5 也就是说 你的单个服务器程序 最多可以承受6 万 多的用户同时连接 但是 在实际应用中 能达到1 0 0 0 0 人的同时连接并能 保证正常的数据交换已经是很不容易了 通常这个值在2 0 0 0 到5 0 0 0 之间 但是要支持数以万计的用户同时在线游戏 这样的单服务器是无法实现的 因此 需要构建一个具有拓展性的服务器组 以实现大量用户同时在线的需 求 网络休闲游戏服务器组由不同类型的服务器组成 有以下几个类型的服 务器 1 登录服务器 L o g i nS e r v e r 西南交通大学硕士研究生学位论文第2 9 页 负载均衡机制 使得在有限处理能力的计算机硬件设备上最大程度的提升游 戏服务器机组的整体性能 通常 在设计游戏服务器程序时 会根据游戏服 务区 游戏地图等划分模式 把游戏服务器端的所有工作分摊到服务器机组 的各个具体的服务器节点上 由服务器节点执行相应的服务 3 3 网络休闲游戏服务器模型的架构 对上面我们提出的网络休闲游戏服务器模型 整个服务器构架模型的描 述如下 3 3 1 服务器与客户端的通信流程 1 由C l i e n t 向L o g i nS e r v e r 发送账号及密码等登录消息 L o g i nS e r v e r 根据校验结果返回相应信息 如果L o g i ns e r v e r 通过了c l i e n t 的验证 那 么它将通过验证的消息以及会话密钥放在G a m eH a nS e r v e r 也可以取到的地 方 总之 L o g i nS e r v e r 与G a m eH a l ls e r v e r 是可以共享这个校验成功消 息的 一旦C l i e n t 收到了L o g i ns e r v e r 返回成功校验的消息后 L o g i nS e r v e r 会主动断开与C l i e n t 的连接 以腾出s o c k e t 资源 2 C l i e n t 收到L o g i ns e r v e r 的校验成功等消息后 从本地保存有G a m e H a l lS e r v e r 信息的文件中读取G a m eH a l lS e r v e r 的I P 及P o r t 信息 c l i e n t 根据此信息连接上G a m eH a l lS e r v e r 并从G a eH a l ls e r v e r 读取房间目 录信息 此时 在大厅客户端表现为用户已进入大厅界面 用户可根据当前 各游戏房间人数 选择进入某个游戏房间 如果当前该游戏房间人数达到上 限 则G a m eL o g i cs e r v e r 会向c l i e n t 返回 房间已满员 提示信息 G 鲫e H a l ls e r v e r 接受了该玩家的登录消息 并向C l i e n t 发送目录消息完毕后 即断开与C l i e n t 的连接 以腾出s o c k e t 资源 在此后的时间里 C l i e n t 每 隔一定的时间会重新连接G a m eH a l ls e r v e r 并向其索要最新在线人数信息 3 c l i e n t 根据列出的房间列表 选择某个房间进入游戏 并不是给每一个 游戏房间都分配了一个单独的端口进行处理 多个游戏房间可以公用同一个 P 和P o r t 信息 也就是说这些房间 在游戏服务器上 是同一个程序在处理 比如 在斗地主一区 前十个房间 用的都是同一个邛和同一个P o r t 信息 他们是同一个游戏服务器程序在处理 如果我们设置每个游戏房间的人数上 限是3 0 0 那么单个游戏服务器程序的用户承载量是3 0 0 0 即一个游戏逻辑 西南交通大学硕士研究生学位论文第3 0 页 服务器程序最多可同时与3 0 0 0 个玩家保持T c P 连接 这样就能节省购买服 务器硬件资源的花费 实际上 一个单独的游戏服务器程序并不是仅仅管理 一个房间 它管理的房间数是可以更改配置文件进行设置的 包括每个房间 对应的游戏种类 每个房间可容纳的桌子数 每种游戏每桌人数 3 3 2 服务器间的通信流程 1 L o g i ns e r v e r 与G a m eH a l ls e r v e r 之前的通信问题 L o g i nS e r v e r 是负责用户验证的 验证通过之后 L o g i nS e r v e r 将验证通过的用户信息存 放在全局可访问的内存中 就是说所有的G a m eH a l ls e r v e r 都可以通过服务 器之间的数据包通信去获得这样的信息 2 G a m eH a l lS e r v e r 的各个房间的最新信息的取得 这个信息 是由G a m e L o g i cs e r v e r 向G a m eH a l lS e r v e r 发送定时消息得到的 3 L o g i ns e r v e r 在用户登录验证身份时会与D BS e r v e r 通信 以与数 据库核实用户资料的正确性 完 瞪录认证 4 G a m eL o g i cS e r v e r 与D Bs e r v e r 的通信 西南交通大学硕士研究生学位论文 第3 1 页 第4 章网络游戏网络通信技术 4 1 网络游戏中的网络协议 4 1 1 网络协议简介 网络协议 即网络中 包括互联网 传递 管理信息的一些规范 是网络 设备之间相互通信需要共同遵守 定的规则 常见的协议有 T c P m 协议 I P S P x 协议 N e t B E U I 协议等 在局域网中用得的比较多的是I P S P x 如果访问I n t e m e t 则必须使用T C P 口协议 另外 0 s I 参考模型提出了分层明确的框架 这里简单介绍一下这些协 议和模型 4 1 20 S I 参考模型 O S I 参考模型即开放系统互联参考模型 O s IR e f e r e n c eM o d e l l 即我们通 常所说的网络互联的七层框架 它是国际标准组织 I n t e m a t i o n a lO r g a n i z a t i o n f o rS t a n d a r d i z a l i o n 于1 9 7 7 年提出的标准 又称为I s o I E C7 4 9 8 或x 2 0 0 建 议 值得注意的是 O S I 并没有提供一个可以实现的方法 它不是一个标准 而只是一个制定标准时使用的概念性的框架 更不是一个网络协议 O S l 分为七层 其名字和功能分别如下 1 物理层 P h y s i c a lL a y e r 主要功能为定义了网络的物理结构 传输的 电磁标准 B 流的编码及网络的时间原则 如分时复用及分频复用 决定了 网络连接类型 端到端或多端连接 及物理拓扑结构 这一层主要负责实际的 信号传输 2 据链路层 D a t aL i I l kR e r i e w 在两个主机上建立数据链路连接 向物 理层传输数据信号 并对信号进行处理使之无差错并合理的传输 3 网络层 N e t w o r kL a y e r 主要负责路由 选择合适的路径 进行阻塞 控制等功能 4 传输层 T r a I l s f e r L a y e r 最关键的一层 向用户提供端到端 E n d t o E n d 西南交通大学颂士研究生学位论文笫3 2 页 通讯服务 它屏蔽了下层的数据遴信纲节 让用户投应用程廖不震婺考惑实 际的物理通信方法 s 会话层 S e s s i o nL a r 主要负责两个会话进程之间的通信 即两个会 话层实体之间的信息交换 管理数据的交换 6 表示层 P r e s e n t a t i o n L 哥 r 处理通信信母的寝示方法 进行不同的格 式之闻的翻译 并负责数据的加密解密 数据的压缩与诙复 7 疲焉层 鼬p l i c a t i o nL a y e f 傈持应丽程謦之间建立连接所需要盼数据 记录 受鼹户照务 在实现上 每一层郡憋本援掺议售怒终先售怠头疆e 懿e r 攘在上层话输豹 数据上 然厝向下层发出 最熙通过物理套质传输到对方主枧 对方圭机的 协议栈再逐层剥离本层的信息头 对数据进行处理 然骺把还原的数握发绘 上一层 逻辑上 主机的通信是层与层之间的通信 而在物理上是从上向下最后 通过物理信遵到对方圭杌褥飙下向上传输 4 1 3 网络游戏的通信传输结构 应用层 连接建立 断开 发送暂装数攒龟 接受封装数精包 辩装数据色 读 气 传输层 鹾缩 如密 缓狰嚣 袈秘绫计数撼 T C P 可靠传输 U D p 不可靠传输 图4 1 两络游戏的通倍传输 西南交通大学硕士研究生学位论文 第3 6 页 序中 以后应用程序就可以调用所请求的S o c k e t 库中的其它s o c k e t 函数了 该函数执行成功后返回O 2 w S A C l e a n u p 函数 i n tw S A C l e a n u p v o i d 应用程序在完成对请求的S o c k e t 库的使用后 要调用w s A C l e a n u p 函数 来解除与s o c k e t 库的绑定并且释放s o c k e t 库所占用的系统资源 3 s o c k e t 函数 S O C K E Ts o c k e t i n ta f i n tt y p e i n tp r o t o c 0 1 应用程序调用s o c k e t 函数来创建一个能够进行网络通信的套接字 第一 个参数指定应用程序使用的通信协议的协议族 对于T c P I P 协议族 该参数 置P FI N E T 第二个参数指定要创建的套接字类型 流套接字类型为s o c k S T R E A M 数据报套接字类型为S 0 c K D G R A M 第三个参数指定应用程序所使 用的通信协议 该函数如果调用成功就返回新创建的套接字的描述符 如果 失败就返回I N V A L I D s o C K E T 套接字描述符是一个整数类型的值 每个进 程的进程空间里都有 个套接字描述符表 该表中存放着套接字描述符和套 接字数据结构的对应关系 该表申有一个字段存放新创建的套接字的描述符 另一个字段存放套接字数据结构的地址 因此根据套接字描述符就可以找到 其对应的套接字数据结构 每个进程在自己的进程空间里都有一个套接字描 述符表但是套接字数据结构都是在操作系统的内核缓冲里 4 C l o s e S o c k e t 函数 i n tc l o s e s o c k e t S O C K E Ts c l o s e s o c k e t 函数用来关闭一个描述符为s 的套接字 由于每个进程中 都有一个套接字描述符表 表中的每个套接字描述符都对应了一个位于操作 系统缓冲区中的套接字数据结构 因此有可能有几个套接字描述符指向同一 个套接字数据结构 套接字数据结构中专门有一个字段存放该结构的被引用 次数 即有多少个套接字描述符指 x 西南交通大学硕士研究生学位论文第3 9 贸 其中8 浊一 霎薹 冉 霪 l 客 f l 目 i 掣聋戮羹营ji i 终髓n 地非携 霞H 妫一嚣r 鹾强l 一 妻 t 嘴泼i 8 疆蘼 g 町 j 可泓逢群 豁梨矗 翻拍鞭黼 g 曰一曛碳 i 鞠塑磊霎 静漩堑i l 平衔的作用 z j j i 儡 磐鑫露嚣篓慧器螬J i i 墨 嵩蟊町躺钟幽娶捕翎妨 呻噬谚隋堰旧椎 名称 每个游戏房间对 应的游戏种类 每个房间可容纳的桌子数 每种游戏每桌人数 游戏下载连 接地址以及其它如游戏帮助文件U R L 的信息 从界面上看的话 大厅服务器 就是我们输入用户名和密码并校验通过后进入的游戏房间列表界面 大厅服 务器 主要有以下功能 一是向当前玩家广播各个游戏房间在线人数信息 二是提供游戏的舨本以及下载地址信息 三是提供各个游戏房间服务器的连 接口和端口信息 四是提供游戏帮助的I J l 也信息 五是提供其它游戏辅助 功能 但在这众多的功能中 有一点是最为核心的 即 为玩家提供进入具 体的游戏房间的通道 让玩家顺利进入其欲进入的游戏房间 玩家根据各个 游戏房间在线人数 判定自己进入哪一个房间 然后双击服务器列表中的某 个游戏房间后玩家开始进入游戏房间服务器 3 游戏逻辑服务器 G 锄eL 0 9 i cS e n e r 具体地说就是如 斗地主l 斗地主2 这样的游戏房间 游戏房间服务 器才是具体的负责执行游戏相关逻辑的服务器 这样的游戏逻辑分为两大类 一类是通用的游戏房间逻辑 如 进入房间 离开房间 进入桌子 离开桌 子以及在房间内说话等 第二类是游戏桌子逻辑 这个就是各种不同类型游 戏的主要区别之处了 比如斗地主中的叫地主或不叫地主的逻辑等 当然 游戏桌子逻辑里也包括有通用的各个游戏里都存在的游戏逻辑 比如在桌子 内说话等 总之 游戏房间服务器才是真正负责执行游戏具体逻辑的服务器 4 数据库服务器 D BS e r v e r 数据库服务器是游戏逻辑服务器G a m eL o g i cs e r v e r 与S Q L 数据库连接 的桥梁 执行具体的数据库访问逻辑 并将结果返回的服务器 3 2 2 分布式服务器机组的负载平衡 在多人在线网络游戏的游戏服务器设计中 为提高整个游戏服务器机组 的整体性能和 x 蘑南蜜遵大学硕士研究生学位论窝 第4 0 丽 客户糨序调用c o n n e c t 函数浆使寓户s o c k e ts 与监听于n a m e 所指定的 诗算枢瓣特定端强上黪服务S k e t 送行连接 魏暴连接威璐 n n e e t 返圈 0 西南交通大学硕士研究生学位论文第4 4 页 正常返回N 说明有N 个待处理套接口描述字存在 进入步骤 4 4 使用F D J S s ET 判断哪些套接口有什么样的待处理I O 操作 对 F D I S S E T 宏操作返回非0 值的套接口进行相应的I O 操作 全部处理完毕 后 根据需要 返回步骤 1 重新进行s e l e c t 的相关调用或者退出 图5 一ls e l e c t 模型的应用过程 这里主要讨论了s e l e c t 模型在网络通信中的应用 是基于平台可移植性 的考虑 因为s e l e c t 是来源于U n i x 操作系统 而w i n s o c k 是借鉴U I l i x 下的 s o c k e t 套接字而来 由于w i n s o c k l 1 向后兼容于B e r k e l e y 套接字实施方案 所有假如有一个B e r k e l e y 套接字应用使用了s e l e c t 函数 那么从理论角度 讲 毋需对其进行任何修改 便可正常运行 当然由于w i n d o w s 和U n i x 操 作系统的不同 程序的头文件还必须修改 5 1 2 其他模型 5 1 2 1w s A A s y n c S e l e c t 模型 最早的w i n d o w s 自己的I 0 模型就是w s 从s y n c S e l e c t 模型 与s e l e c t 函数一样 因为这个模型的中心是W S A A s y n c s e l e c t 函数 因此它也以此函数 命名 西南交遇大学硕士研究生学位论文第4 5 戮 w s A A s y n c s e l e c t 模型怒一个异步r O 模型 通过该模型应用程序可以接收以 疆i n d o 释s 瀵感受基磁懿弼络事锌遴翔 它戆丞数声暖懿下 i n w S A A s y n c S e l e c t S O C K E Ts H W N Dh W n d u n s i g n e d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025下半年电新行业供给回归有序需求韧性较好静待周期复苏
- 直播电商主播在2025年的粉丝互动与营销策略研究报告
- 老年教育课程设置改革与2025年体验式教学方法应用分析报告
- 2025年农村一二三产业融合发展的农村电商与农业品牌建设报告
- 2025年文化旅游演艺项目季节性运营与市场策略报告
- 2025年成人教育终身学习平台运营中的品牌建设与市场推广报告
- 汽车轻量化材料在汽车底盘减重中的技术创新报告
- 汽车行业2025年供应链风险管理与企业风险管理策略优化方案报告
- 汽车共享平台2025年运营模式转型与用户行为重构报告
- 2025年远程医疗服务在分级诊疗中的远程医疗技术与设备研发与创新报告
- 浙江省绍兴市诸暨市2023-2024学年五年级下学期期末数学试卷
- 重庆市大足县2023-2024学年四年级数学第二学期期末联考试题含解析
- 煤矿调度智能化培训课件
- 基于PLC的啤酒发酵自动控制系统
- 重庆市沙坪坝区2022-2023学年八年级下学期期末英语试题
- 思辨与创新智慧树知到期末考试答案章节答案2024年复旦大学
- 手术室-标准侧卧位摆放
- (正式版)JBT 9229-2024 剪叉式升降工作平台
- 合伙人退出协议书
- (高清版)DZT 0208-2020 矿产地质勘查规范 金属砂矿类
- 2024年春江苏开放大学先进制造技术第一次过程性考核作业答案
评论
0/150
提交评论