网络游戏的防作弊技术(TCP)

Cheat-Proof techniques for Online Game(TCP)

本文关键字:TCP 技术 网络游戏      更新时间:2023-10-16

我正在创建一个游戏,我真的很担心黑客攻击,所以我在游戏内部写了一个反作弊,我搜索了现在的黑客是如何编写的,我发现了一些模式,首先,几乎每个hack都使用线程(通常使用CreateThread())来创建检查循环(检查hack是否打开/关闭),你们中的任何人有没有好方法来检查线程是否来自游戏?PS:I还使用代码外部的线程(DLL 内部)

几乎可以肯定的是,找到一种不同的"反作弊"方式会更好,因为正如 cdhowie 指出的那样,没有什么可以阻止聪明的人用一些不做你想要的东西来攻击你的反作弊代码。

有一些技术效果更好:

让服务器做所有"重要"的事情,比如弄清楚你得到的分数和你还剩下多少生命,如果玩家变成了 zoombie(在他死后试图移动),那就出了问题。

我认为另一种相当有效的方法是基本上记录玩家如何到达他们所在位置的"日志"——他们使用了多少生命,杀死了多少敌人,敌人的类型、每个敌人的分数、使用的武器、射击、完成所有这些需要多长时间,然后让服务器验证它是"合理的"——所以如果有人增加了他们的生命数量, 或更换武器以造成100倍的伤害,或减慢敌人的速度或加快玩家时间,它将显示在"日志"中,然后日志可以作为"假"丢弃。