`
KC008
  • 浏览: 28716 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

(转载)深入剖析MMORPG游戏服务器端的设计

阅读更多

http://doc.linuxpk.com/19596.html

 

MMORPG不同于其它的局域网的网络游戏,它是一个面向整个Internet的连接人数过万的网络游戏,因此他的服务器端设计则极为重要

  服务器的基本设置

  在大型网络游戏里,通常设计为C/S结构,客户端不再对数据进行逻辑处理,而只是一个收发装置,从玩家那里接受到操作信息,然后反馈给服务器,再由服务器进行处理后发回客户端,经客户端通过图形化处理,给玩家呈现出一个缤纷的游戏世界。

  

  登陆服务器

  在这里也可以称之为连接服务器,网络游戏的客户端一般是连接到这里,然后再由该连接服务器根据不同的需要,把游戏消息转发给其它相应的服务器(逻辑和地图服务器)也因为它是客户端直接连接的对象,它同时也负担了验证客户身份的工作。

  地图服务器

  在这里也可以称之为连续事件服务器。在这个服务器里要处理的对象(玩家)所做的动作都是一个连续事件。例如玩家从A点移动到B点,这样一个动作,需要一定的时间进行移动,因此说移动是一个连续事件。

  逻辑服务器

  在这里可以称之为瞬时事件服务器,在这个服务器里,处理对象(玩家)所做的动作均可以在非常断时间内完成完成。例如玩家从商店购买一瓶药书,当玩家确认购买后,服务器先扣除玩家的游戏币,然后再把相应的药水瓶加入玩家的背包里。这2个操作对于服务器来说,只是2个数字的加减,计算完这两个数字的加减,这个事件就可以结束了。因此,我们可以说这个事件是一个瞬时事件

  服务器组的改进

  不过在实际应用的过程中,游戏服务器的结构要比上面所说的3种服务结构要复杂些,不过也都是在这3种最基本的服务器架构下进行扩充,扩充的主要是其它辅助功能。在实际应用里可能增加的2种服务器,数据库服务器,计费服务器,由逻辑服务器独立出来的聊天服务器。

  

  数据库服务器

  数据库服务器其实就是专门利用一台服务器进行数据库的读写操作。这点特别是在大型的网络游戏里尤为重要。因为在大型网络游戏里,要处理玩家的数据量非常大,如果不利用专门的服务器进行处理,很有可能会拖累这个服务器组。

  计费服务器

  通常在商业的网络游戏里出现,用于记录玩家在线的时间,给收费提供依据,同时也是整个服务器组里最重要的部分,一旦出现问题,运营商就不用赚钱了。

  聊天服务器

  在游戏里的聊天功能是属于一种瞬时动作,理论上是放在逻辑服务器里进行处理。不过在大型网络游戏里,因为这个部分功能与游戏里的其它部分联系并不紧密,因此可以独立出来做一个功能服务器。

  服务器的集群设置

  在大型游戏的应用过程中,实际需要处理的玩家数量可能过万,一台普通的服务器是无法完成所要完成的工作,因此,在实际应用的时候,通常是由一组多台服务器共同完成一个功能。

  例如地图服务器,可以根据需要,把游戏里所有的地域进行划分,划分为N个区域,然后让这一个区域里发生的事件都用一个特定的服务器进行处理。这样做的目的是减少一个服务器所承担的计算量,把整个系统组成一个分布式的网络。

  不过这样做的同时会造成一个麻烦:当一位玩家从区域1,移动到区域2。这个时候,就必须先在服务器1里把玩家删除,然后再在区域2里加入玩家。同时需要由服务器1向服务器2转移玩家的数据信息(因为服务器组在工作的时候,玩家的信息只能保存在当前所在区域的服务器里),也就是说一旦玩家发生服务器间区域移动,服务器端就不可避免的造成数据通讯。因为这种移动并不是有规律的,玩家所在的服务器都有可能到达其它服务器。这样,如果服务器组里有N台地图服务器,那么,每个服务器都可能向其它N-1台服务器产生连接,总共就可能产生N×N个连接。如此数量连接如果只是使用普通的socket设计,就很有可能会给服务器通讯间的各种问题所困扰,为此,在商业网络游戏的服务器之间,通常都使用成熟的第三方的通讯中间件,如ACE,ICE等作为网络连接的传输层。

  

 

 

读后感:

从来没有做过 Game 开发,不清楚 Game Server 是怎么规划和部署

 

 

 

 

 

分享到:
评论

相关推荐

    MMORPG游戏服务器端的设计.doc

    【MMORPG游戏服务器端设计】是网络游戏开发中的核心部分,涉及到玩家的实时交互、数据同步、游戏逻辑处理等多个方面。以下将详细阐述MMORPG游戏服务器端设计的关键知识点: 1. **服务器角色与功能**: - **同步**...

    MMORPG服务器端架构和设计.ppt

    MMORPG服务器端架构和设计 后端设计

    MMORPG服务器端架构和设计

    其次,低系统配置要求意味着服务器端设计应尽可能高效,能够在较低的硬件资源下运行,降低运营成本。低学习曲线则意味着系统的可维护性和易用性要高,便于开发团队理解和维护。高性能是MMORPG服务器端的另一个关键...

    基于c#+mysql编写的mmorpg游戏服务器.zip

    基于c#+mysql编写的mmorpg游戏服务器.zip基于c#+mysql编写的mmorpg游戏服务器.zip基于c#+mysql编写的mmorpg游戏服务器.zip基于c#+mysql编写的mmorpg游戏服务器.zip基于c#+mysql编写的mmorpg游戏服务器.zip基于c#+...

    Unity3D开发的MMORPG游戏服务器和客户端源码

    Unity3D开发的MMORPG游戏服务器和客户端 Unity3D开发的MMORPG游戏服务器和客户端源码,服务端是用PhotonServer开发,全部解压后900多mb。 所以请不要商用,仅限学习使用

    Unity3D开发的MMORPG游戏服务器和客户端.rar

    学生可以通过这个项目深入理解游戏开发的全貌,包括游戏逻辑设计、3D建模、动画系统、网络编程以及服务器架构等多方面知识。同时,这也能锻炼团队协作和项目管理能力,因为大型游戏项目往往需要多人协同开发。 在...

    基于c#+mysql编写的mmorpg游戏服务器

    c 基于c#+mysql编写的mmorpg游戏服务器 基于c#+mysql编写的mmorpg游戏服务器 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。

    mmorpg游戏平衡性设计

    在MMORPG游戏设计中,数据库分析至关重要,它帮助开发者理解不同元素间的相互影响。模块化设计有助于分离和优化各个部分,如角色类、职业类、技能和装备类,便于独立调整和测试。 **游戏的可玩性与数值设计** 游戏...

    人工智能-项目实践-C#-基于c#+mysql编写的mmorpg游戏服务器.zip

    在本项目实践中,我们探索了如何使用C#编程语言与MySQL数据库系统来构建一个大型多人在线角色扮演游戏(MMORPG)的游戏服务器。这个项目的核心是利用C#的高效性能和易用性,结合MySQL的强大数据存储能力,搭建出稳定...

    经典代码设计的 简单MMORPG游戏_C++_代码_下载

    综上所述,C++实现的简单MMORPG游戏涉及到的知识点广泛且深入,包括面向对象设计、网络编程、多线程、数据库交互、图形渲染、物理模拟、脚本集成、资源管理、游戏逻辑以及调试优化等。理解并掌握这些知识点对于开发...

    cpp-TrinityCore是一个开源的MMORPG游戏框架

    TrinityCore是一个强大的开源项目,专门用于构建大型多人在线角色扮演游戏(MMORPG)的服务器端。它的核心是用C++编程语言编写的,这使得它在性能和效率方面表现出色,能够处理大量的并发玩家连接。该项目的目标是为...

    MMORPG游戏论文 - 已改4.5k-论文.zip

    《MMORPG游戏论文》是一份深入探讨大型多人在线角色扮演游戏(MMORPG)的学术文献,通过对游戏设计、玩家行为、社会影响等多个方面的分析,揭示了此类游戏的复杂性和影响力。这篇论文的修改版本已达到4500字,表明...

    遗迹UO完整-服务器端(附傻瓜说明书)

    《遗迹UO完整-服务器端(附傻瓜说明书)》是一款专门为玩家打造的网络游戏服务器端软件,主要用于运行和管理“遗迹UO”游戏。在这个压缩包中,包含了运行UO服务器所需的所有核心组件和详细的操作指南,使得即便是...

    网页MMORPG游戏设计与实现中若干关键技术的应用研究

    ### 网页MMORPG游戏设计与实现中若干关键技术的应用研究 #### 一、引言 随着互联网技术的快速发展,网页游戏作为一种新兴的游戏形式,以其便捷性、易用性和跨平台特性受到广大用户的欢迎。其中,大型多人在线角色...

    StendHal---一个开源的MMORPG游戏

    MMORPG是一种游戏类型,它允许成千上万的玩家在一个持续的虚拟世界中进行交互,该虚拟世界由复杂的游戏服务器进行管理。MMORPG游戏的特点包括角色扮演、持续的世界、与大量其他玩家的互动以及复杂的游戏机制。...

    UO2.0服务器端

    《UO2.0服务器端:开启你的网络游戏世界》 UO,全称为"Ultima Online",是一款经典的大型多人在线角色扮演游戏(MMORPG),自1997年发布以来,一直受到众多玩家的喜爱。UO2.0是游戏的一个重要版本,它在原版的基础...

    一种可扩展的MMORPG网游分布式服务器架构方案.pdf

    由于这类游戏需要支持大量在线玩家的同时互动,因此对服务器的设计和架构提出了极高的要求。本文档所介绍的“一种可扩展的MMORPG网游分布式服务器架构方案”,正是为了应对这些挑战而提出的。 文档首先分析了MMORPG...

Global site tag (gtag.js) - Google Analytics