Dota2:漫谈服务器——我现在只想好好看场比赛

Dota2:漫谈服务器——我现在只想好好看场比赛,第1张

震惊!某 游戏 奖金上亿赛事观战竟卡成PPT,周六无法开启 游戏 ,玩家们竟这样说

适应了!

不得不以一个UC式的开头来吐槽笔者上周末的遭遇,笔者与久未相见的朋友兴冲冲地准备开个两人黑,但朋友受不了反复出现的老问题,扭头玩起了更老的 游戏 DNF。

作为一名经验丰富且久经考验的dota2战士,我熟知各类紧急抢救 *** 作,随意试玩机器人模式可以解决这个老问题,可我朋友只是个周末玩家而已。

为什么我的眼里常含泪水,只因为我对这服务器恨得深沉,当我死了,我一定要带走这垃圾服务器。爱从来不需要理由,就像诗人艾青对祖国深沉的爱一样与生俱来。但恨却比爱显得更加感情激烈,可以有没来由的爱,却从来没有无来由的恨。

我真的无奈于这服务器,无法直面这惨淡的周末时光。

一 CALL ME DAD

为什么服务器是爸爸,对,说的就是你,Dota2的服务器。

The Server is the Man!

其实,早在上世界九十年代,国外的 游戏 爱好者便开始搭建服务器提供收费 游戏 服务,是最早的 游戏 开发商,运行商和获利者。

但对早年的国内大部分 游戏 玩家而言,服务器或者说另类的主机是一个较为虚幻的概念,大部分的 游戏 只能称之为联网 游戏 ,或者干脆就是简单的联机 游戏 ,真正让大家对于服务器拥有概念的是大型网络 游戏 ”(MMOG)的浮出水面,使得 游戏 直接联入互联网,激发了大家强烈的互动情绪。

诸多即时战略 游戏 的出现更是加深了这一认知。

我想要和别人一起玩,

这成为玩家心中的呼声。

正是在这股思潮的鼓动之下,使得多人在线 游戏 成为了大家心中的宠儿,自然包括我们的dota。在2005年,601版发布不久, IceFrog成为dota主要的地图程序员,负责包括 游戏 的执行和平衡的测试在内的任何工作。

在2003年《魔兽争霸III:冰封王座》之后,暴雪公司正式宣布了《魔兽世界》的开发计划,之前就已经秘密开发了数年之久。魔兽世界于2004年年中在北美公开测试,2004年11月开始在美国发行,中国大陆亦已于2005年6月正式收费运营。

服务器这一概念才开始深入人心,普通玩家才开始走进服务器。

服务器正是为了解决大型多人在线 游戏 产生的诸多问题而生,而延迟,或者说网络同步正是它要解决的问题之一。

在虚拟世界中,保证 游戏 的一致性是一个基本前提。通俗的说就是虚拟世界中的事实,当多人玩家一起玩 游戏 时,看上去他们确实像是在共享同一个虚拟世界,在同一个世界中游玩。比如在一个FPS 游戏 中,大家的延迟都很高,A、B两个玩家同时发现了对方,并向对方射击,如果没有很好的同步机制,那么A的屏幕上显示B还没有开q就被击杀,而B的屏幕上显示A还没有开q就被击杀,这就出现了不一致的问提。

OK,这让我们回到开头,让我们来了解为什么dota2的服务器是玩家们的爸爸,而在dota1中我们却很少遇到卡顿情况,反而碰到的大多是挂比们。

原因是两者采取的处理延迟的方式不一样而已,他们采用了不同的 游戏 同步模式。一个是帧同步,另一个是状态同步。当然实际应用下来很复杂,这里只是简单介绍而已。

其实在早期的DOTA或者说WAR3中,严格意义上是没有服务器这一概念的,类似的只有主机这一说法,但主机并不满足服务器这一严格定义。在这里感谢来源于网上的与相关资料,只做引用,以向大众简单介绍为主。

什么是帧同步

一般War3/星际等采用,基于指令驱动各个客户端自计算逻辑。服务端只管分发指令,每个客户端根据完整的规则运算整个战场。

简单来说,就是所有的事自己管,所有的数据都有自己的数据完成,网络传输的仅仅是指令而已,既是玩家的 *** 作指令,由自己的电脑完成计算并呈现出来,具体下来。其实你只是在看一场由自己计算机演算好的视频而已。

