作者简介:裵铉稷,韩国Nettention公司首席执行官,毕业于韩国延世大学计算机工程与科学专业,自1995年开始在职于游戏公司,开发项目主要有《兔子和乌龟3D》、《Menticide拳击游戏》、《奥兹世界》、《Blitz1941》、Game Programming Gemstone5,7、ProudNet等。其所开发的游戏服务器引擎ProudNet是韩国唯一一个自主研发的游戏服务器引擎,并且已在很多游戏项目中运用。使用ProudNet的主要游戏有:《洛奇英雄传》、《魔界村Online》、《颓废之心》、《Moon Wolf》、《S4超特攻联盟》、《仙境传说2》等。
第一部:游戏服务器的定义
在线游戏当中,如果有‘在线’则一定会跟随‘游戏服务器’。但关于游戏服务器却并没有什么较好的评价,在致歉文中最常见的单词也是‘服务器’。游戏进行不畅时也会经常说是‘服务器不稳定’,如果存在卡壳现象首先责怪的也必定会是服务器。那现在就开始了解一下这个话题多毛病也多的,但又具有重量及存在感的服务器吧!什么是游戏服务器? 我们可以大致将服务器分类为‘主机(Host)游戏服务器’和‘专用(Dedicated)游戏服务器’。 主机游戏服务器是指,在购买一个游戏后直接运行游戏中的游戏服务器并与他人一起进行游戏的程序。在Package游戏当中可以看见这种游戏服务器。 而在专用服务器,游戏玩家无法直接在自己的电脑上运行服务器,而是由游戏制作商运行游戏服务器。专用服务器可以承载比主机服务器更多的同时在线人数,少至数十名多至数百万名可以同时进行游戏。游戏制作商保留专用服务器,因此无论是在技术上还是在法律上,游戏玩家直接运行游戏服务器是不可能的。 主机游戏服务器只在Package游戏当中,而专用游戏服务器是在在线游戏当中。笔者在此会将专用游戏服务器统称为游戏服务器。 在Package游戏当中运行的游戏程序主要有输入,处理游戏Logic,呈现三种作用。输入是指用户利用鼠标或键盘将命令输入到电脑上的行为。处理游戏Logic是指模拟电脑当中发生的游戏空间环境的行为。呈现是指将游戏空间及游戏World呈现到画面和音响上的行为。 如在RPG游戏当中为移动我的魔法师角色在画面中点击鼠标右键的行为称为输入,此时移动魔法师角色被称为处理游戏Logic,展现魔法师优美背影则被称为呈现。 即只要有一台电脑便可以进行游戏是Package游戏的特点。
但如果要进行在线游戏则需要首先下载并安装‘游戏客户端’,但只有客户端也不能直接进行游戏,电脑首先要联网,之后还要连接到游戏服务器。 ‘在线游戏’不会只有一人进行游戏,它需要与连接到网络的其他玩家一同冒险一同竞争,所以我们称其为多人游戏。但如果要与他人进行游戏则在中间需要有一个管理游戏进程的程序,这便是‘游戏服务器’。 如果在Package游戏当中是由一台电脑处理输入,处理游戏Logic,呈现功能,那么在在线游戏当中其功能被分割为服务器和客户端。游戏客户端负责输入和呈现,游戏服务器负责处理游戏Logic的一部分功能。这也是没有连接游戏服务器便无法进行游戏的原因。 即,在线游戏当中游戏服务器所发挥的作用就如同我们的大脑,虽在表面上看不出来,但如果没有服务器就等于是死。
在线游戏与Package游戏不同,几乎没有非法复制的可能性,其原因之一便是如果没有游戏服务器游戏将无法运行。反之,如果游戏服务器一旦被公开,那在线游戏也会与Package游戏一样,非法复制会变得非常简单。游戏开发商之所以将游戏服务器视为1级保安部分也在于此。 Package游戏即便死机也只有玩家一人会感到激愤,但如果游戏服务器一旦出现死机现象则会有全世界数千数万的玩家同时感到激愤。因此在游戏服务器中最重要的第一是稳定,第二也是稳定,第三还是稳定。