作者dustlike (灰尘)
看板KanColle
标题Re: [闲聊] 中破进击->开场大破
时间Thu Jan 2 17:27:53 2014
来聊点跟台面下的机制有关的事
这游戏在战斗开始时客户端会送个指令告知伺服器"我开始战斗了"
严格来说这个时间点是点下阵型後到显示"战斗开始"这四个字之间
当网路慢或是伺服器负荷大导致延迟大的时候,这之间的空隙就会变得很明显
然後伺服器就会传战斗序列资料回来,
所以攻击顺序、攻击目标、是否命中、造成多少伤害都是在这时候传给玩家
游戏程式就依据这个资料演出海战动画。
战斗结束後客户端会发一个请求战斗结果的指令,伺服器传来的资料就是战斗结算画面
在你关掉战斗结算画面到显示进击/撤退之间会再有一次资料传送
这次送的资料是用来同步舰队资讯、全船舰资讯与装备资讯
所以如果战斗序列的损伤资讯跟後来全船舰血量资讯彼此不同步会发生什麽事?
大概就像这次莫名其妙少了16HP,以及之前满血被击沉又立刻复活的惊悚闹剧
至於这影片能不能伪造...确实有软体可以截获封包并修改後再喂给目标程式
不过天下bug百百种 这种程度的bug也不是不可能...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.138.100
※ 编辑: dustlike 来自: 140.113.138.100 (01/02 17:30)
1F:→ Shift2:THX 才在上篇文推完 就有人回答了 01/02 17:29
2F:→ Shift2:不过按照这个说法,玩家基本上没办法对战斗结果动手脚? 01/02 17:32
3F:推 ilen0129:所以打爆王跳猫悲剧是请求战斗结果指令断掉了?? 01/02 17:33
4F:→ dustlike:yes 那个E4完全慢心UC提督就是碰到这种状况www 01/02 17:34
5F:→ dustlike:请求战斗结果的封包没送出 伺服器就当你打到一半中断 01/02 17:34
6F:→ Yijhen0525:我想这是伺服器的预设指令,当客户端没有回应 01/02 17:35
7F:→ Yijhen0525:就用预设的方式来处理并回应 01/02 17:35
8F:→ Yijhen0525:至於改封包,那就要有办法拦截并破解,然後传伪造的封包 01/02 17:37
9F:→ Yijhen0525:但是真的修改下去官方应该会注意到 01/02 17:38
10F:→ Shift2:唔 整个战斗处理是在伺服里面的 玩家只拿到结果 这样? 01/02 17:39
11F:→ dustlike:没错。不然就可以轻易作弊了... 01/02 17:40
12F:→ Shift2:伺服只会问玩家进击与否 不会跟玩家要船舰状况 无从修改 01/02 17:40
13F:推 Yijhen0525:资讯都储存在伺服器端的好处是玩家只能下指令 01/02 17:43
14F:→ Yijhen0525:像资讯什麽的完全无法得知 01/02 17:43
15F:推 clover1211:所以影片上 其实算是大破下进击的状况 有可能会沉? 01/02 17:48
以结果来说up主没沉 所以到底那个6HP时是不是会沉船的状态...不得而知
这个影片的重点不是中破会不会沉 而是同步有问题啊...
16F:推 ryvius0723:楼上你要不要解释22/75为什麽会是大破? 01/02 17:52
不是22/75是大破 是6/75是大破
问题在於那16点HP跑哪去了
17F:推 ryvius0723:至於大破进击高机率沉那早就是被公认的事 01/02 17:56
18F:推 qooking316:但结果就是好运没沉 你不能以"沉了"这观点来看啊 01/02 17:59
※ 编辑: dustlike 来自: 140.113.138.100 (01/02 18:02)
※ 编辑: dustlike 来自: 140.113.138.100 (01/02 18:03)
19F:推 fonlinian:提督,榛名出击时不能做这种事阿! 第一次会损16HP 01/02 18:03
20F:推 ryvius0723:我猜是传封包回伺服器的时候网路不稳导致封包丢失 01/02 18:04
21F:推 Kenqr:资料同步有bug吧 应该是前一场就已经大破了 不过运气好没沉 01/02 18:04
22F:→ ryvius0723:结果莫名其妙多了一次攻击判定 01/02 18:04
应该不是网路的错。TCP/IP会保证封包内容绝对不会出错
然後战斗序列资料是一次传完的,不会有部分消失的问题。
我倾向是server的战斗画面计算出了毛病
※ 编辑: dustlike 来自: 140.113.138.100 (01/02 18:07)
23F:推 qooking316:我觉得是中破进击但大破显示 所以感觉有锁血 01/02 18:07
24F:→ Shift2:也就是战斗画面和实际结果有出入? 01/02 18:07
25F:→ dustlike:我是这麽认为 01/02 18:08
26F:→ dephille:被打的那一下是扣2滴。我觉得很高机率是HP22时的擦伤。 01/02 18:18
27F:→ dephille:HP6的时候擦伤应该是0~1,我觉得不太会那麽刚好打出2滴。 01/02 18:19
28F:→ Shift2:摩耶雷装是60,复纵+T有利算下去 没爆很难打穿榛名的装甲 01/02 18:21
29F:→ Shift2:无暴最小値: (60+5)*1.2* 0.8-89*4/3=-56 (擦伤) 01/02 18:22
30F:→ Shift2:无暴最大値: (60+5)*1.2* 0.8-89*2/3=3 01/02 18:22
31F:→ RbJ:没cri打不穿,擦伤伤害是现存的6%~14%,剩下6刮2已经33%了 01/02 18:24
32F:→ dephille:就是除非装甲那麽刚好骰到60刚好打出2滴... 01/02 18:26
33F:→ dephille:否则我觉得打出这2滴比较可能的状况是HP22状况下的擦伤。 01/02 18:27
34F:→ dephille:平常打个位数敌人时擦伤大部份都是MISS比较多...XD 01/02 18:30
35F:→ Shift2:不过HP22(中破)状况下 榛名攻击的伤害不会这麽低 01/02 18:30
36F:→ RbJ:怪给伺服器就好啦!(逃 01/02 18:34
37F:→ wht810090:When have doubt, server. hmhm. 01/02 18:37