针对Warframe的连线机制,我相信目前为止也不是大部分的玩家都了解
常常看到很多人有以下抱怨
"伺服器很不稳" "游戏怎幺LAG 人物都会顺移" "这游戏都没人?找不到玩家"
首先这篇文章分为两个部份
第一部份先解说本游戏的连线机制
第二部份说明游戏会LAG的原因
文章内容部份转贴自百度warframe吧,TC征服王的文章 (已徵求吧主同意转贴)
文章中有加入新解说及更换新绘製的图
原文网址
-------------------------------------------前言结束
第一章:连线机制解说
Warframe採用的连线方式为 P2P 点对点连线
与一般的OLG连线的方式不同
左图为P2P的连线方式,右图为OLG游戏的连线方式
同样都是连线,但是P2P的游戏伺服器是由某位玩家来担任
游戏的进行是在游戏伺服器,数据的运算也是由伺服器计算
Warframe游戏公司 (简称DE)为了节省自己的伺服器资源而採用了房主(HOST)这样一个设定
房主的实际用处是什幺呢?
实际上房主不仅仅是一个游戏进程的发起者,同时也是充当伺服器的存在!
大家在游戏中可以发现一个有趣的事情
当你在单人游戏时你掉线了,但你的游戏进程却依然在继续,怪物继续会朝你攻击
被击杀后依然会掉落物品
这点正是因为游戏本身的伺服器端就架设在了游戏用户端裏的原因
虽然和主伺服器断线了,但作为主机的玩家依然能够继续游戏进程!
(转载内容至此结束)
-----------------------------------
而Warframe 到底是怎幺运行P2P的连线??
Warframe 本身在加拿大还是有所谓的伺服器主机
但是这些主机是用来储存人物资料、聊天大厅、游戏配对用
类似 warcraft 3或是starcraft 的玩家所熟悉的旧版battle.net
PS:新版battle.net 就是现在starcraft2 那种
这也是为什幺以前知名的dota游戏三国和信长,永远也无法防止开图的原因
因为游戏不是在伺服器端进行,而是在某位玩家的电脑上运算
那我们为什幺还要登入游戏呢?我们登入的是什幺东西??
其实我们登入的伺服器纯粹只是要拿取我们的人物资料
以及使用伺服器中聊天及配对的功能
配对系统会把选择相同关卡的玩家框在一起,由一位玩家的电脑当作主机
让其他三位玩家加入他的游戏
游戏中的所有运算都是由主机处理
主机会与另外三位玩家互传资料
并且将各自的资料上传回人物伺服器
整个步骤就完成
网路发生问题、断线、人物伺服器挂掉
你的资料就会无法被更新
-----------------------------------------------------------------第一章结束
第二章:游戏中LAG详解
加入的玩家则延迟很大丢包很厉害
大家往往把这些归咎于网路问题,这是个很严重的错误!
其实很简单,由于主机在开始多人游戏同时作了伺服器
所以原来网游裏那些玩家的计算资料全部都由主机来计算了
虽然官方曾经尝试过让每个玩家都在本地运算
但这样会导致游戏出现严重偏差值,导致每个玩家攻击怪物时伤害不统一
造成游戏用户端失去平衡而崩溃
(之前版本的用户端打怪时每个人的伤害不一样的,同时掉落出来的物品也不是同一个地方)
主机(Host)卡的原因:
在7.X某个版本更新后,官方启用了强制让主机来计算所有玩家资料
现在的加入玩家只需要将资料上传至主机,再由主机统一计算后将结果发还给各个玩家这也使得现在玩家看到物品掉落会在同一个地方,伤害也变得统一
而正是这个机制导致了主机严重掉帧的情况!
加入玩家卡的原因:
因为所有玩家的计算都被集中到了主机裏
所以主机等于负担了4个玩家的游戏程式
加入玩家几乎不用计算什幺,只是消耗着显卡资源而已,帧数非常流畅
随着战斗越演越烈,主机会渐渐承受不了巨大的资料计算,于是出现了懈怠的现象
而没有接受到资料结果的玩家就开始出现了怪物瞬移,无法捡起东西的情况
而玩家卡打怪物没反应,主机低帧数无法战斗导致了怪物数量堆积的越来越多
从而恶性循环,渐渐的玩家们发现游戏卡住没有一点反应
这时主机的帧数已经跌至个位数,随时面临游戏崩溃的危险
这之后会出现2个情况
一、主机出现游戏崩溃,同时自动选择一名玩家成为另一个主机
(这个现象在7.X-8.X最初几个版本裏经常出现)
二、长期接受不到主机返还资料的玩家用户端认定主机已经掉线
于是断开与主机的链结在三人中另选一个人成为新的主机
而这时实际上主机没有掉线,而是卡的几乎在0帧徘徊
随着另外三名玩家脱离了主机,主机一瞬间就会恢复帧数,但变成了单人游戏
综合以上,主机需要一颗强力的CPU!!!!
如果自己的电脑不够强力,那幺请不要去贸然当主机,这样只会坑到队友!
如何辨别自己的CPU是否合格?
进入单人游戏时无论在什幺场景帧数都不会低于30帧,那幺你就能担当一名合格的主机
作为加入的玩家如何辨别主机是否不坑爹?
进入游戏后射击感觉是否有明显的延迟感
因为游戏刚进去时怪物还没刷出来,所以主机的负担是相对较小的
如果这时你都感觉自己(最好几个人)都出现了明显的延迟,那幺恭喜~主机这时已经开始出现掉帧了。这样的主机绝对坑爹,千万别打下去!立刻退出换个主机!
最后说个题外话
由于主机作了伺服器端,导致资料运算比游戏运算多的多,因此一向被I5I7压制的AMD推土机系列CPU有了出头日~实际试验下来,在极端主机环境内(例如刷Xini高波时某个没节操的毒女使用孢子流来爆主机),FX-8150要比I7 3770K强力的多....几乎不会被爆主机- -....
最后总结一下:
主机一定要CPU强力!而玩家瞬移卡绝对不是网路的问题!这游戏只要有台好电脑,就算4M小水管都能流畅当主机!
---------------------------------------------------------文章结束
配对系统小技巧
首先,先设定你的PING限制
点一下游戏视窗右上方的那个小齿轮
其中有一项可以设定 PING值大小的门槛
PING值越低代表延迟时间越短
当你设定的越小,你搜寻到的Host就会很顺,但这会让你较难搜寻到游戏
而搜寻不到一段时间,你就会自己变成Host等待别人加入
当你设定的越大,你很快的就可以搜寻到"可以加入的游戏"或是"已经在进行的游戏"
相反的你LAG的机率就会非常大
我的网路不好,想加入别人的游戏,为什幺我游戏搜寻了三个小时还没找到人??
当你在一段时间搜寻不到 "可以加入的游戏"或是"已经在进行的游戏"
(搜不到的原因可能是被你的PING门槛挡掉、或是当下没位子让你加入)
你会自动变成Host等待别人加入
这时候,因为你的网路本来就不好
其他人也会设定PING值门槛把你过滤掉
结果就是其他人完全就搜寻不到你的游戏,你等再久也无法开始
那我该怎幺做??
你只要一直保持着搜寻 "可以加入的游戏"或是"已经在进行的游戏" 的状态就行了
作法就是 点下任务后,等待个10~20秒
没有搜寻到,马上ESC跳出,重新点任务
重複以上动作,直到你加入一个游戏为止
马上ECS跳出,就是让你避免变成Host
如果此招无效
1.你设定的PING值门槛太低,请调高 (但是调的越高,你会LAG的机率就越高)
2.代表执行该任务的人太少
--------------------------------
最后下个结论吧
通常游戏进行的时候,你会LAG,人物会乱飘,是"你"与"主机(Host)"的问题
你要骂的是主机电脑滥、网路烂,或是怪你自己的电脑滥、网路烂
如果你在游戏中打到的稀有MOD或是素材,完成任务后,没有被保存
这时候才有可能是人物伺服器有问题
又或者是你自己的网路有问题,没有顺利将资料传到人物伺服器
--------------------------------
补充:
当你在一场任务中把你的命用完,而你也没拿到什幺好MOD的时候
你非常懊恼,真是赔了夫人又折兵,你该怎幺办??
不用怀疑,拔掉你的网路线......(你如果选择终止任务,终止的时候就会上传资料)
不让你的游戏资料上传回人物伺服器
等你再次登入,就会发现你的战甲又恢复成执行任务之前的状态啰~
最后
我希望看过这篇文章的人
如果在版上碰到有人在问相关的问题
请把这篇连结贴给他,请他好好详读这篇文章
本文只授权给巴哈姆特及百度Warframe吧