首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

再谈游戏服务器架构

一、服务器划分原则 在现有的网络游戏服务器架构中,多是以功能和场景来划分服务器结构的。负载均衡和集群暂且不在本文中讨论(bigworld、atlas)。...在同一个服务器架构下,应尽可能的复用某些服务器(进程级别的复用,比如场景服务器)。 运行时玩家数据的保存、修改及数据流向应该是设计的焦点,它同时也决定了服务器应该如何划分。...接下来我们来看看云风的服务器架构是如何处理好以上几点的。 ?...图1 服务器架构(此图为本人猜测,可能有误) 二、运行时的玩家数据 网络游戏服务器程序一项重要的工作就是根据client发过来的数据包,在服务器端模拟玩家的行为操作并把这些行为广播出去。...三、服务器底层框架skynet skynet的设计思想见《Skynet 设计综述》: 我希望我们的游戏服务器(但 skynet 不仅限于用于游戏服务器)能够充分利用多核优势,将不同的业务放在独立的执行环境中处理

4.3K131

游戏服务器架构概要

声明:本文内容源自腾讯游戏学院程序公开课_服务器第二节 一、服务器架构概念解析 1,什么是“服务器架构” 对服务器软件&硬件&运行的一体化规划 框架结构:分层分块。...二、案例讲解:分布式服务架构设计演讲——MMORPG(大型多人在线角色扮演)《轩辕传奇》 服务器架构_分区多世界 1,运营视角 世界与世界是隔离的 世界之间的互通方式:跨服、转服、合服 ?...轩辕服务器为什么要这么多进程和机器_多维度切分 1,分区多世界原型v1 一个大区包含多台物理机 一台物理机仅运营一个游戏世界 一个游戏世界对应一个游戏进程 问题:跨世界共享的功能?...5,分区多世界原型v2 cluster级服务:整个游戏一组 world级服务:每个游戏世界一组 各组服均包含接入、逻辑、存储(DB/DR/LOG分离) 6,继续分离公共服 公共服 分离“服务器列表”、“...目录服务 账号服务与账号登撸 角色登录 游戏过程 运营支持 脏字过滤 验证码 五、参考资料 让我们谈谈游戏服务器开发(上) 游戏服务器架构演进(完整版) 六、感受 本次课程中有句话使我印象很深刻:最重要的不是看结果

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

棋牌游戏服务器架构: 总体设计

首先要说明的是, 这个棋牌游戏服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。...这个架构延续了网狐棋牌在网络组件所作的努力,这个棋牌的服务器也使用异步IO作为网络的工作方式,更为彻底的是其数据库也是采用异步架构。..., 图1是总体架构图。从图上我们看到服务器的整体架构分为三层:Libraries, Core和Applications。...图1 棋牌游戏服务器端总架构 Libraries 主要由4个库组成,其中boost::thread是一个跨平台的线程库,boost::asio是跨平台的异步IO库,protobuf则是用来序列化服务器和客户端协议的...玩家在进行游戏时,由于输赢的关系,他的积分或者游戏币会随着变化,为了记录这些变化, 需要与GameDB进行交互。

2.2K90

棋牌游戏服务器架构: 总体设计

首先要说明的是, 这个棋牌游戏服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。...这个架构延续了网狐棋牌在网络组件所作的努力,这个棋牌的服务器也使用异步IO作为网络的工作方式,更为彻底的是其数据库也是采用异步架构。..., 图1是总体架构图。从图上我们看到服务器的整体架构分为三层:Libraries, Core和Applications。...图1 棋牌游戏服务器端总架构 Libraries 主要由4个库组成,其中boost::thread是一个跨平台的线程库,boost::asio是跨平台的异步IO库,protobuf则是用来序列化服务器和客户端协议的...玩家在进行游戏时,由于输赢的关系,他的积分或者游戏币会随着变化,为了记录这些变化, 需要与GameDB进行交互。

2.5K71

游戏服务器之多进程架构通信

