EpicGuard
No reviews yet
Bot protection system for Minecraft servers and proxies
Provides a framework or library for other mods to use.
Paper is a fork of Spigot that adds its own plugin API on top of the Bukkit API. All Spigot plugins are compatible with paper, not all paper plugins are compatible with Spigot.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
🛡 EpicGuard
A simple AntiBot plugin for newest Minecraft versions.
✅ Supported platforms / Latest release requirements
- Paper 1.20.1+ (all paper forks are supported)
- Velocity 3.3+
- Java 17
✨ Features
- A total of 8 configurable antibot checks:
- Geographical check - country/city blacklist or whitelist.
- VPN/Proxy check - configurable services and caching.
- Nickname check - block certain nickname patterns using regex.
- Reconnect check - require re-joining the server with an identical pair of address and nickname.
- Server list check - require pinging the server before connecting (adding it to the server list).
- Settings check - make sure that player sends a settings packet after joining (vanilla client behaviour).
- Lockdown - temporarily block incoming connections if there are too many of them.
- Name similarity check (BETA)
- Account limit.
- SQLite/MySQL support.
- Live actionbar statistics.
- Automatic whitelisting.
- Console filter.
📚 Commands & Permissions
To be able to use commands, give yourself the epicguard.admin permission.
On different platforms there are additional aliases available, such as /guardvelocity or /epicguardpaper
| Command | Description |
|---|---|
| /guard help | Displays all available commands. |
| /guard reload | Reloads config and messages. |
| /guard whitelist <add/remove> <nick/address> | Whitelist/unwhitelist an address or nickname. |
| /guard blacklist <add/remove> <nick/address> | Blacklist/unblacklist an address or nickname. |
| /guard analyze <nick/address> | Displays detailed information about the specified address or nickname. |
| /guard status | Toggles live attack information on actionbar. |
| /guard save | Forces save to the database. |
🔧 Using EpicGuard API in your project:
The api is not very advanced, and there is not much you can do with it for now.
Gradle (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)
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
<repositories>
<!-- Only for Snapshots-->
<repository>
<id>sonatype-oss-snapshots1</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.4drian3d</groupId>
<artifactId>epicguard-api</artifactId>
<version>[VERSION HERE]</version>
<scope>provided</scope>
</dependency>
</dependencies>
Using the API
Make sure that EpicGuard is fully loaded before your plugin.// Importing the API class.
import me.xneox.epicguard.core.EpicGuardAPI;
import me.xneox.epicguard.core.manager.AttackManager;
public class EpicGuardAPIExample {
// Accessing the EpicGuardAPI instance.
EpicGuardAPI api = EpicGuardAPI.INSTANCE;
// Obtaining the AttackManager instance:
AttackManager attackManager = api.attackManager();
// Checking if server is under attack.
boolean isUnderAttack = attackManager.isUnderAttack();
// checking current connections per second.
int cps = attackManager.connectionCounter();
// Checking user's country:
String countryId = api.geoManager().countryCode("127.0.0.1");
}
🕵️ Privacy disclaimers
- This plugin connect to various external services, to fully work as intended.
- MaxMind's Geolite2 databases (country and city) are downloaded at the first startup and updated every week. Geolocation of your users is checked locally on your server.
- In the default configuration, IP addresses of connecting users are sent to https://proxycheck.io/ to check if they're not using a proxy or a VPN.
- IPs and nicknames associated with them are stored in the local database (as plain text(!)).
- This plugin periodically checks the latest version released in this repository. This feature can be disabled.
- There is no metrics system or any other kind of data collection.
This is an updated version of EpicGuard for recent versions of Paper, Waterfall and Velocity.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
