文档章节

XYGame-网络同步3-防作弊

梦想游戏人
 梦想游戏人
发布于 2017/04/26 17:39
字数 721
阅读 39
收藏 0

GIT https://git.oschina.net/dreamyouxi/XYGame

对应工程是ClientServer 服务器

客户服务端 ClientServer

运行在服务端的软件。 用于模拟客户端的运算 来校验数据,原则上 只是UnityClient的一个场景 和部分修改代码 没有UI 只有逻辑,有单独的线程 负责和 LogicServer通信等

 

由于所有逻辑都在客户端,执行,像战争迷雾,客户端逻辑错乱,开辅助软件刷号 刷金币等,操作型的作弊 对于手游,我没什么解决方法,对于各个客户端逻辑的正确性,可以通过ClientServer 来效验,具体流程

战斗完成后,战斗服务器 会把游戏帧数据保存 到redis  或者文件什么的,LogicServer 会向ClientServer发起 数据效验请求,带上装备信息,战斗id 等基本信息,ClientServer 可以做成一个队列,收到请求后立刻和客户端一样的算法 来快速模拟这句游戏,然后匹配战斗结果 是否一致,

有一层小优化就是可以预先判定各个客户端的数据是否一致,一致才发起数据效验,目前实现的ClientServer 只相比客户端多了100多行代码,开发逻辑时 不需要特地在意,打包的时候 选择ClientServer 场景即可,GIT连接的UnityClient工程中 已实现

由于服务器没有显卡,运行Unity 可用 xxx.exe -batchmode 命令来运行,

当然,只是开发版本,运营的话 还要改动大量客户端代码,比如吧View 音效 特效等东西去掉,只留下逻辑

等代码,当然客户端框架设计得好的话可以很简单就移除掉View Audio 等模块。

 

这种效验方式只能在战斗结束后才能效验,如果玩家作弊,虽然对其他玩家不会有太大的影响,但是有时候还会在游戏过程中需要立刻阻止 或者响应很快的知道某客户端作弊,强行掉线 不让其进行游戏的这种需求的话,

方案:服务端的ClientServer 同步模拟游戏,然后一定Tick 对整个游戏系统 做信息摘要,比如求一次hash 来做对比,这种在不需要知道客户端作弊内容的情况下,还比较好,当然也可以用客户端之间来做对比(所有客户端都作弊 那就无解了,也存在作弊内容不一样的情况), 这种粗暴的强行不让游戏的做法比较粗暴,可以让整盘游戏失效,也可以做到 谁作弊 谁强行掉线

 

端游还可以开个守护进程监测系统进程活动,类似于TX的TP系统,不过也防不了高手

© 著作权归作者所有

共有 人打赏支持
梦想游戏人
粉丝 34
博文 420
码字总数 119565
作品 0
成都
棋牌游戏唯有公平公正,才能稳定长久赚钱。

  不少运营商反馈,玩家在游戏当中存在不公平游戏行为:联合报牌打牌,看牌打牌,玩家怀疑产品存在外挂等,玩家都觉得游戏不公平,自然不会再玩。如何让玩家玩游戏玩起来公平公正呢?上海傲...

棋牌游戏开发
2017/10/25
0
0
我们的GAME-TECH沙龙北京站完美收官了,都讨论了些啥?

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 腾讯游戏云 团队首发与云+社区 摘要:4月13日,腾讯游戏云GAME-TECH游戏开发者技术沙龙于北京举办。此次活动是腾讯游戏云...

腾讯云加社区
04/20
0
0
2018高考来了,监考黑科技扎堆上阵的考场是怎样的存在?

     今天,一年一度的高考即将拉开序幕,在这场受到社会全面关注的盛大考试面前,为保障高考的公平与公正,高考监考措施再度升级,各式各样的安防手段得到了充分的加强。那么,今年的高...

深度学习
06/07
0
0
记者暗访“投票公司”: 网络投一万票仅需200元

中广网兰州12月28日消息 近年来,类似“超女”、“快男”的海选,各地各行业的“百优”、“十佳”等社会参与的投票活动或公众评选活动大量涌现。这些“人物”的产生,主要以网络投 票方式为主...

红薯
2010/12/28
1K
9
冲顶大会、HQ火了,该如何打造一款在线答题App呢?

1月3日,王思聪微博宣布“撒币”10万元之后,一个才发布不到10天的App“冲顶大会”引爆了微博和朋友圈。一夜之间,这个线上版的开心辞典一路飙升至App下载排行前列。 冲顶大会是什么? 冲顶大...

01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
43分钟前
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
55分钟前
0
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
0
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部