游戏服务器有时需要分多个进程来处理各种负载。多个进程之间的连接处理就相对复杂了。 1、服务器进程类型 (1)登陆服务器 创建账号,检验角色账号,选择和获取并返回网关信息。...(2)网关服务器 创建角色,转发消息。会有网关角色,和相关的屏信息,用于广播。 (3)场景服务器 处理场景(分线或不分线的)、副本的游戏逻辑。 (4)社会关系服务器 处理社交相关的全区的逻辑。...(6)中心服务器 处理内部服务器之间的消息转发,和某些转发流程控制。 (7)其他服务器 还有些日志服务器、连接php(gm)服务器、跨服战服务器、聊天服务器等。...、被动连接相关 被动连接线程池 (1)验证线程 (1-1)检查验证超时、验证发来消息的服务器id和服务器ip(服务器之间,依靠中心服务器发来的依赖服务器列表) (1-2)验证账号和临时id和账号...如场景进程需要主动连接中心服务器、社会关系服务器、网关服务器、日志服务器、数据库服务器,所以分别各自要另起连接线程。

1.8K50

棋牌游戏服务器架构: 总体设计

首先要说明的是, 这个棋牌游戏服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。...这个架构延续了网狐棋牌在网络组件所作的努力,这个棋牌的服务器也使用异步IO作为网络的工作方式,更为彻底的是其数据库也是采用异步架构。..., 图1是总体架构图。从图上我们看到服务器的整体架构分为三层:Libraries, Core和Applications。...图1 棋牌游戏服务器端总架构 Libraries 主要由4个库组成,其中boost::thread是一个跨平台的线程库,boost::asio是跨平台的异步IO库,protobuf则是用来序列化服务器和客户端协议的...玩家在进行游戏时,由于输赢的关系,他的积分或者游戏币会随着变化,为了记录这些变化, 需要与GameDB进行交互。

4.6K70

游戏服务器架构演化史pdf_分布式游戏服务器

随着游戏内容的越来越复杂,架构变得越来越吃不消了,各种负载问题慢慢浮上水面,于是有了我们的第二代游戏服务器。...确实有成功游戏使用类似这样的架构,并且发挥了它的性能优势,比如一些大型 MMORPG。...又由于动态负载均衡的引入,让无缝服务器如虎添翼,容纳着超过上一代游戏服务器数倍的人数上限,并提供了更好的游戏体验,我们称其为第三代游戏服务端架构。...类型7:休闲游戏服务器 休闲游戏同战网服务器类似,都是全区架构,不同的是有房间服务器,还有具体的游戏服务器游戏主体不再以玩家 P2P进行,而是连接到专门的游戏服务器处理: 和战网一样的全区架构...全区架构下,为了应对一个用户同时玩几个游戏,用户数据需要区分基本数据和不同的游戏数据,而游戏数据又需要区分积分数据、和文档数据。

95020

什么是云游戏服务器?云游戏服务器架构存在哪些挑战?

游戏服务器架构存在哪些挑战?...什么是云游戏服务器游戏服务器这个概念非常简单易懂,也就是直接把相应的游戏放到云服务器上去运行,并把游戏的音效和画面的通过流通的形式再传输到终端,在终端上就不用安装游戏了,可以直接畅玩,终端包括很多种类型...云游戏服务器架构存在哪些挑战 1、实时性挑战。游戏需要实时性,因为游戏整体包括逻辑运算的时间和画面渲染的时间,如果无法达到实时性的话,那么就可能会出现音画不同步等问题。 2、经济性挑战。...如果云游戏服务器架构的成本较高的话,就无法大规模推行,可能会导致该模式无法成功商业化。 3、运维管理挑战。...以上为大家介绍了云游戏服务器架构有哪些挑战,虽然云游戏服务器解决了大多数人对游戏的需求,但是目前语音游戏服务器架构还是存在诸多挑战的,需要一一解决,在解决了这些挑战后,云游戏服务器能够带给用户更佳的游戏体验

1.6K40

经典游戏服务器架构概述(上)

架构的分析模型 一、 讨论的背景 现代电子游戏,基本上都会使用一定的网络功能。从验证正版,到多人交互等等,都需要架设一些专用的服务器,以及编写在服务器上的程序。...因此,游戏服务器端软件的架构,本质上也是游戏服务器这个特定领域的软件架构。 软件架构的分析,可以通过不同的层面入手。...网络带宽直接限制了服务器的处理能力,所以游戏服务器架构也必定要考虑这个因素。 对于游戏服务器架构设计来说,最重要的是利用游戏产品的需求约束,从而优化出对此特定功能最合适的“时-空”架构。...[图-游戏服务器的分析模型] 三、 核心的三个架构 基于上述的分析模型,对于游戏服务端架构,最重要的三个部分就是,如何使用CPU、内存、网卡的设计: 内存架构:主要决定服务器如何使用内存,以保证尽量少的内存泄漏的可能...本文的讨论,也主要是集中于对以上三个架构的分析。 四、 游戏服务器模型的进化历程 最早的游戏服务器是比较简单的,如UO《网络创世纪》的服务端一张3.5寸软盘就能存下。

