EpicGuard

适用于 Minecraft 服务器和代理的机器人防护系统。

资源图片
# 🛡 EpicGuard [![GitHub stars](https://img.shields.io/github/stars/4drian3d/EpicGuard)](https://github.com/4drian3d/EpicGuard/stargazers) [![GitHub forks](https://img.shields.io/github/forks/4drian3d/EpicGuard)](https://github.com/4drian3d/EpicGuard/network) [![GitHub issues](https://img.shields.io/github/issues/4drian3d/EpicGuard)](https://github.com/4drian3d/EpicGuard/issues) [![GitHub license](https://img.shields.io/github/license/4drian3d/EpicGuard)](https://github.com/4drian3d/EpicGuard/blob/master/LICENSE) [![Java CI](https://github.com/4drian3d/EpicGuard/actions/workflows/gradle.yml/badge.svg)](https://github.com/4drian3d/EpicGuard/actions/workflows/gradle.yml) ![](https://img.shields.io/github/downloads/4drian3d/EpicGuard/total?logo=GitHub&style=flat-square) 一个用于最新 Minecraft 版本的简单反作弊插件。 ## ✅ 支持的平台 / 最新版本要求 * [Paper 1.20.1+](https://papermc.io/) *(支持所有 paper 的分支)* * [Velocity 3.3+](https://papermc.io/software/velocity) * Java **17** ## ✨ 功能 * 总共 **8** 个可配置的反作弊检查: * 地理位置检查 - 国家/城市黑名单或白名单。 * VPN/代理检查 - 可配置的服务和缓存。 * 昵称检查 - 使用正则表达式阻止某些昵称模式。 * 重连检查 - 要求使用相同的地址和昵称重新加入服务器。 * 服务器列表检查 - 连接之前需要先 ping 服务器(将其添加到服务器列表)。 * 设置检查 - 确保玩家加入后发送设置数据包(vanilla 客户端行为)。 * 锁定 - 如果连接过多,暂时阻止传入连接。 * 姓名相似性检查(BETA) * 账户限制。 * SQLite/MySQL 支持。 * 实时动作栏统计信息。 * 自动白名单。 * 控制台过滤器。 [![](https://www.bisecthosting.com/partners/custom-banners/6fa909d5-ad2b-42c2-a7ec-1c51f8b6384f.webp)](https://www.bisecthosting.com/4drian3d) ## 📚 命令 & 权限 要能够使用命令,请给自己授予 **epicguard.admin** 权限。 在不同的平台上,有附加的别名可用,例如 **/guardvelocity** 或 **/epicguardpaper** | 命令 | 描述 | |----------------------------------------------|------------------------------------------------------------------------| | /guard help | 显示所有可用命令。 | | /guard reload | 重新加载配置和消息。 | | /guard whitelist | 白名单/取消白名单地址或昵称。 | | /guard blacklist | 黑名单/取消黑名单地址或昵称。 | | /guard analyze | 显示指定地址或昵称的详细信息。 | | /guard status | 切换在动作栏上显示实时攻击信息。 | | /guard save | 强制保存到数据库。 | ## 🔧 在您的项目中,使用 EpicGuard API: api 不能算很高级,现在您使用它能做的事情不多。
Gradle (Kotlin) ```kotlin repositories { // Snapshots maven("https://s01.oss.sonatype.org/content/repositories/snapshots/") // Releases mavenCentral() } dependencies { compileOnly("com.github.4drian3d:epicguard-api:[VERSION HERE]") } ```
Gradle (Groovy) ```groovy repositories { maven { url = 'https://s01.oss.sonatype.org/content/repositories/snapshots/' } mavenCentral() } dependencies { compileOnly 'com.github.4drian3d:epicguard-api:[VERSION OR COMMIT ID HERE]' } ```
Maven ```xml sonatype-oss-snapshots1 https://s01.oss.sonatype.org/content/repositories/snapshots/ com.github.4drian3d epicguard-api [VERSION HERE] provided ```
使用 API 确保您的插件在 EpicGuard 完全加载之前。 [点击查看 API 类](https://github.com/4drian3d/EpicGuard/blob/master/core/src/main/java/me/xneox/epicguard/core/EpicGuardAPI.java) ```java // 导入 API 类。 import me.xneox.epicguard.core.EpicGuardAPI; import me.xneox.epicguard.core.manager.AttackManager; public class EpicGuardAPIExample { // 访问 EpicGuardAPI 实例。 EpicGuardAPI api = EpicGuardAPI.INSTANCE; // 获取 AttackManager 实例: AttackManager attackManager = api.attackManager(); // 检查服务器是否正在受到攻击。 boolean isUnderAttack = attackManager.isUnderAttack(); // 检查当前每秒连接数。 int cps = attackManager.connectionCounter(); // 检查用户国家/地区: String countryId = api.geoManager().countryCode("127.0.0.1"); } ```
## 🕵️ 隐私声明 * 此插件连接到各种外部服务,以完全按预期工作。 * 从 MaxMind 下载的 [MaxMind 的 Geolite2 数据库](https://dev.maxmind.com/geoip/geoip2/geolite2) (国家/地区和城市) 在首次启动时下载,并每周更新。您的用户地理位置将在您的服务器上本地进行检查。 * *默认配置中*,会将连接用户的 IP 地址发送到 https://proxycheck.io/ 以检查它们是否未使用代理或 VPN。 * IP 地址和与之相关的昵称以纯文本形式存储在本地数据库中*(!)*。 * 此插件会定期检查此仓库中发布的最新版本。 *此功能可以禁用。* * *没有指标系统或其他任何类型的数据收集。* 这是一个 [更新版本](https://github.com/awumii/EpicGuard#%EF%B8%8F-maintained-fork-can-be-found-at-httpsgithubcom4drian3depicguard) 的 EpicGuard,适用于 Paper、Waterfall 和 Velocity 的最新版本。