完美游戏论坛

 找回密码
 立即注册
查看: 1689|回复: 3

[BUG提交] 【已提交】加速导致的人物位置判定BUG

[复制链接]

24

主题

794

帖子

1297

积分

粗通皮毛

Rank: 2

积分
1297
发表于 2022-5-16 14:30:07 | 显示全部楼层 |阅读模式
本帖最后由 半夏灬薇凉11 于 2022-6-9 19:38 编辑

【BUG复现方法】
步骤1:正常客户端作为队长,加速客户端作为队员
初始状态.png
步骤2:正常客户端选择远距离目的地进行移动,并转移队长至加速客户端队员
路程中.png
步骤3:加速客户端队员可以加速移动至目的地,在到达目的地时接受队长
结果.png

【BUG恶劣影响】
1.利用BUG进行瞬移,缩短人物在地图内移动的时间,严重情况下可以破坏帮战及跨服帮战的公平性(目前跨服帮战已修复)


2.利用BUG进行隐藏,避免竞技性玩法中的PK
影响.png 会武.jpg


【BUG机制推测】
1.人物行进过程中客户端与服务端定时通讯确认人物位置,而组队移动时,仅有队长所属客户端与服务端定时通讯确认人物位置,队员的人物位置队长位置保持一致。


2.转移队长时,服务端获取移交对象所属客户端人物位置,赋值刷新该队伍的队长位置,在队长移动前也就是与服务端再次通讯前,仅变更队长位置不变更人物位置


3.人物周围列表的判定是依据请求人物的服务端当前人物位置给定的判定坐标范围,返回的周围列表来自服务端内其他位于该坐标范围内的非组队人物位置以及队长位置


4.人物周围其他玩家的显示是依据机制3返回的列表,获得列表内所有玩家的服务端人物位置,并依据获得的人物位置在客户端内进行显示。


前两个机制的联动过程中服务端未确认队员客户端的实时位置导致了新赋值的队长位置不与原队长位置保持一致


后两个机制受机制2影响,从服务端获得的人物位置队长位置偏差过大,导致了人物显示在客户端窗口可显示的范围之外


【后记】
在该bug的机制推测过程中可以发现程序员对于降低服务器负载所作出的努力,通过队长位置赋值机制可以成倍降低服务端的请求与响应次数,如果修改的话还是应该保留该方法,把获取移交对象的客户端位置改为服务端位置即可。

【警告】
本文仅讨论BUG机制,请勿随意使用该BUG致使不良影响,如因使用BUG不当获利导致封号,本人概不负责!

回复 评论

使用道具 举报

24

主题

3320

帖子

4520

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4520
发表于 2022-5-16 22:25:36 | 显示全部楼层
您的建议已收到,感谢对不忍团的支持
回复 评论

使用道具 举报

108

主题

2210

帖子

3215

积分

请假版主

听话,让我看看!

Rank: 7Rank: 7Rank: 7

积分
3215
发表于 2022-5-16 22:59:57 | 显示全部楼层
起飞咯~~~
回复 评论

使用道具 举报

0

主题

3

帖子

6

积分

完美萌新

Rank: 1

积分
6
发表于 2022-5-16 23:22:12 | 显示全部楼层
这不是那个啥虚怀啥帮标配吗 靠这玩意起家
回复 评论

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|完美游戏

GMT+8, 2024-5-6 15:25 , Processed in 0.079627 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表