2.7K70

经典游戏服务器架构概述 (2)

接上篇 经典游戏服务器架构概述(1)。 全服分线模型 一....最普通的情况下,在扩容和容灾的时候,首先需要通知所有玩家下线,把内存中的状态数据写入持久化数据进程;然后根据需要的配置,把持久化数据重新“搬迁”到新的变化后的服务器上。...由于游戏的数据,真正变化频繁的,往往不是“关键”的需要安全保障数据,如玩家的位置、玩家在某次战斗中的HP、子弹怪物的位置等等。而那些非常重要的数据,如等级、装备,又变化的不频繁。...首先是其使用的便利性,因为游戏的数据结构变化非常频繁,如果要很繁琐的配置数据结构,则不会适合游戏开发;其次是要能提供近似本地内存的性能,由于游戏服务器逻辑基本上都是在频繁的读写某一特定数据块,如玩家位置...我热切的希望能看到,可以用一套SDK,开发或重用那些成型的业务模版,然后动态注册到服务云中就能运行,这样一种游戏服务器架构

5.6K30

12 经典游戏服务器架构概述

因此,游戏服务器端软件的架构,本质上也是游戏服务器这个特定领域的软件架构。 软件架构的分析,可以通过不同的层面入手。...网络带宽直接限制了服务器的处理能力,所以游戏服务器架构也必定要考虑这个因素。 对于游戏服务器架构设计来说,最重要的是利用游戏产品的需求约束,从而优化出对此特定功能最合适的“时-空”架构。...游戏的特点是业务逻辑变化很多,导致协议修改的工作量非常大。因此我们除了直接使用TCP/IP socket以外,还有很多其他的方案可以尝试。 ?...由于游戏的数据,真正变化频繁的,往往不是“关键”的需要安全保障数据,如玩家的位置、玩家在某次战斗中的HP、子弹怪物的位置等等。而那些非常重要的数据,如等级、装备,又变化的不频繁。...首先是其使用的便利性,因为游戏的数据结构变化非常频繁,如果要很繁琐的配置数据结构,则不会适合游戏开发;其次是要能提供近似本地内存的性能,由于游戏服务器逻辑基本上都是在频繁的读写某一特定数据块,如玩家位置

7.6K91

经典游戏服务器架构概述 (1)

因此,游戏服务器端软件的架构,本质上也是游戏服务器这个特定领域的软件架构。 软件架构的分析,可以通过不同的层面入手。...网络带宽直接限制了服务器的处理能力,所以游戏服务器架构也必定要考虑这个因素。 对于游戏服务器架构设计来说,最重要的是利用游戏产品的需求约束,从而优化出对此特定功能最合适的“时-空”架构。...,由于业务流程变化非常快,几经修改后的系统,几乎没有人能完全掌握其内容。...但是游戏业务往往需要用到的数据结构非常多,变化非常大,这导致了内存管理的风险很高。为了比较彻底的解决内存漏洞的问题,很多团队采用了预先分配内存的结构。...游戏的特点是业务逻辑变化很多,导致协议修改的工作量非常大。因此我们除了直接使用TCP/IP socket以外,还有很多其他的方案可以尝试。 [图:TCP通讯] 2 .

7.1K41

经典游戏服务器架构概述(下)

经典游戏服务器架构概述(下) 今天将详细说明全服分线模型和全服全线模型,正文如下: 1全服分线模型 一、模型描述 由于多进程服务器模型的发展,游戏开发者们首先发现,由于游戏业务的特点,那些需要持久化的数据...最普通的情况下,在扩容和容灾的时候,首先需要通知所有玩家下线,把内存中的状态数据写入持久化数据进程;然后根据需要的配置,把持久化数据重新“搬迁”到新的变化后的服务器上。...由于游戏的数据,真正变化频繁的,往往不是“关键”的需要安全保障数据,如玩家的位置、玩家在某次战斗中的HP、子弹怪物的位置等等。而那些非常重要的数据,如等级、装备,又变化的不频繁。...首先是其使用的便利性,因为游戏的数据结构变化非常频繁,如果要很繁琐的配置数据结构,则不会适合游戏开发;其次是要能提供近似本地内存的性能,由于游戏服务器逻辑基本上都是在频繁的读写某一特定数据块,如玩家位置...所以这样一套可以运行各种业务逻辑模版的底层架构,正是游戏服务端架构发展的方向。

