类桌球联网对战类游戏,服务端怎么防止一方作弊?

4回答

类桌球联网对战类游戏,服务端怎么防止一方作弊?

提问者 L.Hong 2018-01-02 797浏览
还有,服务端机器人模拟思路。。。

快来消灭0回答吧

{{ dataList.answer_count | view-format }}回答
  • 酸辣酸辣 2018-01-03 10:31
    桌球?台球?
    这种的话防作弊最简单的方式是服务器计算校验
    当然,不能使用unity自带的碰撞检测什么的,需要自己实现不基于浮点数的碰撞,具体的可以直接百度
    2评论
  • TigerSu 2018-01-03 11:41
    这个要看是哪种作弊。
    如果是模拟操作类的,比如fps自动瞄准这种通过游戏机制是没法防的,在外部可以用检测外挂进程等方式防。
    如果是改内存的方式的外挂,可以在游戏内隔一段时间把相关数据比如球的位置,现在的进球数等算一个md5发给服务器,把对战双方的md5比较一下如果不同说明有人作弊。
    另外就是楼上说的方式。
    不过这种休闲游戏,一般用外挂的不多,如果有人做你们的外挂,那说明你们赚到钱了!
    0评论
  • 邪让多杰 2018-01-04 15:43

    方案1:

    双客户端节点验证,局域网方案。
    节点:
    • 击球点
    • 击球力度
    • 击球方向
    • 白球初始点
    这样的情况下,都是每一次碰撞都是射线问题,球不会莫名拐弯,所有都是直线,服务器只用知道AB两组客户端再撞到球后,是否有角度偏差即可。
    如果有偏差,则服务端再算正确值,发送给双端。
    比起第2种,省性能。


    方案2:

    服务端、客户端都跑同一套物理引擎,台球要想效果好,物理引擎肯定是自己写的,说物理引擎夸张了,通常都是针对台球的一套。

    github找找就有。

    0评论
  • L.Hong 2018-01-03 09:40
    有没有大神来指导一下....
    0评论
  • {{ answer.user.NickName }} {{ answer.profession }} {{ answer.created_at | time-format }}
    专家回答
    {{{ answer.answer }}}
    {{ answer.answer_count | view-format }}评论
加载中... 查看更多回答