这样对网的要求仅仅只是稳定而已,它并不需要巨大的流量,你的电脑将会自己计算完成一切,自然作弊也很简单,数据处理几乎由你自己完成,哪里不能作弊开挂呢

那什么是状态同步

大部分MMORPG的主要实现方式,具体下来,服务器负责计算大部分的 游戏 过程,并且转送这些计算的结果,客户端仅仅负责发送玩家的 *** 作,以及表现收到的 游戏 结果。服务器是一个运行 游戏 的专用主机,用于裁定世界模拟, 游戏 规则,玩家输入处理。客户端是一个连接到 游戏 服务器的计算机。客户端和服务器之间,通过相互以高频率发送小数据包来交互。客户端从服务器接收到世界的当前状态,并且根据这些状态更新,生成输出视频、音频内容,进而呈现在玩家面前。

简单来说,对于我们的电脑而言,上面的dota2客户端虽然也承担 游戏 逻辑的模拟,只处理些不太重要的逻辑计算。因此更像是素材收集库,大号的电视机,显示器。我们只知道我们自己的事,其他的东西全在服务器身上。

1 网络完善状态好,不仅要稳定还要快速

因为服务器和客户端需要进行所有的数据交互和同步,导致网络流量大。所以涉及到的网络问题一旦发生波动,不管是哪一方,影响都特别巨大。

2 服务器压力大,卡顿时直接闪现

前文中已经提到,服务器负责处理大部分的 游戏 逻辑计算,因此,大部分的 游戏 处理过程都是由服务器完成,再将数据传送回客户端呈现,因此服务器出了一点问题,直接导致我们的体验很差,直接GG。

3 地狱火问题,单位数量越多越卡

这只是一个小问题,笔者早年曾经遇到过,单位越多同步的数据量越大,当单位越多时,往往会越卡,本来尚能接受的 游戏 流畅程度瞬间下滑。早年服务器脆弱时,几乎很清楚可以看见这个问题,几个地狱火一砸,卡顿明显,现在基本已经消失。

正是如此导致网络延迟处理起来特别的麻烦,即使是专业人员也得花时间来排除,然而这并不能成为理由。

二 完美和V社的糊涂账

完美的支持者说,明明先登国外协调服务器,红字完美可不背锅,再说了,国际服有时不也登不上嘛,国际间网络影响啦。

V社的支持者说,国服可比外服崩的常见多了,再说了,每周六的必卡,不定期卡顿,这个锅也能放到V社身上

争吵无益于解决任何问题。

结果一团乱麻,受伤的只有想玩 游戏 的我们。

作为拥有这个星球最高 游戏 奖金赛事的dota2,实在不应该如此没有牌面,很显然的一点,当年这款用户成熟度极高,赛事层出不穷的顶级 游戏 产品,始终没有迎来如同当年一样灿烂的未来。

很难想象,这是一款几乎与英雄联盟同时推出的 游戏 ,作为继任者的dota2,最正版毫无争议的完成品,但是在用户的数量上,从一开始DOTA与《英雄联盟》在用户上的并驾齐驱,到了后来《英雄联盟》完完全全的甩开了“继承者”的DOTA2。

从 游戏 人数上来说,dota2并没有完成它转化老玩家和吸引新玩家的 历史 使命,在这两项大考上都交出了不及格的答卷,建立于辉煌之上却最终只能偏距一隅。笔者很幸运也是2012就能接触玩到dota2,但一直一来体验真的糟糕,多少次满怀期待却因为服务器最终无奈GG,最终在13年ti3结束才最终得以享受流畅的 游戏 ,真的是一把辛酸泪。

V社和完美可以称得上是天生的合作者,各怀心思,却又不谋而合。

完美试图通过对dota2的支持完成自身电竞版图的构成,在电竞这一未来大势面前发出自己的声音,真正的盈利对完美来说并不重要,从财报来看,坚挺的老端游和全新的手游,甚至不断发展的影视事业这些才是完美的经济增长点。

其次,对于V社手中的steam,完美同样抱有期待,作为最想代理的产品,代理steam可不再是赔钱赚吆喝那么简单了。

但完美到底愿意花多少心思在dota2上,我们不得而知,毕竟,办事和努力办事就在努力两字上了。

