游戏反作弊系统接入:Part 1

前言

最近我开发了一款游戏,刚上线就遇到了一大堆麻烦事,下面就来听听我这亲身经历的惨痛教训吧!

事发经过

我开发了一款名为"奥德赛"的大型多人在线游戏中,玩家们可以创建自己的帝国、征战世界、发展科技,然而,该游戏没有反作弊系统,就给了黑客可乘之机。于是友一天,该游戏服务器突然陷入混乱,玩家们纷纷报告称他们的帝国被破坏,资源被盗,甚至有些人的账户被封。我急忙调查,发现他们的数据库遭到黑客入侵,大量玩家的账户信息被窃取,游戏内部的经济体系被篡改,导致了游戏内部的通货膨胀和混乱。于是我不得不关闭服务器进行紧急维护,恢复玩家的账户和帝国。然而,这一事件给我的游戏造成了严重的影响,玩家流失严重,游戏的活跃度急剧下降。(以上故事纯属虚构)

这一事件迫使我的游戏急切的需要接入反作弊系统,经过一段时间的调研,我选中了一套反作弊系统:EasyAntiCheat,简称 EAC。接下来咱就来聊聊如何来给你的游戏接入 EAC 吧!

什么是 EAC

EasyAntiCheat 是一种常用的反作弊系统,用于多人在线游戏和电子竞技比赛中。它旨在防止玩家使用外挂、作弊软件或修改游戏文件来获得不正当优势,以维护游戏的公平性和竞争性。

EasyAntiCheat 通过监控玩家的游戏进程、系统内存和文件系统来检测可疑的活动。它可以识别并阻止各种作弊行为,例如自动瞄准、墙壁透视、速度加速等。此外,EasyAntiCheat还提供了实时报警和追踪功能,使游戏开发者能够更快地发现和应对作弊行为。

许多知名的游戏开发商和发行商,如Epic Games、Ubisoft、Valve等,都采用了EasyAntiCheat系统来保护他们的游戏免受作弊行为的影响。

环境准备

首先,咱们来看看在接入 EAC 之前,如何去下载 EAC SDK。

在 Epic 开发者门户:dev.epicgames.com/portal/zh-H... 注册账号。

然后创建一个组织,创建完成后再创建自己的项目。进入开发者门户后,在右上角有一个 SDK 下载的入口,

EAC SDK 支持C ,C#以及移动端(iOS, Android),

SDK 中反作弊 API 文档地址:dev.epicgames.com/docs/zh-Han... ,定位到 EOS 游戏服务,反作弊接口,

Epic后台项目配置

创建完成游戏项目之后,还需要对项目进行一些配置,Epic 的服务分为 Dev, Stage 和 Live 阶段,分别的对应关系是 Dev 对应的开发阶段,Stage 对应的是灰度测试阶段,Live对应的是正式发行。正常情况下我个人觉得只需要关注 Dev 以及 Live 俩个阶段即可。

创建项目

如果咱们的项目要接入 EAC 的话,是必须要在 Epic 开发者门户中进行相关的设置。首先进入你已经创建好的项目,然后进入产品设置,

Epic 已经帮你创建好了Dev, Stage 和 Live 三个环境的沙盒 ID 和部署 ID,

这些 ID 后续都是要在程序中用来初始化 EOS SDK 环境的。

创建客户端政策

点击进入客户端,然后添加新的客户端政策,

然后设置如图所示,取名可以自定义,咱们这边就叫 AntiCheat, 然后类型选择 TrustServer, 其他的设置使用默认设置即可。

最后点击添加新得客户端策略。

创建客户端

客户端名称取名"Aodesai"(奥德赛),客户端政策就使用刚才设置的 AntiCheat.

身份提供程序

进入身份提供程序,添加身份提供程序。EOS 提供了多种第三方的身份验证渠道,如图所示:

这里我就选择去 Steam 平台验证吧!毕竟 Steam 平台是最主流的游戏平台之一。里面的栏目中需要设置一个加密密钥,这个密钥该去 STEAMWORKS 开发者平台去获取,如何获取这个密钥,下面的内容中我会讲到。

身份验证的内容设置完毕后,我们就可以上线沙盒环境了。

沙盒

点击沙盒后,你会看到页面中有三个环境,Dev, Stage 和 Live,测试的话我们肯定是选择 Dev, 灰度测试我们就选择 Stage(当然用 dev 也没关系),然后上线后就用 Live,所以顺序大家别弄错了。

首先要部署 Dev 沙盒的身份提供程序,选择我们之前设置好的 Steam, 下拉列表中找到 Gray.

最后点击部署,然后完成部署,这样我们 EOS 反作弊的功能就在 Epic 开发者门户中设置好了。

STEAMWORKS 生成密钥

最后,咱们来不补上没说全的内容,如何去获取 STEAMWORKS 中对应的加密密钥呢!

第一步

登录 STEAMWORKS 开发者后台:partner.steamgames.com/apps/

然后进入所对应的 App,譬如我的游戏"奥德赛"是要在 Steam 上发售的,所以我肯定是要在它平台上创建一个游戏应用。

第二步

进入app后,找到技术工具,编辑 Steamworks 设置,

然后选择,安全性->SDK 验证,

第三步

如果页面中还未生成过,则需要手动设置生成一下,如图:

好了,拷贝这一串加密密钥到上面所说的身份提供程序中 Steam 的加密密钥栏中设置一下即可。

结尾

到这里,要使用 EAC 反作弊功能的前提环境设置就都已经讲完了,接下来就是项目如何去对接 EOS SDK,个人感觉这些设置谈不上简单,需要花一点时间去研究试错,希望我这篇文章能够帮助大家少走一些弯路,感谢您花时间阅读,谢谢。

请你喝杯 ☕️ 点赞 + 关注哦~

最后,创作不易,如果对大家有所帮助,希望大家点赞支持,有什么问题也可以在评论区里讨论😄~**

相关推荐
鸭梨山大。35 分钟前
Jenkins 任意文件读取(CVE-2024-23897)修复及复现
安全·中间件·jenkins
黑客老陈1 小时前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
代码改变世界ctw7 小时前
如何学习Trustzone
安全·trustzone·atf·optee·tee·armv8·armv9
WTT001110 小时前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
群联云防护小杜13 小时前
如何给负载均衡平台做好安全防御
运维·服务器·网络·网络协议·安全·负载均衡
ihengshuai13 小时前
HTTP协议及安全防范
网络协议·安全·http
黑客Jack14 小时前
防御 XSS 的七条原则
安全·web安全·xss
云云32114 小时前
怎么通过亚矩阵云手机实现营销?
大数据·服务器·安全·智能手机·矩阵
神一样的老师15 小时前
面向高精度网络的时间同步安全管理架构
网络·安全·架构
云云32117 小时前
云手机方案全解析
大数据·服务器·安全·智能手机·矩阵