游戏反作弊系统接入: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,个人感觉这些设置谈不上简单,需要花一点时间去研究试错,希望我这篇文章能够帮助大家少走一些弯路,感谢您花时间阅读,谢谢。

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

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

相关推荐
你的人类朋友16 小时前
认识一下Bcrypt哈希算法
后端·安全·程序员
Buling_018 小时前
游戏中的设计模式——第三篇 简单工厂模式
游戏·设计模式·简单工厂模式
Jasmine_llq19 小时前
《P3825 [NOI2017] 游戏》
算法·游戏·枚举法·2-sat 算法·tarjan 算法·邻接表存储
小森程序员19 小时前
基于原神游戏物品系统小demo制作思路
游戏·原神·物品收集·物品消耗
Coovally AI模型快速验证21 小时前
基于YOLO集成模型的无人机多光谱风电部件缺陷检测
人工智能·安全·yolo·目标跟踪·无人机
宁檬精21 小时前
算法练习——55.跳跃游戏
数据结构·算法·游戏
夏天的风991 天前
本地部署PLM系统,如何用 ZeroNews 实现远程访问?
安全·远程工作
红红大虾1 天前
Defold核心概念之Message Passing
游戏开发
wanhengidc1 天前
高性价比云手机挑选指南
运维·网络·安全·游戏·智能手机
拉法豆粉1 天前
三方软件测试可移植性测试哪些内容
数据库·安全