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等作为网络连接的传输层。
分享到:
相关推荐
《mina mmorpg服务端源码解析》 在游戏开发领域,尤其是大型多人在线角色扮演游戏(MMORPG)的设计与实现中,服务端源码扮演着至关重要的角色。"mina mmorpg服务端源码"是一个专注于游戏服务器端开发的项目,其核心...
《某MMORPG手机网络游戏的服务端源码》 在当今的数字娱乐产业中,手机网络游戏已经成为了一股不可忽视的力量,而MMORPG(大型多人在线角色扮演游戏)更是其中的翘楚。本资源提供的是某款MMORPG手机网络游戏的服务端...
根据提供的文件信息,下面将详细介绍关于标题“StendHal---一个开源的MMORPG游戏”的相关知识点。由于描述部分内容为空,故知识点的总结将基于标题和部分内容。 StendHal是一个开源的大型多人在线角色扮演游戏...
《MMORPG页游全套源码》是一款具备极高商业价值的游戏开发资源,它涵盖了前端、后端以及数据库等完整的游戏开发架构。此源码已经成功应用于五款不同的线上项目,为四家游戏公司带来了丰厚的收益,证明了其稳定性和可...
本篇将深入探讨Skynet在MMORPG游戏开发中的应用,通过分析提供的"skynet mmorpg"案例代码,揭示其核心技术和设计思路。 首先,Skynet是基于C语言编写的游戏服务器框架,由李学凌创建,最初用于其公司多玩游戏的...
### MMORPG服务器架构知识点详解 #### 一、MMORPG服务器架构概述 MMORPG(大型多人在线角色扮演游戏)因其复杂的多人交互特性,在服务器架构设计上有着极高的要求。随着技术的发展,MMORPG服务器架构经历了从单一...
在IT行业中,游戏开发是一项复杂而充满挑战的任务,特别是针对MMORPG(大型多人在线角色扮演游戏)类型的游戏。Flash-MMORPG游戏引擎及工具的开发旨在提供一个高效、灵活且易用的平台,帮助开发者构建出引人入胜的...
TrinityCore是一个强大的开源项目,专门用于构建大型多人在线角色扮演游戏(MMORPG)的服务器端。它的核心是用C++编程语言编写的,这使得它在性能和效率方面表现出色,能够处理大量的并发玩家连接。该项目的目标是为...
《MMORPG游戏论文》是一份深入探讨大型多人在线角色扮演游戏(MMORPG)的学术文献,通过对游戏设计、玩家行为、社会影响等多个方面的分析,揭示了此类游戏的复杂性和影响力。这篇论文的修改版本已达到4500字,表明...
【MMORPG测试流程纲要】是针对大型多人在线角色扮演游戏(Massively Multiplayer Online Role-Playing Game)的测试规范,旨在确保游戏的质量和稳定性。测试流程涵盖了从客户端的准备到各种游戏功能的全面验证,以下...
《MMORPG游戏论文 - 检测-论文.doc》这篇文档主要探讨的是大型多人在线角色扮演游戏(MMORPG)的相关领域,其中包括游戏设计、玩家行为、社区动态以及技术检测等多个方面。MMORPG作为网络游戏的一种重要类型,其独特...
在构建大型多人在线角色扮演游戏(MMORPG)服务器端架构时,设计和开发的目标是至关重要的。首先,高稳定性是核心需求,确保服务器能够长时间无故障运行,以满足玩家不间断的游戏体验。高适应性意味着服务器需要应对...
Silverlight MMORPG网页游戏源码 引言 英雄的故事将要谢幕,似乎每段传奇都该有个华丽的结局。于是我打算用全新的魔法、炫酷的特效和再一次的重构为这期教程画上句号;虽然依旧伴随着一些客观因素导致的瑕疵,然而...
《C++实现的经典MMORPG游戏代码解析》 在编程世界中,MMORPG(大型多人在线角色扮演游戏)是一种复杂且极具挑战性的游戏类型。利用C++这一强大而灵活的编程语言来设计MMORPG,可以充分利用其高效性、面向对象特性和...
在本文中,我们将深入探讨C#游戏编程,特别是与大型多人在线角色扮演游戏(MMORPG)相关的技术,以及如何利用C#创建游戏引擎。首先,我们来看看C#语言在游戏开发中的重要性。 C#是一种现代、面向对象的编程语言,...
网络游戏市场的发展趋势和技术进步为MMORPG(大型多人在线角色扮演游戏)带来了不断增长的用户群体和对更复杂游戏世界的需求。在这些游戏中,玩家在一个虚拟世界中漫游,进行探索、战斗和社交活动,而这个虚拟世界的...
【MMORPG数值策划的设计架构】是游戏策划中至关重要的环节,主要负责构建游戏的数值体系,确保游戏的稳定性和可玩性。数值策划在游戏设计初期的角色是模型建立者,需要对游戏设计概要和系统分析有深入理解。本文重点...
Silverlight-MMORPG游戏引擎源码 这里要说明的,此完成度约50%的2D-ARPG游戏引擎存在地图未切割、多线程未优化、算法未优化、无寻路等诸多毛病, 总结原因是架构上一开始就存在着问题,因此我不打算对其再进行完善...
《Unity3D与PhotonServer构建MMORPG游戏详解》 Unity3D,作为一款强大的跨平台游戏开发引擎,被广泛应用于各种类型的游戏制作,包括大型多人在线角色扮演游戏(MMORPG)。这款引擎以其直观的可视化编辑器、高效的...
### 3D跟随视角MMORPG核心操作及相关设置选项整理 #### 一、3D跟随视角MMORPG概述 3D跟随视角大型多人在线角色扮演游戏(MMORPG)是一种以三维图形技术构建的游戏环境,允许大量玩家在线互动。这类游戏通常具备...