问一个可能十分脑残的关于 P2P 游戏联机反作弊问题

2015-04-26 13:51:06 +08:00
 tobyxdd

像COD、GTAOL、PD2等等很多游戏都是官方服务器只存储玩家数据和负责UDP打洞 真正联机是玩家间P2P 谁房主谁当host 按一般原则把所有运算都放在host是可以防clients作弊 但host本身也是玩家 如何有效防止host对clients作弊或者发假数据传回官方服务器?

比如host这边把clients的伤害都算成0至少房主就无敌了 或者一局完后伪造战绩传回官方存档服务器刷分... = =

7928 次点击
所在节点    游戏开发
11 条回复
Septembers
2015-04-26 13:59:31 +08:00
既然是P2P为何不参考下比特币工作原理(恩 脑洞有点大
tobyxdd
2015-04-26 14:05:34 +08:00
@Septembers 这个应用场景太不一样了吧 bitcoin要在线人数做节点基础而且那么慢不可能游戏联机用 :(
ss098
2015-04-26 14:19:47 +08:00
可以参考《魔兽争霸 3 技术分析资源汇总》

关键字:lock-step

/t/171079
geeklian
2015-04-26 14:53:58 +08:00
cod靠举报和录像....
gtaol目前作弊已经泛滥了,改钱改等级无敌....
pd2是啥不知道
geeklian
2015-04-26 14:58:51 +08:00
真正有效的反作弊,像啥战地的pb,腾讯家的tp之类的,以及各种第三方cs反作弊,都是一套c/s的反作弊系统,s端有开发商的服务器,c端拿到system级权限甚至改内核,然后扫内存....
geeklian
2015-04-26 15:02:55 +08:00
@ss098 lock-step的致命缺点也就是每个人都有数据...

dota没有第三方反作弊,那么几乎所有人都会开maphack.....

dota2/lol你只接受到你所见范围的数据,才根本上杜绝了maphack
mikumikumoe
2015-04-26 15:36:45 +08:00
vac大法好
chenxiao07
2015-04-26 18:39:10 +08:00
用Rollback可以实现数据上的反作弊。

所有在网络传输的数据仅仅是用户的输入,然后各个client得到输入后按照相同的规则再模拟生成结果。

网络格斗对战一般都是用的这种机制,缺点也明显就是运算量会放大非常多倍。
chenxiao07
2015-04-26 18:40:02 +08:00
VirgilMing
2015-04-27 00:10:49 +08:00
@geeklian PD2 应该是 PAYDAY 2。我差点以为是 PlanetSide 2。

Dota 2 和 LoL 有个很好控制的因素,战争迷雾。Dota 2 的战争迷雾是由房间服务器计算的,这一点杜绝了 MapHack。LoL 我不确定。

而 FPS 显然没办法……总不能只在手枪射程内突突突吧?
CS:GO 目前是靠严厉的 VAC(**永不**解封)和付费门槛来对付这个问题。Insurgency 我没怎么碰上。别的没玩过。
typcn
2015-05-13 19:11:36 +08:00
@mikumikumoe VAC 是最垃圾的反外挂系统,只检测特征码,也就是说如果自己写一个外挂,给每个人发的二进制都不同,一人编译一份,就完全无视了。

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

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

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

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

© 2021 V2EX