1
angrylid 123 天前
游戏怎么搞灰度测试
|
2
Monad 123 天前 via iPhone
大部分游戏都停机 4 小时以上吗?
|
3
bobryjosin 123 天前
大部分互联网产品就是小修小补,只会出现部分功能不可用,并涉及不到原本的业务,你用旧版本客户端也不会有太大障碍,游戏不一样,游戏涉及重大更新基本做不到热更新,客户端和服务端资源要同步,上线前内部也要测试,做这些前提都要把用户踢下线。
|
4
IvanLi127 123 天前
啥游戏每周四小时停机维护?
|
5
DeWjjj 123 天前
有的游戏就可以热更新。
我觉得纯粹是技术使用问题,有的公司就不用。 |
6
jhdxr 123 天前 1
@bobryjosin 技术上可以做到,参考守望先锋。只是说大家都停机更新,那为啥要花额外的代价去做呢?
|
7
henix 123 天前 2
之前看到的一个知乎回答: https://www.zhihu.com/question/653896828/answer/3480752444
> 简单来说游戏服务器这种架构设计就是为了低延迟而牺牲服务可用性。而这个业务的特性决定了这么做是可行(甚至是必须的)。 我的理解是游戏服务器更重视低延迟,而不太需要高可用。可用性低一点没关系,发补偿就行,玩家也不是随时都在玩(高峰集中在晚上和周末)。 互联网产品更重视高可用,为了可用性可以牺牲延迟。 |
8
crysislinux 123 天前 via Android
web 维护的主要是应用服务器,实际上数据库这种也很少停机维护,要是停数据库那要想不停机复杂度加一个数量级
|
9
whileFalse 123 天前 via Android
大部分互联网产品,会把状态保存在中间件中,比如 db 和缓存。
游戏的状态保存在游戏进程的内存里。 网络游戏开发流程面向快速迭代优化,中间件开发流程面向稳定性优化 |
10
kneo 123 天前 via Android
因为游戏佬好糊弄。
|
11
starinmars 123 天前
LOL 每次更新都是 0 点到 12 点,12 个小时啊。
|
12
changnet 123 天前 2
这个得看哪个游戏
现在的游戏架构多数是可以热更新的。进程不停,数据保留,逻辑更新那种。 但是呢,我们主策说除了 bug 修复,停服更新会让玩家感觉你这游戏还在更新维护,热更的话可能一个月玩家都感觉不到更新。另外停服更新确实可以免去一些兼容性的工作(比如服务器更新了,玩家客户端还没更新要兼容) 但你说每周要停 4 个小时???没见过,一般都是公告停个半小时,实际上几分钟就更新完了。剩下的时间留给测试去验收以及各平台推送客户端版本更新 |
13
imydou 123 天前 via iPhone
dnf 手游 经常三小时以上
|
14
jinliming2 123 天前 via iPhone 1
我记得以前玩 dota2 的时候,游戏更新的时候是不会打断正在玩的人的,一局结束之后,需要退游戏更新客户端才能开下一局。
不过也有崩服务器的时候,但貌似大部分情况貌似也不影响进行中的游戏,只是结束的时候加载不出结果。 |
15
Biggoldfish 123 天前 via Android
因为菜啊,跟地球市值第一的 AAPL 发布新机前官网要停机维护一样抽象
|
16
agdhole 123 天前
dota 不停服,只会打完了让你重启游戏更新。
|
17
yunye 123 天前
激战 2 就不需要停机维护
|
18
PandaIsGood 123 天前
@Biggoldfish 是为了怕有人在那时候买旧手机
|
19
mightybruce 123 天前
游戏多数架构其实还是单体,或者说是分布式单体,
玩家的数据要保证实时,施法、装备和物品 在服务进程中处理, 状态信息也是如此,而不像多数互联网应用在中间件中处理,所以互联网扩缩要容易。 |
20
pain2w 123 天前
游戏不是必需品,玩家几个小时不玩问题不大,给点停机补偿就号。
|
21
geekvcn 123 天前
热更新现在基本规模大点的网游都支持,停机维护主要是大版本更新需要客户端和服务端都更新,大版本更新一般没法热更新,不是技术上做不到,而是不能保证不产生奇奇怪怪问题。
至于周四停机维护还有一点就是游戏服务端很多都是 C++写的,有些程序员水平一般,可能内存回收做的不到位,开久了内存泄漏就多了,周四重启能保证周五周末高峰期服务器上的服务端处于最佳状态。 游戏和 Web 这些服务不一样,吃计算性能,对带宽质量和实时性要求也高,web 服务一个几千 ms 的突发性能下降基本没问题,还能多机负载均衡因为用户与用户之间基本没啥实时交互。游戏除了玩家换服务器,或者切换位面/分线,核心负载没有办法均衡负载到多个服务器,最多把聊天之类的功能独立出来 |
22
qinmenghuo 123 天前
真的有每周停机维护四小时以上的游戏吗?怎么这么多人对一个几乎不存在的东西讨论的兴致勃勃的?
|
23
wyxls 123 天前 1
@qinmenghuo
这帖子让我不得不提一个童年回忆的老古董“辣鸡”游戏,MapleStory 冒险岛。经常 4-8 小时维护,高概率延长维护时间,中概率更出 BUG 回炉甚至直接回滚数据,相当于每周有半天时间到一天时间歇着,而且棒子可以没有任何补偿,玩家几乎没有怨言 https://www.nexon.com/maplestory/news/maintenance/18272/completed-scheduled-maintenance-august-8-2024 |
24
wyxls 123 天前
另外游戏服务器和商城服务器是完全两个玩意,两边氪金道具偶发性同步失败,需要玩家等待或者写 ticket 申诉反馈,余额偶尔需要玩家手动刷新才显示正常,等等等等情况,这种玩意要在手游里出现,我都不知道要补偿多少东西才行
|
27
Daniel17 123 天前
游戏也有很多不停机的,不一定
|
28
Ayanokouji 123 天前
也不是不行,王者荣耀就经常热更新。游戏嘛,停一会也无所谓的。
|
29
bruce0 123 天前 1
分游戏类型吧, 像是王者,吃鸡这种, 房间对战的, 能做到不停服热更, 假设在玩的房间版本号是 1.1.0, 要更到 1.1.1, 只需要把新开的房间用 1.1.1, 1.1.0 的继续玩,对局结束, 后面再开用 1.1.1 就行了.
像是 mmorpg 类型的, 热更有点麻烦, 如果是逻辑用 lua 等脚本写的, 可以热更, 如果全 C++的, 用动态加载释放 .so 文件应该也能做到热更, 只是麻烦很多. 还是像楼上们说的, 游戏不是必需品, 提前发公告, 维护结束发奖励就行了, 简单可靠 |
30
Ocean810975 123 天前
我玩炉石这么多年,唯一一次看见维护还是上次网易暴雪服务器炸了。
好像暴雪家游戏都没啥停服更新的。 |
31
lyxxxh2 123 天前
大量数据,比如赛季更新,你敢热更新吗?
说白就是现在技术做不到。 就算能做到,所需要的代价,还不如停机稳妥。 |
32
SkywalkerJi 123 天前
@lyxxxh2 #31
apex 就是热更新,赛季也是热更新。 |
33
JeffreyZhuang 123 天前
维护都是一会的事,花的时间在新服上线后 QA 对正式运行环境做检查。
|
34
paopjian 123 天前
都是屎山代码能用就行,国内自己重头研发的有几个?大部分不还是买过来的,买过来的也是屎山叠屎山,那维护就不如停机的了,反正用户也习惯了
|
35
mouyase 123 天前
@qinmenghuo
维护四小时的游戏,当然是我们创啦。 尊敬的各位勇士: 为了给各位勇士带来更优质的游戏体验,进一步加强游戏的安全性,我们将于 8 月 8 日(周四)5:00-9:00 对所有大区进行停机维护,整个维护过程预计需要 4 小时,因开机顺序以及数据维护内容差异,部分大区会提前开放。因停机给大家带来的不便,我们深表歉意。 停机时间:8 月 8 日(周四)5:00-9:00 更新大区:所有大区 |
36
JustBecause 123 天前
你们都说不存在停机四小时维护,但是我怎么这么熟悉,好像小时候玩的一款游戏就是每周四小时停机
是跑跑卡丁车?还是魔兽世界?(魔兽好像是每周四不是四小时) 印象中还是个有名气的游戏 |
37
EndlessMemory 123 天前
游戏服务器半夜停机影响不大
|
38
laminux29 123 天前
两个原因:
1.以暴雪为主的游戏厂商,极度傲慢,不关心玩家。它为了自己方便,就设计成每周一次停服维护,剥夺玩家权益。最近暴雪重新开服,又有很多玩家赶着去给暴雪送钱,我实在无法理解。 2.有很多厂商,为了所谓的版本统一,不管玩家诉求。其实很多玩家对游戏统一版本的要求并不高,游戏厂商完全可以分阶段同步更新,这样玩家就可以不用遭遇停服时间。Steam 上面就有不少联机游戏是这样做的。 |
39
dyllen 123 天前
|
40
pkoukk 123 天前
啥游戏每周停机维护 4 小时?每周?有这么多更新么?
|
41
layxy 123 天前
王者好像就可以不停机维护,主要是不停机维护可能需要更多的冗余资源,游戏厂商不想这么搞
|
42
aphrodite 122 天前
剑网三?
一周维护两次,每次维护 4h 左右。 |
43
aphrodite 122 天前
@qinmenghuo 剑网 3
|
44
aphrodite 122 天前
@JustBecause 剑网 3
|
45
HenryLuis 122 天前
12306 每天晚上停机维护
|
46
fiveStarLaoliang 122 天前
大型游戏一般对客户端有强一致性要求,不同版本的客户端一般不敢放在一起玩,不然必出 bug 。相反,普通 app 就没这么多要求了,不同版本的影响也不大,所以可以搞灰度发布
|
48
valord577 122 天前
@qinmenghuo #22 梦幻西游 雷打不动每周 2 哈哈哈
|
49
duanxianze 122 天前
有什么必要呢?难道玩家会因为你更新不停机就多充钱?不会的
|
50
baoshijiagong 122 天前
游戏嘛,玩玩而已,停了也损失不大。不过有些只是老游戏的架构和维护习惯而已。新的游戏,比如炉石传说,不需要停机维护了。甚至大版本更新也是无缝切换的,客户端更新后服务器同时提供新版本和老版本的服务。
|
51
Emiya1208 122 天前
非常简单,不一定是游戏,任何产品都是如此,是否停机维护完全取决于有没有必要。
对于任何产品,思考两个问题,停机维护带来了什么?不停机维护能带来什么? |
52
tangchi695 122 天前
想起了高中的时候,翻墙去网吧通宵打毒奶粉,结果开了机子发现停机维护🤣
|
53
ZeroYe 122 天前
@jinliming2 是的 Dota2 一直都是这样。出过比较搞笑的事情,就是在举行比赛的时候,V 社直接对 Dota2 进行的大版本游戏更新,而且是史诗级的更新,加入很多技能和变更了 N 多机制,大家打着比赛还是上一个版本,下一把就是另外一个版本了,职业哥也只能打比赛的时候先暂停看一下看英雄技能说明和机制说明😂
|
55
cybort 122 天前 via Android
其他产品没这么多美术资源的更新,很占带宽的
|
56
dingdangnao 122 天前
4 小时不能聊天会死
4 小时不能听音乐会死 4 小时不能看视频会死 4 小时不玩游戏 可以去听音乐看视频 hhhhh |
57
jiangnan01 122 天前
蓝洞:不停机怎么给你们加 bug ?
|
58
OnGameNet 122 天前
剑网三,一周两次
|
59
ellermister 122 天前 via Android
@qinmenghuo pubg 每周三 8 小时,一年只有十来次例外,偶尔不需要更新
|
60
l4ever 122 天前
web 服务简单, 一个容器就起来了, 后端可能有几十个容器在服务,
升级时候销毁一部分容器, 再启动新版本容器就行了 过段时间再销毁剩余部分, 启动新版本容器. |
61
Subfire 122 天前
我们游戏的 Java 服务器端热更, 不支持 Lambda 的写法呢
|
62
cyspy 122 天前
互联网大部分服务都是无状态的,出了错直接刷新就行了。游戏强状态,鬼知道有什么隐藏的逻辑漏洞
|
63
lshero 121 天前
大部分互联网产品都是信息发布形式实时交互很少,可以用缓存撑着。只要停止数据库的写入,就可以慢慢维护,看看贴吧当年整顿 17 年之前的内容都消失了,算不算一种停机维护呢?
|