2.4K60

游戏服务器架构演进(完整版)

‍‍‍‍‍ 本文阅读预计需要10分钟,主要技术点来如下,感兴趣请继‍‍续: ‍ 游戏服务器特征 短连接游戏服务器架构 长链接游戏服务器架构 分区分服服务器架构 MMOARPG服务器架构 房间服务器架构...网络带宽直接限制了服务器的处理能力,所以游戏服务器架构也必定要考虑这个因素。...2 游戏服务器架构要素 对于游戏服务端架构,最重要的三个部分就是,如何使用CPU、内存、网卡的设计: 内存架构:主要决定服务器如何使用内存,以最大化利用服务器端内存来提高承载量,降低服务延迟。...3 服务器演化进程 1 卡牌等休闲游戏弱交互游戏 服务器基于游戏类型不同,所采用的架构也有所不同,我们先讲一下简单的模型,采用http通信模式架构服务器: 这种服务器架构和我们常用的web服务器架构差不多...通过这种类型服务器架构,因为压力分散了,性能会有明显提升,负载也更大了,包括目前一些大型的 MMORPG游戏就是采用此架构

4.7K31

Unity3D-游戏开发移动端网络游戏服务器架构

强联网的游戏,主要是指对游戏数据实时性要求比较高的联网游戏,比如MMORPG,ARPG等。 要求客户端与服务器之间进行实时通信。...在这里主要是跟大家讨论一下如何架设具有负载均衡的游戏服务器,对于游戏服务器开发,自然而然就会涉及到分区,跨服,并服等需求,针对这些需求我们该如何去架设服务器? 首先我们先绘制出游戏服务器分布图: ?...通过上图,我们可以看出,服务器之间的数据交换,该游戏服务器主要是由LoginServer,GateSever,GameServer,DBServer,CenterServer组成 负载均衡主要是通过,GateServer...上图显示的只是软件的服务器架构,不是硬件的,意思是说,上面的布局可以在一台硬件服务器上配置完毕,也可以在多台服务器上配置,他们之间的配置是通过配置表完成的,样式如下: ?...服务器架构一般都是这个样子。

2.3K20

适应现代变化的数据架构

数据架构在能够支持传统BI的同时,也要意识到需要逐渐的适应现代化项目需求。 现代化数据架构设计方法 毫无疑问,数据架构必须改变。它必须适应大数据、分析和自助服务的时代。...传统数据仓库和BI架构已经不能很好地满足许多企业创新发展的需求,每一个变化——大数据、分析和自助服务——都是一个巨大潜力和挑战的组合,把它们组合在一起便形成了一个机会丰富、极其复杂的环境。...我们必须使用现代化数据架构,一个优秀的架构能够管理数据复杂性的同时也能够避勉造成混乱。那么,什么是现代化数据架构以及如何设计现代化数据架构?...现代化分析架构和传统架构相比,存在几个比较明显的变化: 从线性数据流和工作流到多向数据流和迭代工作流 从结构化企业数据到企业及外部结构化和非结构化数据 从批处理和数据延迟到批处理、流和实时处理,满足分析数据的时效性要求...很少有组织能够在未成熟的领域应用现代化分析方法,大部分组织仍保留着传统BI和数据仓库架构。一个务实的架构在能够适应过去(以蓝色显示)的同时,也能够更好的支撑未来(橙色显示)不断变化的现代化需求。

84470

7 QQ游戏百万人同时在线服务器架构实现

在构建好了基本的完成端口服务器之后,就是有关服务器组的架构设计了。之所以说这是一个服务器组,是因为它绝不仅仅只是一台服务器,也绝不仅仅是只有一种类型的服务器。...大厅服务器,主要有以下功能: 一是向当前玩家广播各个游戏房间在线人数信息; 二是提供游戏的版本以及下载地址信息; 三是提供各个游戏房间服务器的连接IP和端口信息; 四是提供游戏帮助的URL信息; 五是提供其它游戏辅助功能...玩家根据各个游戏房间在线人数,判定自己进入哪一个房间,然后双击服务器列表中的某个游戏房间后玩家开始进入游戏房间服务器。.../ 3 / 游戏房间服务器:具体地说就是如“斗地主1”,“斗地主2”这样的游戏房间。游戏房间服务器才是具体的负责执行游戏相关逻辑的服务器。...总之,游戏房间服务器才是真正负责执行游戏具体逻辑的服务器

2.9K21

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券