但从V社角度来看,没有比完美更好的背锅侠和小弟了,steam通过曲线救国的方式走进了玩家心中。

完美代理了DOTA2,但是所有用户是通过Steam下载,只是一开始使用一下完美的账号,后面完全是通过Steam账号,所有的用户数据基本都在V社手里,发生了什么也只能求靠远在大洋彼岸的V社工程师。当初V社选择制作dota2也是想到了借助其广大的用户基数推广steam平台,在中国它成功了,而且是相当的成功,普通玩家通过这个平台了解到了更多的 游戏 。

双方的目的都达到了,那么到底谁该为土豆服务器买单呢

steam素来以服务器质量过硬而享誉盛名,可为什么在dota2的服务器上偏偏和育碧一样呢完美在业内同样拥有声誉,技术实力同样不容小觑,开发的 游戏 也是一个赛一个的精致,可为啥连相当成熟的服务器技术方案都解决和实施不好呢

完美真的甘愿顶着骂名,而V社也继续选择合作,甚至在CSGO之后将steam中国也交给了他们,显然对完美信任有加。

三 无奈的玩家

玩家有多喜爱这个 游戏 ,就有多讨厌这个不时抽风的服务器。

这个顽疾几乎是伴随着dota2而生,几乎是每一个玩家的切身之痛,它就好像是一个dota2上无可奈何的瘤子,吸着玩家们宝贵的时间,吸着玩家们最珍贵的耐心,消磨着玩家们不断积攒下来的最真挚对dota2的热爱。

年年高涨的奖金证明了玩家们的爱,笔者从有余力开始就没有断过支持,因为玩饰品真的上瘾,没够。即使是笔者的不少云玩家朋友也依然贡献了不少,年年不曾缺席的他们依然会看着直播,不忙的时候来把dota。可有时这糟糕的观战也让人感到难受。

观战问题真的延续有很长一阵时间了,眼看本土TI将至,中国地区的预选赛也即将开打,那什么来宽慰一直在支持的玩家们呢

答应我,起码观战不要PPT,好吗

这真的是一个简单的要求。

很多人想投身游戏行业,成为真正的游戏制作人。但是他们对游戏的制作过程,和各个职位的职能都是比较陌生的。对网页游戏开发也不够了解,游戏到底是怎么制作出来的呢?\x0d\\x0d\网页游戏开发的程序构成分为三大部分:第一是数据流程。第二是美术。第三是程序。\x0d\1、数据流程\x0d\数据流程其中,数据流程包括了功能。也只有在功能中才能体现数据流程。\x0d\比如最简单的卖买产品。要实现这个功能,那么需要有产品基础表、产品详细表、商店表、背包表。如果扩展性更强,相应的双表是少不不了的。\x0d\表的问题都简单了,关键是这个物品有什么用,这样物品的来源,一大堆数据,物品的走向,又是一大堆数据。最后,这些数据得绕成一个圈。绕圈是一件困难的事情,特别是功能和道具多了起来的时候。难度是2的n次方。\x0d\2、美术\x0d\UI:简洁漂亮的界面总会有好处。\x0d\小图标:道具,地图,装备,一类至少10个吧?大体上百把个是需要的。\x0d\3、程序分5个部分\x0d\数据库:一大堆基础数据表和详细数据表。基础数据表:比如等级1到等级100的用户的属性初始值。详细数据表:每个用户的具体属性。\x0d\功能页面、功能函数。主要就是数据存取,判断,数据走向。\x0d\ajax函数:(可选)某些需要伪即时的功能要用到。\x0d\javascript函数:(可选)模拟客户端的数据计算。也就是webgame的与时间相关的数据。分为两部分。一部分是真实数据,是由服务器端的定时器计算的。另一部分是只有初始值,客户端显示用的。不需要即时同步,仅仅需要模拟同步就行。\x0d\服务器定时器:(C语言或自己设定服务器)定时循环执行某一段代码。而这段代码主要是根据数据库的数据进行更新。这个可以找个C语言程序员来做。对于C语言程序员来讲,这个功能是相当的简单。当然,具体的处理数据的判断和 *** 作数据库,需要你自己写。让C语言程序员给你段标准代码就行了。完全支持sql语句的。\x0d\当然在网页游戏开发前,还要组织相关的专业人才,制作一款网络游戏需要的最核心人才是原画、2D、3D、程序设计、策划等这些方面的人才是必不可少的,因此,要开发一个网页游戏除了要程序员以外,千万不要忘了准备以上人才。

