楼主一直不明白,都 2018 年了,为什么腾讯还解决不了游戏服务器分区的问题?

2018-11-25 09:57:34 +08:00
 yazoox

天朝的游戏玩家很多,估计要上亿。

基本上现在的网络游戏,不管是手游还是端游服务器都分几十个大区。如果放在十年前,是因为技术原因解决不了。能够理解。

可是现在都 2018 年了。 尤其是我们国内的网络应用这么发达,什么 618,什么双 11,短短的几分钟之内,金融系统的交易量就是几十亿的。 我相信应该早就能解决这个问题了。为什么还是要分几十个大区?尤其是腾讯,全球第一的游戏厂商。难道连这个问题都解决不了吗?

还是说,就是为了分几十个大区,挣多份的钱!?

有没有做网络游戏开发的大神?和俺们分享一下。难度到底在哪里?

34623 次点击
所在节点    游戏开发
224 条回复
XXXFX
2018-11-25 20:58:24 +08:00
@luzihang .......
Bryan0Z
2018-11-25 21:02:07 +08:00
@yksoft1 守望服务器分配是按总延迟最小来决定,比如 3 个人在美东,2 个人在美西,就会被分配到美东去
ShangAliyun
2018-11-25 21:22:31 +08:00
网络延迟是游戏的成败之举,不能总让那帮靠近服务器的获胜吧
3yvsye
2018-11-25 21:26:58 +08:00
感觉楼主玩网游不多把,EVE 就是全球服务器(除了国服特例),它的游戏类型是非常特别的资源竞争和丛林法则(直接劝退弱者)。
当地图出现大量玩家集结时,游戏就会根据服务器算力进行缓冲,开始玩家的马桶缓冲之旅(时间膨胀),说白了就是服务器无法承受大量实时运算,把游戏动作放慢了 N 倍从而缓解压力,玩家像是在看 ppt。楼主想体验一下吗?
ddzzhen
2018-11-25 21:54:29 +08:00
利益问题
nicebird
2018-11-25 22:29:18 +08:00
小部分是利益问题。

游戏的交互大部分没法分布式。

比如一个场景里面有 1000 个玩家 pk,那么它们之间会非常频繁的交互。
如果这些玩家不放在一个进程里,而是放在多个进程里或者多个物理服务器里的话。
就会导致一个玩家 A 砍了玩家 B 一刀,玩家 A\B 不在一个物理服务器上,砍人请求会通过网络传输到玩家 B 所在的服务器,可能 1 秒过去了。

1 秒的延迟,游戏可以不玩了。
stotle
2018-11-25 22:32:32 +08:00
请教下有不分区的大型网游吗?国外的也算上。
leido
2018-11-25 22:37:39 +08:00
@stotle LOL 外服都不分区的
stotle
2018-11-25 22:42:51 +08:00
@leido #108 确定?我没玩儿过 LOL,但我玩儿过 Dota2 美服,分美东美西的,毕竟物理距离摆在那儿呢。
w88975
2018-11-25 22:43:15 +08:00
还有一个很重要的原因就在于每个游戏都有一个生命周期
只有不停的开新服才能维持该游戏的生命
竞技类游戏不分区影响不大,但是 RPG 类游戏必须不停开新区才能维持玩家活跃。
打比方:你是一个新人,你在朋友或者广告的安利下,你发现一个 RPG 游戏很适合你,也很好玩。于是你建了一个新号到了你朋友那个区,你发现游戏 50%以上的玩家,等级都在 100 级,你想升到 100 级需要付出 2 个月的时间。你想你时间多的是,于是不停的肝了 2 个月,结果那 50%的玩家都 150 级了,你仍然赶不上进度,甚至连日常任务都没办法进行下去,更别说去参加 PVP 了。

于是你看了官网,发现明天会新开一个区,于是你在新区建了一个新号,2 个月过去了,你成了那 50%的玩家,你每天只需要做做日常,不需要太肝,也不需要氪金就能和大部分玩家一样的进度,甚至还可以冲榜。
leido
2018-11-25 22:49:19 +08:00
@stotle LOL 欧洲有两个区,但是美国真的就一个
superlks
2018-11-25 22:54:57 +08:00
@feverzsj #18 不好意思,我还在玩 lol
Anhedonia
2018-11-25 23:09:30 +08:00
@stotle 说是分区,但是起码你的账号数据都是通的
akira
2018-11-25 23:16:04 +08:00
大部分非 mmorpg 做分区分服,并不是技术问题,而是运营问题。
mmorpg 做分区分流,是同屏玩家数量过多的问题.
flyfishcn
2018-11-25 23:23:12 +08:00
对延迟敏感的游戏,计算伤害顺序的游戏,一个区对所有玩家都不公平。想象一下,一款游戏,你比对手先开枪,系统却判断你死了,并且你死的时候,打出的子弹因为你已经死了,状态无效了,对手毫发无损,你还想玩么?一款游戏,你输出最高,最后一击是你,却因为延迟,系统判定其他玩家获得最值钱的物品,你只能获得一些杂物,你还想玩么?
不吃延迟的游戏,不需要计算伤害顺序的游戏,分不分区都可以。
算法只能减小影响,却不能完全消除影响。调整 BGP 能消除同地域的运营商互联绕路,却不能缩短地球两端的距离,更改变不了光速。
plutia
2018-11-25 23:24:57 +08:00
这年头连 mmoRPG 都可以做到服务器间漫游了,tx 都做不到跨服数据互通
colincat
2018-11-26 00:41:24 +08:00
@nicebird 有道理,游戏要求延时太高,其实很多游戏都本地计算,例如王者荣耀
fhbyljj
2018-11-26 00:58:35 +08:00
@bestkayle 现在 V2EX 水平这么低?
mozutaba
2018-11-26 01:37:39 +08:00
楼上一群人搞不清楚这些游戏意味着什么。
lol 这种竞技游戏在于延迟,广东,新疆,黑龙江的 3 个用户去组排,瞎子还怎么 R 闪?
贪玩蓝月这种游戏在于同屏人数,延时到 500ms 都无所谓,那一刀刀的 999 全是动画,一个数据包发过来就播放好几秒。
所有操作都是本地动画, 接包发包在后台排队,丢几个数据包一点影响都没有。
回合制手游无所谓,最好是来 1 个渠道开 1 个服,首冲赚完开下 1 个,玩家流失就合服,死了就换皮。来钱快说的就是这个。
购物和游戏不一样。

地理分区根本无法弥补,前几楼喷的恰恰就是这个。
idtaanlcoe
2018-11-26 01:41:10 +08:00
iOS 区和 Android 区的都懒得解决的公司

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/511251

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX