前言
最近我开发了一款游戏,刚上线就遇到了一大堆麻烦事,下面就来听听我这亲身经历的惨痛教训吧!
事发经过
我开发了一款名为"奥德赛"的大型多人在线游戏中,玩家们可以创建自己的帝国、征战世界、发展科技,然而,该游戏没有反作弊系统,就给了黑客可乘之机。于是友一天,该游戏服务器突然陷入混乱,玩家们纷纷报告称他们的帝国被破坏,资源被盗,甚至有些人的账户被封。我急忙调查,发现他们的数据库遭到黑客入侵,大量玩家的账户信息被窃取,游戏内部的经济体系被篡改,导致了游戏内部的通货膨胀和混乱。于是我不得不关闭服务器进行紧急维护,恢复玩家的账户和帝国。然而,这一事件给我的游戏造成了严重的影响,玩家流失严重,游戏的活跃度急剧下降。(以上故事纯属虚构)
这一事件迫使我的游戏急切的需要接入反作弊系统,经过一段时间的调研,我选中了一套反作弊系统: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,个人感觉这些设置谈不上简单,需要花一点时间去研究试错,希望我这篇文章能够帮助大家少走一些弯路,感谢您花时间阅读,谢谢。
请你喝杯 ☕️ 点赞 + 关注哦~
最后,创作不易,如果对大家有所帮助,希望大家点赞支持,有什么问题也可以在评论区里讨论😄~**