1 准备好版本,找一个自己喜欢的传奇游戏版本,版本可以在搜索引擎搜索并下载,看你喜欢什么系列的(各版本论坛都有)DBC2000,(百度搜索即可)配套登录器,(一般版本都会有自带的配套登录器)
2 租用服务器,开服服务器是必备。如果想用心开好一个服,建议不要去节省服务器的成本,因为一个服的任何东西都是在服务器里面运行的,没有必要为了节省一点服务器的费用,导致损失的更多。版本找来了,你就需要用服务器架设测试游戏,有多少不满意不喜欢的地方,想修改升级,这是需要人工来修改的,修改根据修改内容才会有详细的明细,自己能列出文本来是最好的
3 外网架设 分别为 首先安装 DBC2000 百度下载解压 安装 版本 解压到D 名字必须为Mirserver
开始配置DBC2000,安装好DBC2000之后,在你的电脑里面的控制面板里面会有一个DBE -打开之后 右键空白部分 new 新建一个数据库 名为HERODB(大小写无所谓) ,然后右边设置路径 D/Mirserver/Mud2/DB 即可
4搭建网站 在D新建一个文件夹 名为IIS 去版本里面 找到网站文件夹 全部复制到 新建的IIS 然后桌面 一般服务器都会有 IIS 搭建网站的 前提需要一个域名 或者用IP也可以 ,搭建网站后需要上传列表,打开iis 选择 网站 新建 描述随便填 下一步 用IP的话 主机头 填服务器IP 端口 不能用80 可以用88 之后在下一步 然后完成,可以自己在电脑上试试看 这样网站搭建就完成
修改制作网站素材,找一个做网站的几十,其中还需要购买架设网站的域名一个(也就是网址)。大家可以看看域名平台就跟我们逛某宝一样(切记不要私下交易小心PZ)有备案和没有备案的域名价值上相差很大,重点要用标记出来
4架设游戏版本,用服务器把游戏版本架设上去,根据版本类型不同,所用机器不同,如果是客户端版本,需要使用配置较高的服务器。微端:(也就是只下载一个登录器,其他客户端补丁文件全部人物在线游戏更新下载),这种是现在常用的方式简单方便快捷
5游戏用的登录器:看是什么引擎的,有些小众的是需要额外付出的
配置登入器,版本里面会有自带的登入器,打开登入器配置器填入列表地址备用地址直接保存生成就可以。 然后把生成的登入器复制到网站,就是IIS 文件夹添加压缩文件后名字改成 rar格式。然后找到主网站编辑找到对应登入器下载的 代码链接 替换掉 保存 外网打开看看 如果有下载链接说明成功
配置引擎 打开主引擎 配置向导 默认 IP填服务器IP 然后一直下一步 全部默认 保存配置 启动引擎 ,完成后大概有7-8个网关在下面 说明很正常
6引流就看你个人决定,以什么方式去进行拓展玩家等

1、音乐素材可以考虑去各类游戏OST网站下载,例如万宇游戏音乐,里面经典游戏音乐不少,个人恨不得把此站的服务器硬盘拆走……
2、合击技能,应该是连携之类的东西吧,多角色一起行动这种东西在RM里不是特别好实现,必须涉及到脚本知识,建议楼主积累更多的制作经验之后再尝试。SP下面加个蓄力条的话,直接在Scene_Battle类里进行描绘。
3、对话框中增加人物肖像需要脚本支持,楼主可以搜索一下“真·对话加强”脚本。 另外不想用脚本的话,可以挂公共事件来显示角色肖像,具体做法是:打开数据库,切换到公共事件页面,新建公共事件,在里面写入“显示”事件(肖像需要预先放入Picture文件夹内),每次对话时就调用这个公共事件,记得在对话完毕的时候让这张消失。
===================================
改变字色:在对话框里用\c[]代码,星号处可填0~7的任意数字,代表各种不同颜色,此代码以后的字会被改变成你所选择的颜色。另外在对话框输入时,可以按F2预览在实际游戏中的样子,方便作修改。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13051281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存