当前课程知识点:游戏程序设计 > 第二章 《游戏服务器概述 》 > 2.2 游戏服务器的和分类发展 > 2.2 游戏服务器的和分类发展
那么
游戏服务器的在介绍服务器分类和发展
前面可能terry老师也介绍过一些
游戏的发展
我们这边主要是倾向于网络游戏发展史
最早就是应该是七十年代末的时候
最早的是文字MUD
和那个UNIX网络同步出现的
后面再九八十年代末到九十年代初的时候
还是有些像《红警》还算晚一点
这种样式沙丘
魔兽二这些局网网连接的游戏动
然后再象diablo(暗黑破坏神)战网应该是九十年代末
之后就95年到98年之间吧
具体我不太清楚
休闲游戏的联众是在两千年左右
金山在97年的时候出了一款
比较有名的剑侠情缘礼盒
RPG类游戏
它是单机版的
然后在030509年后面分别出版了
这个见性的网络版
网络1代现在最后的09年是网络剑3
是应该是最成功的
一个金山的一个最成功的一个产品
传奇应该是两千年左右
也是两千年左右登录的中国
最值得介绍一下
应该可能大概比较熟悉
可能前面有些游戏
你们可能还没有怎么接触过
但是魔兽世界应该是
不得不可避开的一个话题
然后后面在两千年
两千年06年到10年
都那几人开始手游就开始兴起了
然后DOTA(刀塔)传奇
是我们腾讯的一个内部员工出去创业
莉莉丝创业的
做了一个比较成功的一个手游产品
后面一些休闲的纪念碑谷
次元文化的网易文化的阴阳师
到moba对战的王者荣耀这个项目
说起来
我们是曾经跟它做了一个对抗的一个项目
叫全民超神
不知道大家听说过没有
只是在最后是王者荣耀胜出了
我们看一下第一代的游戏服务器
那么第一代游戏服务器呢
它其实比较简单的使用一些
单进程单线程模型
就是服务器一个进程单线程无阻塞
从玩家接触到玩家的消息后
把它按照一个消息队列来进行序列化
一步的序列化 异步
然后反正单进程单线程模式响应
然后这个单线程服务器原型模型呢
就最早的应该是类似像
78年的MUD游戏
那个之前像清华的BBS
清华BBS也有一些MUD早期
在它直接其实就使用的终端模拟程序
telnet这些方面可以登录
然后
主要采用一些文字叙述的方式就进场景后
服务器告诉你
你在什么场景你有什么数据
然后和其他交互
然后玩家输一些指令
不知道大家见过没有
现在应该北大好像侠客行
好像都还至今有几百人在线的样子
承载能力的限制
这种MUD在当年是承载能力
单服有一定的
因为它虽然没有很强的逻辑
但是因为它的整个架构比较简单
承载能力还是比较低的
然后在第二代游戏服务器
为了增加并发就发展了很多那种在服务端
这一端也有成了多线程多进程的一些模型
然后本身在逻辑结构上
开始增加了分区分幅的节奏
那么比较典型的
典型游戏人第一个是
1997年的这个Ultima Online
因为它是中文名
叫创世纪
EA下面一个公司推出的
在97年推出的
但是它是世界上第一款
图形界面的大型多人在线游戏
也算是开创了一个历史
它在北美
欧洲
东亚还有大洋洲
这些都不属于服务器
但是唯一的遗憾的就是
始终没有进入过中国大陆
然后连带休闲游戏棋牌室
在两千元左右推出的
然后他们的结果其实就表明是因为当时
联众地方电信运营商合作联通
联通电信的这些
在地方电信
建设搭建的这种游戏服务器
南方电信一,北方联通一
还有刚才有些类型
它就是典型的这种分区分符合身份限制的
这种游戏服务器架构
那么第三代游戏服务器呢
就相对来说更百花齐放一些
那我们看第一种
第一种是属于
叫我把在第二代游戏服务器上的发展
它就把实现三层架构吗
当时比较推崇的这种分离
第一个呢
就是Gate svr会去负责这种连接的部分
相对来说
这些可能你们的作业不会涉及到这些
因为相对做到这种复杂的游戏服务的话
还是
还是会要求高了一些
所以先听一下就好了
第一个Gate svr它会负责
作为所有玩家的游戏连接
主要处理网络的L部分
然后Gate Svr通过内部的一个网络
IDC那个装网跟游戏逻辑服务器向交互
最后把用户数据的存储
放到DB这一层 DB server这一层
以前的服务器可能很多次结合一起
你有可能只是把存储分离
然后
专门的类似mysql
或者一些当时流行的数据库进行做存储
它的主要特点就是说把网络
和存储这个IO跟逻辑分离
这样可以对每一层进行扩展
一般负载的瓶颈大部分会在这一层
这层可以做更多的扩展
而支持一个单区单服增加承载的能力
QQGame是这种是比较典型的
这种架构的
代表然后它当时是腾讯
其实在程序是首款自研的游戏产品
在2003年推出
最高的应该是到过八百多万人在线
PC端的时候
是很恐怖的一个数据就很快就超越了联众
其实现在在这个休闲棋牌市场上
已经绝对的领先
那么
第三代服务器
第二种类型的就是服务器集群的那种类型
这是比较简单的示意图
比如说它前面也是有Gate
我命名它为Gate
其实是属于接入类的
接入类服务它会处理内网连接
然后在游戏world在里面去处理游戏逻辑
然后但它会把一些通用的逻辑
和功用而把它抽取出来
比如说管理类聊天
还有比如交易类
还有类似一些组队
还有一些类似现在常见的网络游戏
常见的工会
这东西把这个逻辑抽取出来
放到一个独立的地方
然后在上面cluster集群的方式提供这种游戏服务
这种大部分的MMORPG的游戏会断掉线啦
RPG都大部分是这种结构
它们的特点那就说
因为这种
采用这种分组以后的
有些其实它的以前那些同步的逻辑
就直接本地调用一个函数
处理组队处理工会
会变到另外一个服务器上
中间肯定就多了一些异步的交互
把同步变成异步交互
异步交互
就会存在一些状态的维护这些困难
这相对来说开发难度会更高一些
比较有代表性的
就像最早期的名人册传奇
是一个经典的MMO
盛大引进的韩国的一个代理商游戏
腾讯在2005年受自研的第一款
QQ幻想
当时应该最高是做到六十万左右在线
它是Q版卡通类的那种RPG
QQ华夏是在07年是深圳网域公司开发的
然后腾讯当时曾经做过代理
这款游戏
07年开始运行是我自己玩的比较久了
一款RPG
那么第三代服务器
还有第三种就是无缝地图类型的
这个最大的代表就是那个魔兽世界
相对于那种以前传奇类的
它做切换地图的时候
前段会有明显的卡顿,loading然后
进入一个什么loading界面
然后无缝地图的特点就是在客户端
可能看到这个地图
一直在跑一直都存在的加载
它的特点的就是它的一个场景服务器
只负责一部分场景
然后玩家其实没有看看到这种加载过程
但是他在某些边界时候
可能还是就会存在两个场景服务器上
然后有一个更高层的
一个world级的服务器来管理
它们说谁的服务器来做这个决策
其实
它在边界地处边界切换的时候
是有两个场景
服务器共同持有这个玩家的数据
这样玩家就没有那么明显的感觉到切换
这个最典型代表就是魔兽世界
然后一些这个big world的大引擎
也是现在这种无缝地图技术
然后最后一种服务器架构
现在就是房间性的
这种是比较
常见的很多游戏类型都会用这种模式
这个图有点小
不知道看不看得清
我讲解一下
中间这部分是一个我们叫做大厅集群
它的大厅集群
主要也是负责的前面gate
和游戏服务器
负责用户的接入
做主要的逻辑处理
还有一些大厅的一些服务
比如说匹配像王者荣耀和英雄联盟
你们5v5
就当有多少玩家
同时其申请进游戏的时候
它会挑出根据它的规则
比如说王者荣耀
那个英雄联盟能挑出它的等级分
最接近的撮合两个队伍难度等级分
相对比较接近
它会稍后把这个
单局的过程叫做战斗集群
也叫房间服务
就这个一个单局的服务
就存放到这边战斗群
然后这个战斗结群
可能会做一个分布
比如说像之前的向南
北方的联通
南方的电信
这种对用户来说做一个就近的接入
还有可能
比如 PUBG mobile
它们在大厅集群是放在北美
那个在北美
亚洲
欧洲都有放战斗集群
方便各地的用户都可以接入网
这种模型的游戏就比较多
上那个
类似英雄联盟是在09年腾讯代理
那个美国Roit Game开发的
然后现在也是被腾讯全职收购了
那个应该都是你们耳熟能详的
英雄联盟把电竞这个产业推到了一个
比较高的高度
王者荣耀
这个是18年我们光子做的
绝地求生那个手游版
最早是叫刺激战场
刺激战场也是
历史最高的一个在线
也是创造一个游戏史上的一个数据
就是我们最高接近一千四百万吧
同时在线
应该是跟王者荣耀差不多的数据
现在因为版权的那个国家限韩令原因
版权原因现在叫做和平精英
-1. 1什么是游戏(上)
--选择题
-1.2 什么是游戏(下)
--选择题
-1.3 游戏是如何开发出来的
-1.4 游戏引擎(上)
-1.5 游戏引擎(下)
--单选题
-1.6 如何成为一个游戏开发者
--多选题
-2.1 什么是游戏服务器
--单选题
-2.2 游戏服务器的和分类发展
--单选题
-2.3 核心技术和实现难点
--单选题
-2.4 设计原理与方法论
--单选题
-3.1 三维坐标系统
--多选题
-3.2 向量与运算
--单选题
-3.3 矩阵与线性变换
--双选题
-3.4 四元数
--3.4 四元数
--多选题
-4.1 游戏循环概述(上)
--多选题
-4.2 游戏循环概述(下)
--单选题
-4.3 《无尽之路》的实现
--单选题
-4.4 支撑游戏的功能
--选择题
-4.5 支撑游戏的机制与系统
--多选题
-5.1 基本介绍
--5.1 基本介绍
--单选题
-5.2 随机数生成器
--单选题
-5.3 随机数分布与应用
--单选题
-6.1 什么是游戏玩法开发
--单选题
-6.2 建立愿景 Vision
--单选题
-6.3 划定边界 Scope
-6.4 迭代 Iteration
--单选题
-6.5 迭代 Iteration+抛光Polish
--单选题
-7.1实时图形渲染管道 宏观渲染系统
--单选题
-7.2实时图形渲染管道 应用阶段
--单选题
-7.3实时图形渲染管道 几何阶段
--单选题
-7.4实时图形渲染管道 光栅化阶段
--单选题
-7.5实时图形渲染管道 总结 参考
-8.1 物理回顾1
--单选题
-8.2 物理回顾2
--单选题
-8.3 材质 1
--8.3 材质 1
-8.4 材质 2
--8.4 材质 2
-8.5 材质3
--8.5 材质3
-8.6局部光照
--8.6局部光照
--单选题
-8.7 全局光照
--8.7 全局光照
--单选题
-9.1 动画介绍
--9.1 动画介绍
--多选题
-9.2 游戏动画介绍
-9.3 动画技术类型
--多选题
-9.4 骨骼蒙皮动画
--多选题
-9.5 动画流水线
--多选题
-9.6 动画前沿趋势
--多选题
-10.1 .基本概念
--多选题
-10.2 设计目标
--多选题
-10.3 传输数据分析
--多选题
-10.4 常用同步方案 1
-10.4 常用同步方案 2
-10.4 常用同步方案 3
-10.4 常用同步方案 4
--多选题
-10.5 方案对比
--多选题
-11.1 基本图元
--单选题
-11.2 图元距离(上)
--单选题
-11.2 图元距离(下)
--单选题
-11.3 图元相交测试+ 其他几何方法
--单选题
-12.1 著名物理引擎介绍
--单选题
-12.2 物理引擎原理(上)
--单选题
-12.3 物理引擎原理(下)
--单选题
-12.4 游戏中的物理体
--单选题
-12.5 物理引擎使用入门
--单选题
-13.1开发语言
--13.1开发语言
--单选题
-13.2 开发环境
--单选题
-13.3 腾讯开发组件介绍
--单选题
-13.4 网络通信+业务框架介绍
--多选题
-14.1 进程间通信(上)
-14.2 进程间通信(下)
-14.3 通信格式
-14.4 并发模型
-14.5 超时处理
-14.6 大系统小做(上)
--多选题
-14.7 大系统小做(下)
-14.8 架构层面的技术支持(上)
--单选题
-14.9 架构层面的技术支持(下)
-14.10 分布系统的关键能力
--多选题
-15.1 游戏人工智能综述
-15.2 人工智能在游戏中主要方法 上
--多选题
-15.3人工智能在游戏中主要方法 (下)
-15.4 人工智能在游戏制作中的应用领域1
--多选题
-15.5 人工智能在游戏制作中的应用领域2
-15.6 人工智能在游戏制作中的应用领域3
--多选题
-15.7 人工智能在游戏运营中的应用实践(上)
-15.8 人工智能在游戏运营中的应用实践(下)
--多选题
-16.1 游戏支撑系统(1)
--单选题
-16.2 游戏支撑系统(2)
--单选题
-16.3 游戏支撑系统(3)
--单选题
-16.4 游戏支撑系统(4)
--单选题
-16.5 游戏支撑系统(5)
-17.1 游戏逻辑服务器(上)
--单选题
-17.1 游戏逻辑服务器(下)
-17.2 外挂与反外挂(上)
-17.2 外挂与反外挂(下)
--多选题
-18.1运行环境
--18.1运行环境
--多选题
-18.2物理部署
--18.2物理部署
--多选题
-18.3系统的可运维性
--多选题
-18.4运维案列分析
--多选题







