⭐ EpicGuard | Protect your server from bots (& more) ⭐ icon

⭐ EpicGuard | Protect your server from bots (& more) ⭐ -----

Bot protection system for Minecraft servers. Supporting Spigot, Bungeecord, Velocity, 1.12-1.17.




Changelog
  • Added new check: NicknameCheck - it uses regular expressions (regex) to validate nicknames.
  • Added new command: /guard analyze - you can provide an IP address or nickname, and it will show you details about the user, such as country, city, blacklist/whitelist status, and alt accounts.
  • Added nickname whitelist and blacklist. Commands /guard whitelist add/remove and /guard blacklist add/remove now also accept nicknames. Check your message.yml file if you translated these commands before.
  • Fixed many issues with AccountLimitCheck, such as not being able to login with any account after reaching the limit (may still be unstable).
  • Added metrics for Velocity version.
  • Many minor improvements in the code.

Example of /guard analyze
City and country are unknown because this is a localhost address.
Screenshot_20210221_131834.png
----------, Feb 21, 2021

Changelog
  • Completely removed blacklisting from checks.
  • Added config setting to adjust ProxyCheck cache duration (set to 30 minutes by default).
  • New logging system, no longer logging everything as errors on Velocity and Waterfall.
  • Invalid IP addresses are no longer throwing exceptions.
  • Added connection/read timeout for URL requests.
  • More meaningful error/warning messages.
  • Added debug.
----------, Dec 31, 2020

Changelog
  • Fixed commands not working on bukkit.
  • Added new config option 'console-filter-mode'. You can now set console-filter to work only during bot-attack or disable it completely.
  • Added new config option 'auto-whitelist', you can now disable the auto-whitelist feature.
  • Minor performance improvements.
  • Slightly improved config comments.
----------, Dec 7, 2020

Changelog
  • Commands have been improved. The /guard whitelist <address> and /guard blacklist <address> commands has been replaced with /guard whitelist <add/remove> and /guard blacklist <add/remove> . Whitelisted and blacklisted addresses will also be suggested when executing these commands.
  • Improved ReconnectCheck - it will require to reconnect with the same combination of nickname and address.
  • Updated to the latest version of the Velocity API.
  • Fixed rate-limit check not using the value from the configuration.
  • Added autosave.
  • Added API.
----------, Dec 2, 2020

Fixed errors on the bungeecord version of this plugin.
----------, Sep 6, 2020

Changelog
  • Added option to not blacklist proxy/VPN users. They will be only kicked, and when they turn off the VPN, they will be able to join normally.
  • Added cache for ProxyCheck requests.
----------, Sep 6, 2020

Changelog
  • Added 1.16.x support for notifications.
  • Improved performance of AccountLimitCheck (from ~30ms to 1ms).
  • Fixed JSONException error on enabling and on login.
----------, Aug 29, 2020

Information
Download button should redirect you to the latest GitHub release because now every platform has it's own jar (Spigot/Bungee/Velocity).

Changelog
  • Now, instead of a single EpicGuard.jar file, every platform has individual jar file (for spigot servers you download epicguard-bukkit.jar, for bungee - epicguard-bungee.jar, and epicguard-velocity.jar for velocity).
  • Added new RateLimitCheck - it will limit how fast a user (from the single IP address) can reconnect.
  • Added message if an unknown argument is used.
  • Improved downloading of the GeoIP databases.
  • Removed deprecated methods, updated libraries, and general code cleanup.
----------, Aug 28, 2020

Changelog
  • Added new options to the 'messages.yml' file to customize actionbar monitor (/guard notifications).
  • Fixed console spam on spigot.
  • Fixed kick messages on velocity.
----------, Jul 28, 2020

Changelog
  • Fixed OperatorMechanics bypass by using upper-case characters in command.
  • Command /guard reload will now also reload modules configuration
----------, Jul 27, 2020

Changelog
  • Added new check - ServerListCheck (or just PingCheck). This check will force players to ping your server, by adding it to their servers list (configurable as all other checks).
  • Minor performance improvements.
----------, Jul 24, 2020

Changelog
  • Added support for Velocity proxy.
  • Added configuration option to disable update checker.
  • Fixed startup error when not running on Waterfall/Travertine (now it will only print a warning and disable LogFilter).
  • Fixed notifications and attack mode not disabling on Bungee (yeah, again).
  • Relocated Jackson dependency, which should improve compatibility with other plugins using this dependency with a different version of it.
----------, Jul 21, 2020

Changelog
  • Added setting to change default proxy/vpn checker (proxycheck.io) to your own.
  • Added setting to limit requests sent by the proxy/vpn checker (default: 1000 requests)
----------, Jul 15, 2020

Changelog
  • Added new check - AccountLimit - it will limit how many accounts can be used by one IP address.
  • Fixed not working notifications on the bungee, as well as the attack not toggling off (the previous update didn't fix it).
  • Added update checker.
  • Changed command design.
----------, Jul 13, 2020

Changelog:
  • Fixed schedulers on BungeeCord: not working actionbar status and attack mode never toggling off.
  • Added back Metrics.
----------, Jul 12, 2020

Information
EpicGuard has been rewritten entirely from scratch. Almost everything has been changed (except for the "spigot module system" which works in the almost same way as before). Overall EpicGuard should now run better and faster than before. It has been tested but may still contain bugs, and missing features. If you have found an issue, or have an idea for an improvement, feel free to tell me about it.
You must reset your config.yml file.
Changelog:
Because this is a recode, I will list only the noticeable changes
  • A new configuration system that is more organized, and won't break after the update which changes something in the configuration file.
  • Improved the check system, now you have more control over how the checks will behave.
  • Proxy+VPN check will now detect VPNs (before it only detected proxies because I forgot to set an important flag in proxycheck.io query).
----------, Jul 11, 2020

Changelog
The full recode of the plugin (EpicGuard v5) is coming soon. This update does not require resetting your config, it will update automatically (and unfortunately erase 50% of config comments)
  • Added city whitelist/blacklist in the configuration.
  • Updated some libraries.
----------, Jul 2, 2020

Changelog
There are no changes on the spigot side of this plugin, you only need this update if you are running on bungeecord.
  • Fixed the incompatibility with the Bungeecord permission plugins.
----------, Jun 4, 2020

Changelog
  • EpicGuard's modules check won't be performed if another plugin has already canceled the event.
  • Fixed the rare error on the startup.
  • Changed the order of the Geographical check, if you have set up the country whitelist/blacklist plugin should blacklist more bots.
  • Added (again) the GuardCloud - it will synchronize the unsafe addresses (proxies used by the bots), with your local blacklist. Sync will perform on startup, every hour, and if you are on the spigot, you can force sync using the /guard menu.
----------, Jun 3, 2020

Changelog
  • Storage Manager has been rewritten, and MySQL support has been added! The new file "mysql.yml" will be created in the EpicGuard plugin directory. It does not support data transfer from flat to MySQL yet (but it might be available in the future).
  • Improved the plugin's GUI, added more item actions to it (for example, you save data by clicking data management item slot).
The configuration has not been changed. The messages file will automatically update with 4 new values.
----------, May 31, 2020

Changelog
  • Rewritten the detections system, which now works way better than before. This has a huge impact on spigot servers (especially 1.8), and a smaller impact on the bungee servers. This update has been tested with a free server.pro server on paper spigot 1.8.8, and free mcspam attack. Before, some bots bypassed the antibot protection and spammed the chat with join/quit and some other messages. Now, most of the bots are blocked, but if some of them still bypass the antibot, you won't even notice they were on your server.
  • Fixed the console warning on newer java versions.
  • Implemented the 'detections-per-second' condition (which was in the configuration before, but was not used in the code).
----------, May 29, 2020

Changelog
  • Rewritten the User system, which fixed many issues, such as:
    • Console spam when country/city is not found.
    • Console spam and server crash when status monitor is activated.
    • High CPU usage by the plugin.
----------, May 15, 2020

Changelog
  • Fixed NullPointerException console spam when someone is connecting to the server.
  • Fixed NullPointerException when viewing offline users.
  • Fixed the wrong TimeUnit on Bungee auto-whitelist, causing auto-whitelist to not work properly.
  • Rewritten notifications system, you can now customize it in the messages file.
  • Added BlockedCommands, TabCompleteBlock, and CustomTabComplete modules to the Bungee version (bungee.yml file will be created).
  • Fixed the disableOperatorMechanicsConsole module.
  • Small changes to the commands, and changes in the code.
----------, May 13, 2020

Fixed NullPointerException console spam during bot-attack (this issue was only occurring on spigot/paper servers).
----------, May 10, 2020

Changelog
  • Rewritten the User system. It now stores player data in the JSON files (plugins/EpicGuard/data/users). You can now see information about offline users using /guard player (Soon it will be added to the GUI with pages).
  • Fixed saving storage data. Names/addresses from the reconnect and server list modules are now stored in the storage file. This improves the ReJoin and ServerList modules.
  • Added back Logger. It will log debug info in the log files (plugins/EpicGuard/logs), for example, the antibot checks performed on the users.
  • Because of some code changes, file size is now a lot smaller.

unknown.png unknown (1).png
----------, May 8, 2020

  • Added the SuperAdmin module. Players listed on this module will bypass every command and tab-complete check, even if bypass-permission is disabled.
  • Added BlockNamespacedCommandsWhitelist setting.
  • Fixed auto whitelist was using wrong time unit.
----------, Apr 26, 2020

  • Added bypass-permission to BlockedCommands and NamespacedCommands modules.
  • Fixed NullPointerException when GeoApi databases are disabled.
  • Added option to de-op all operators on startup.
  • Fixed the "disable-vanilla-operator-mechanics-in-console" setting was using the wrong value from configuration.
----------, Apr 19, 2020

Fixed incompatibility with some versions. (Re-uploading this hotfix because of some issues)
----------, Apr 17, 2020

  • Fixed bug with not working setting 'allowed-commands-bypass'.
  • Added option to disable operator mechanics in the console.
  • Added PlayerBuildListener for OperatorProtection. If you have enabled OperatorProtection, when someone has op but is not on the list, he will be not able to build and will be banned instantly (not only when using a command).
  • Rewritten antibot check system.
  • Fixed /guard reload was not reloading SpigotSettings.
  • EpicGuard's GUI has been slightly changed is now using InventoryAPI.
  • New Module system on spigot.
  • Re-added metrics to the bukkit version.
I have also updated the main resource page, it is now more detailed and designed in a better way.
----------, Apr 17, 2020

Fixed GUI click incompatibility with 1.13+ versions.
You MUST download it from this link: https://github.com/PolskiStevek/EpicGuard/releases/download/4.1.0/EpicGuard-4.1.0.jar
----------, Apr 17, 2020

  • In the default configuration, the Geographical check will be DISABLED, to prevent from your IP being blacklisted falsely. I really recommend setting up Geographical check (to match your player's countries), as this will drastically improve checking performance, and decrease false positives.
  • Removed config regenerator, to prevent from weird issues (if you are updating from v3 to v4, you must manually remove old config).
  • Added the DisableOperatorMechanics module (to EpicGuard/spigot.yml, and to messages.yml), this will disable vanilla op commands (also the "minecraft:something" ones).
  • Added the BlockNamespacedCommands module (to EpicGuard/spigot.yml, and to messages.yml), this will block every command, which contains the ':' symbol (like minecraft:say, essentials:me etc).
  • Replaced SmartInvs with my own InventoryAPI (https://github.com/PolskiStevek/InventoryAPI). Plugin GUI will be rewritten soon!
----------, Apr 13, 2020

  • Fixed ServerListCheck was using the hostname instead of host address.
  • Fixed not working counters on BungeeCord.
----------, Apr 7, 2020

Fixed the error when Geographical detection is disabled.
----------, Apr 7, 2020

Information
  • Because of the many configuration changes, your config.yml file will be removed and re-created. You can create a backup of this file before updating. There will be more features added soon in the upcoming updates.
Changelog
  • Refactored and optimized many parts of the project's base code.
  • Added more options to configure the additional protection's conditions.
  • Added option to fully disable proxy checking.
  • Temporarily removed the update checker.
  • Fixed GeoApi issues, such as FileNotFoundException, and some more, related to the downloader.
  • Changed look of status notifications, removed the title because it was causing flickering on 1.14+.
  • URLHelper will now log a warning message instead of the printing stack trace (for example, when proxy checking fails).
  • Fixed and improved AdvancedProxyChecker.
  • And many more changes...
----------, Apr 7, 2020

▶ Changelog
  • Created a new proxy checking system, it will create a new section in your config, called "advanced-proxy-checker". This will be disabled by default (if this setting is disabled, the old proxy checking system will be used, using your key). You can specify as many proxy checking sites as you want. Enabling this will disable the old proxy checking system based on your proxycheck.io key.
  • Fixed issue with FileNotFoundException on Velocity and some other platforms.
  • Fixed issue with not enabling on regular BungeeCord (I still prefer using Waterfall).
  • Deleted not working 'bandwidth-optimizer' because it was causing issues.
  • The logger is now using java logging util to prevent incompatibilities with different platforms.
  • Old proxy checker is now using HTTPS instead of HTTP.
----------, Mar 24, 2020

▶ Changelog
  • Deleted sentry, as it was catching errors from other plugins and issues caused by the users.
  • Fixed issue with default config file for bungeecord containing only 5 values.
  • Fixed critical issue with bungeecord not blocking all bots, causing the server to crash after some time.
  • Greatly improved performance of checks. Using HashSet instead of ArrayList (big performance boost on long attacks).
  • Added new ActionBar and title messages on the attack.
----------, Mar 22, 2020

News
  • We have added support for the Velocity, super optimized proxy server. EpicGuard for Velocity is very lightweight, but contains all antibot features and blocks bots almost imperceptibly! We really recommend thinking about switching to Velocity. It is not bungeecord fork, so if you use plugins on your bungeecord they may not work on Velocity, but it contains most features of bungeecord, like IP-forwarding.
Changelog
  • EpicGuard's errors (Stack Traces) are now managed by Sentry.io. This will allow me to fix issues even faster before someone will report them. This will also hide most of the error logs from your console.
  • Changed way how databases check for update. It will no longer update every 1 week but only when an update was found.
  • Increased size of player-manager GUI.
  • Re-added player IP address history.
  • The jar file size is now smaller by ~1MB.
  • The logger is now using SLF4J.
  • Fixed some minor issues.
Coming soon
  • Proxy scrapers.
  • Option to set your own proxy checking APIs.
  • More antibot checks.
  • Automatic updater.
  • MySQL support (maybe even web panel?).
  • Full rewrite of EpicGuard (4.0).
----------, Mar 20, 2020

Changelog:
  • Improved performance with a new counter system. It might be more or less accurate than before.
  • Improved bot detection system.
  • Inventories are now being refreshed.
  • Improved User map.
  • Removed IP history.
  • Improved auto-whitelist on bungeecord.
  • Increased size of players GUI.
  • Removed debug messages.
  • Fixed issue with the logger.
  • Removed useless bstats data.
----------, Mar 19, 2020

Changelog:
  • Fixed country database not working when the check is disabled.
  • Fixed issue with 1.15 legacy material API.
  • Fixed NullPointerException on /guard menu command.
  • Updated databases.
----------, Mar 13, 2020

Changelog:
  • Improved GUI. Added new 'Module Status' menu, with the status of all plugin modules.
  • Added warning and auto-shutdown if EssentialsGeoIP is installed on your server.
  • Added skulls to the players GUI.
  • Deleted not working PEX protection.
  • Deleted AntiBypass (for 1.8+ servers it was useless).
  • Improved Logger.
  • Improved API with new SkullUtil.
  • Probably broken LogFilter (if LogFilter is not working, please report it to me).
----------, Mar 12, 2020

Changelog:
  • This update brings primarily core code changes. Created EpicGuardAPI - using it, you can currently access our GeoAPI instance and exact server's TPS.
  • Added option to enable GeoIP cities ("enable-cities: true" in countries section), player's city will be displayed on /guard player or in GUI. By default, this option is disabled so the database won't be downloaded. If the city is not found or the database is disabled, it will display "Unknown?"
  • Fully rewritten our GeoAPI. Databases won't be downloaded if countries or cities section is disabled in the configuration.
  • Deleted channel/brand-related things from code (they were using values from config, but these values were never loaded).
  • Improved look of the notification action bar.
  • Fixed spaces on some commands.
  • All queries to external sites are now using 'User-Agent' property.
  • Created Javadoc: https://polskistevek.github.io/EpicGuard/
  • Lite version has been discontinued (it wouldn't use the cache, so performance will be worse. You don't need EssentialsGeoIP if you are using EpicGuard).
----------, Mar 6, 2020

Information: This version is probably last one before a new major release, 4.0.
Changelog:
  • Huge check improvement! In the 3.9.0 version, we introduced a new check system, unfortunately, it had major issues, like some of the checks, were not performing. Now, checks have been rewritten again, and are working better. You don't need to reset your config, but after this update, it will be really messy, because of some new values randomly added somewhere in the config.
  • Old 'force-rejoin' check has been replaced by new 'rejoin-check', and I don't recommend disabling it. They differ in that:
    • Addresses won't be saved in storage, to prevent bypasses.
    • The check will only work when there is a detected attack. No longer annoying players when there is no need (no attack)!
  • Added new check - ServerListCheck - it will force players to add the server to their server list, to verify that they are not a bot. Similarly to RejoinCheck, it will only work when there is a detected attack. No longer annoying players... and so on.
  • Deleted cloud.
  • Fixed Lite version of EpicGuard.
  • Fixed ProxyCheck not checking for the proxy ¯_(ツ)_/¯
----------, Mar 1, 2020

Changelog:
  • Fixed ping counter not decreasing its value (https://github.com/PolskiStevek/EpicGuard/issues/13).
  • The file size is now smaller by ~2MB by excluding log4j already included in the spigot.
  • Added "Lite" version of EpicGuard, it does not include GeoIP, so it is compatible with EssentialsGeoIP. EpicGuard is conflicting with it, so if you use EssentialsGeoIP please use the lite version (download here).
  • GeoIP database is now cached, it should slightly improve querying performance.
The jar file is again hosted on spigotmc, because of the smaller file size! ;)
----------, Feb 29, 2020

Fixed download link again ;)
----------, Feb 28, 2020

Changelog:
  • Added command /guard reset - This will allow you to reset counters (connections/pings per second) and manually disable AttackMode.
  • Fixed counter on bukkit not decreasing connections value.
  • Fixed counter on bungee not checking if the value is negative.
----------, Feb 28, 2020

Information: Looks like I uploaded the wrong version before (3.9.0 was still downloading 3.8.3), sorry for that.
Changelog:
  • Checks are no longer executed after one check fails, this should increase performance.
  • Added EssentialsGeoIP to load-before, this should fix incompatibilities with this plugin (if it doesn't fix, please send me a message).
  • Fixed NameContainsCheck not working (always returning "not detected").
  • Removed old and useless "HeuristicsCheck".
  • Fixed bungeecord speed counter not working.
  • Fixed negative counter amount.
  • Added more statistics to the bstats.
  • Deleted some unused code.
  • Updated geodatabase.
----------, Feb 27, 2020

Changelog:
  • [CRITICAL] Fixed that players could execute some EpicGuard commands without permissions.
  • Implemented a new object-based Check system. This will allow you to change the order of each check, or disable it fully.
  • Changed default messages configuration, and given it a new fresh look (you don't need to reset it, I only changed design)
  • Deleted Join counter, as it was useless because this plugin is supposed to block bots before they join.
  • Deleted option to disable antibot - it was incompatible with new check system. Just delete checks you don't want from the list.
  • Deleted some values from config, and replaced them with new check system.
  • Fixed FileNotFoundException on server startup (https://github.com/PolskiStevek/EpicGuard/issues/10)
  • Improved methods that query an URL (ProxyChecker, Updater etc.).
  • Messages file is no longer separated for bungee and spigot and is no longer downloading from GitHub.
  • Removed some unused code.
Configuration Change:
Your config will be updated automatically!
Code (YAML):
# You can change the priority of checks, by
# changing their order in the list below, or even
# disable it fully by deleting it from the list.
# Verify (check) - Forcing player to rejoin server to play
checks
:
 - Blacklist
  - Attack
  - NameContains
  - Verify
  - Proxy
----------, Feb 25, 2020

Changelog:
  • Cloud will no longer update if there is no difference between local and cloud data.
  • Logger won't print anything to file, if there is fast (above 30cps) bot attack. In some cases, this can heavily improve CPU usage and/or Disk I/O. This will also prevent very big log files.
  • Logs has been simplified.
  • Modified default configuration.
  • Removed logo on startup.
  • Slightly modified Gui.
  • And some other code changes :)
----------, Feb 22, 2020

Changelog:
  • The plugin is now using LightningStorage library, to store data. Storage is now stored in JSON file format, instead of YAML, which should slightly increase performance. This also allowed me to cleaned up a lot of useless code, which has been slowing plugin down. File size increased because of this change.
  • Command /guard (/guard help) has been redesigned on the spigot and also on the bungeecord. Bungeecord version received new commands: /guard status - action bar status (same as on spigot), /guard reload - reloading configuration without restarting the server and /guard whitelist and /guard blacklist.
  • Added auto whitelisting to bungeecord, legit players can now join the server even if there is a bot attack!
  • Updated GeoLite2 database.
----------, Feb 21, 2020

Changelog:
  • Fixed CustomTabComplete module conflicting with its bypass mode.
  • Improved default config, by disabling country filter to prevent pre-configured IP blacklists.
  • Bungeecord version does not spam [ConnectionCloser] now.
----------, Feb 18, 2020

Changelog:
  • Added new bypass permissions for 2 modules, you can toggle on or off if these permissions should be enabled.
  • Fixed issue with not erasing file with database download timestamp after updating it (This was causing database updating on every run after 1 week passed).
  • Added optional setting - new Beta-Layout, enabling this (server must restart) will change the design of /guard status: action bar will display attack status (statistics, etc) instead of information about currently blocked bot, and will completely disable title messages.
  • Changed event priority.
  • Fixed negative ping amount.
  • Updated GeoLite2 database.
  • Improved plugin.yml file.
  • Reformatted code.
Config changes (automatically updated):
Code (YAML):
# Enabling beta-layout will hide the title and change the design of the action bar on the attack.
# New layout is better than the old one because it does not contain bot names, just statistics.
# Screenshot: https://cdn.discordapp.com/attachments/659146286972403766/675713594276446219/unknown.png
beta-layout
: false

# Toggle ability to bypass specific modules
# if player has permission for it.
bypass
:
  # Permission: epicguard.bypass.allowed-commands
  allowed-commands
: true
  # Permission: epicguard.bypass.custom-tab-complete
  custom-tab-complete
: false
----------, Feb 9, 2020

Changelog:
  • Added ConfIgUpdater: Your config.yml file will automatically update, no need to reset your config or manually add missing values!
  • Added CustomTabComplete module. This will replace default /<tab> which prints every command in the server, with your custom list. NOTE: Enabling this module, will override regular tab-completion, which means, arguments won't work anymore.
  • Improved AntiBypass, by removing detections, already handled by proper checks.
  • Fixed update checker, sending that you are running an outdated version of the plugin if you updated it to the latest version just after it was updated. Spigot API takes a long time to update values like the plugin version (because this is legacy API).
  • Changed look of plugin's GUI. Items now have more descriptions, and overall, GUI is now more readable and useful. Added server information.
  • Fixed some modules not working on versions newer than 1.8: LogFilter, update checker, and some other.
  • Cleaned up a lot of code.
  • Removed Peak/Heuristics notifications on chat. They were slightly useless and just spammed the chat.
New config section:
Code (YAML):
# Replaces default tab completion in /<tab>,
# with your custom list, provided below.
# WARN: You NEED ProtocolLib!
custom-tab-complete
:
  enabled
: false
  list
:
   - /msg
    - /home
----------, Feb 2, 2020

Changelog:
  • Finally fixed CloudTask lags (and possibly crashes), by replacing Sync task with Async task. You can now safely enable cloud features. I suggest deleting the EpicGuard/data/data_flat.yml file because it contains invalid addresses.
  • Fixed title messages not colored.
  • Cloud has been reset and is now blocking most of MCSpam proxies.
----------, Jan 31, 2020

Your config.yml file will be automatically regenerated, and a backup will be created in the "deprecated0" directory.

Changelog

  • Many optimizations, faster cloud sync, and faster proxy checking, the plugin should no longer be showing high usage on timings.
  • The configuration is no longer separated in 4 different files, and now everything has been merged into the main config.yml file.
  • Now you can only use proxycheck.io as proxy/VPN checker. You can provide Free API-Key from this site, for more queries per day (check config for more info).
  • Removed custom error catching.
  • Added option to enable/disable BandwitchOptimizer.
  • Added option to change brand detection delay time.
  • Changed no-attack action bar.
  • Cleaned up code.
  • Updated the GeoLite database.
  • Updated bStats.
----------, Jan 30, 2020

Changelog:
  • If your GeoDatabase is older than 1 week, it will be automatically updated. This means better country detection, and primarily, the plugin is now compliant with new Maxmind's GeoLite2 EULA (https://www.maxmind.com/en/end-user-license-agreement).
  • Updated Cloud with 30k+ addresses.
  • Improved AntiBypass, and fixed bugs with its detection.
  • Fixed many other minor bugs with country detection.
Soon, there will be a complete rewrite of EpicGuard, but this may take some time to be completed.
----------, Jan 24, 2020

Information:
  • Plugin's GUI has been rewritten from scratch. It is now more efficient, without useless information. Added Cloud status, and latest log detection (Screenshots below).
Changelog:
  • Rewritten GUI with new menu items, and new multi-version material utils (Compatible with 1.8.x - 1.15.x).
  • Moved Cloud, to prevent random disconnects.
  • Fixed infinite whitelist adding.
  • Fixed trying to get not existing IP from the Geodatabase.
  • GUI refreshes now every second (previously it was 2 seconds, because of poorly optimized GUI code).
  • Attack Title is now displayed every 11 seconds (previously 6 seconds)
  • Changed priority of checks.
[​IMG]
----------, Jan 17, 2020

Changelog:
  • Totally rewritten command system:
    • Added tab completion for plugin's commands.
    • Commands can be now executed by the console.
    • Changed look of some commands.
  • Fixed AntiBypass V2 bug, with not hiding quit message.
  • Attack notifications title has a new variable "{TIME}" displaying how long attack is.
  • Attack notifications title is now displaying every ~6 seconds instead of displaying for every bot.
Official showcase video:
----------, Jan 16, 2020

Changelog:
  • Added AntiBypass V2 (AntiBypass V1 only works on 1.8-1.12 servers, V2 works on every version!): This will block (instantly kick, hiding join message) every bot who has been blacklisted during the login process, but somehow managed to join the server.
  • Fixed many NullPointerException errors, and bug with not saving data file.
----------, Jan 15, 2020

Information:
  • This update contains 2 new features, allowing the plugin to detect bots even faster than before! Using default cloud configuration, Cloud with synchronizing with your local database, every 30 minutes. Cloud contains malicious IP Addresses, belonging to bots. Cloud won't collect any of your data (including blacklist), so if you want to help to improve this cloud, you can join my discord server. New ConsoleFilter will decrease your CPU usage!
Changelog:
  • Added Cloud - Currently synchronizing only blacklisted IP Adresses. More information above.
  • Added Heuristics Check - This is slightly different than speed check - it checks also attack time and increase of bots.
  • Added title after and message after the attack has ended (requires /guard status toggled on)
  • Added calculating attack time - it will automatically show when you have enabled Heuristics and notifications from /guard status.
  • Fixed displaying wrong counter and resetting global counter - now on the title will be displayed a number of bots blocked in the current attack, this will reset after the attack has ended. Total blocked bots will no longer reset.
  • Fixed bug with not loading saved data.
  • Added Console Filter - messages specified in 'filter.yml' file won't be displayed in the console, saving huge amounts of resources (especially CPU, but this will also decrease the size of logs). Many servers are crashing using log-spam.
  • (Again) Changed task time for brand-detector, and added log information on how to disable this feature if the task fails.
  • The player address will now be stored in his User variable.
  • Notifications are no longer saved in the data file, fixing some null errors.
  • Blacklist will no longer accept duplicates. Before, every IP was added to the blacklist, even if its already there. This now won't happen.
  • And many more bug fixes and small optimizations.
unknown.png
----------, Jan 14, 2020

Changes:
  • (Critical) Fixed "attack mode" is always active, ignoring the reset timer.
  • Disabled brand-detector for versions above 1.12 (causing errors).
----------, Jan 13, 2020

Changelog:
  • Fixed Name Check not working on the spigot servers.
  • Deleted TPS counter.
  • Fixed console spam when connecting from localhost. "127.0.0.1" IP is not affected by plugin anymore.
  • Changed brand detector task time.
  • Changed debug logs.
  • Decreased plugin file size by ~300
  • Updated to latest Bungee-API
  • Added more information to debug logger.
  • Fixed exception with the proxy checker.
Configuration changes: No changes :)
----------, Jan 12, 2020

You need to reset your messages file, or replace placeholders to work with the latest file here: https://pastebin.com/ESqEaMGr (Changed: action bar, title, subtitle, I improved design of default kick messages).
This update was tested on both Spigot and Bungee version, stopped MCStorm Free plan (100b/s), and some private bots (300b/s). No TPS loss on the spigot, no performance impact on bungee cord (slightly higher CPU usage).
Changelog:
  • Improvement | Changed default configuration.
  • Added | New method: NameContains - useful for blocking bot with repeating nicknames (fully blocking FREE attacks from mcstorm/mcspam).
  • Deleted | ActionBar when there is no attack.
  • Improvement | Bungeecord rewrite!
    • Now using shared (Universal) methods with the spigot (GEO/PROXY/NAME_CONTAINS).
    • Changed priority of checks.
    • Changed some conditions.
    • Now using "config_bungee.yml" file with fewer options.
    • Fixed bot counter.
    • Added title and action bar notifications, and some commands.
    • Improved performance (a lot).
  • Added | Bungeecord commands!
    • /guard - Basic plugin info, no permission required.
    • /guard log - (Console) enable or disable ConnectonCloser logging information (when a bot is kicked).
    • /guard display (Console) - enable or disable displaying connections and pings per second (if you want to enable this, you should disable log above).
    • /guard notifications (Player, epicguard.admin) - enable or disable sending the title and action bar when there is an attack.
  • Improvement | Code cleanup.

----------, Jan 1, 2020

Changelog:
  • Fix | Fixed critical issue with Brand Detector, causing the server to crash.
  • Improvement | Changed Brand Detector task time, to detect brand faster.
----------, Dec 30, 2019

We created an official discord support server for this plugin. If you have an issue, feature request, or want some help with configuring this plugin, join this server: https://discord.gg/VkfhFCv
New developer joined this project: @Nemezis

Changes:
  • Plugin performance has been increased.
  • Fixed issues with ProtocolLib
  • Fixed NullPointerException on many events.
  • More error catching.
  • The server will use less bandwidth while the server is attacked (ServerListPing)
  • Implemented new feature, Client Brand Checking! You can block some clients that use different brand than default "vanilla". Some bots don't send this packet, so this is a new method to detect them! A new file will be created "brand.yml" with contents:
    Code (YAML):
    channel-verification:
      enabled
    : true
      punish
    : kick {PLAYER } &cException occurred in your connection, please rejoin!
    blocked-brands
    :
      enabled
    : true
      punish
    : kick {PLAYER } &cYour client is not allowed on this server!
      list
    :
     - some_blocked_brand
     
  • Fixed potential output resource leak.
  • API has been deleted.
  • Redesigned GUI.
  • Changed way how logs are sent while checking a player/bot connection.
  • Optimized GEO checking.
  • Optimized Proxy checking.
  • Cleaned up code.
----------, Dec 27, 2019

DOWNLOAD THIS VERSION FROM THIS LINK: https://github.com/PolskiStevek/EpicGuard/releases/download/3.0.2/EpicGuard-3.0.2.jar
Fixed task NullPointerException and StackOverflowError on enabling.
----------, Dec 24, 2019

Changes:
  • Fixed not downloading messages file.
  • Fixed plugin not enabling when ProtocolLib is not installed.
  • Added: AntiBot status notifications (action bar and title) are now persistent and Per Player! Now notifications won't show until you enable them.
  • Some GUI changes.
----------, Dec 24, 2019

Changes:
  • External files (from Mirror URLs) are now downloaded from GitHub and Pastebin.
  • Fixed Anti ForceOP bugs:
    • Executing command 2 times in a row.
    • Not replacing variable {PLAYER} with player's name.
  • Reduced file size, by excluding ProtocolLib API dependency in the maven build file (2.8MB -> 2.3MB).
  • Removed Anti Exploit.
  • Bump geoip2 from 2.12.0 to 2.13.0
Remember, many features are automatically disabled in the config file. Also, if antibot is not working well for you, look in your config, maybe you want to change some values, or contact me!
----------, Dec 23, 2019

Information: This is a major update of the plugin, I have refactored a huge amount of code, and way how files are stored. With new antibot option "force-rejoin", the plugin should stop 99% of slow/medium speed bot attacks (only on SPIGOT). Tested on 1.14.4 paper with no TPS drop with 100/cps.
Also, now this plugin is not only an AntiBot. You can disable all, or only some options of antibot, and use other features this plugin has! You can see all features listed on the main resource page on spigotmc.

Changes:
  • Added OP-Protection: Only players listed in config can have the op. This can protect your server from backdoors (Force-OPs).
  • Added Command Blocker: Commands listed in this section will be only available in the console, even opped players won't be able to execute them!
  • Added Allowed Commands: Useful when you only want to allow some commands to be executed by regular players (good for lobby or minigame server).
  • Added 1.15 compatibility.
  • New GUI design, now semi-fully replaces old command system.
  • GUI is now available for ALL versions, not only 1.13+.
  • Added option to fully disable IP-History, if you don't want to store player's IP's in the flat file (this will disable saving, and displaying data in the plugin).
  • Improved default anti-bot config for better bot detection.
  • Corrected many bugs with antibot not detecting bots properly.
  • Added custom error handler (when there is an issue [exception] in the plugin, fancy-looking message will appear instead of raw stack trace).
  • Added new AntiBot check - Force rejoin, new players will need to connect to the server 2 times in a row to join.
  • Fixed JoinCounter... counting players in the opposite way (negative numbers).
  • Fixed attack detection bug, related to new AttackManager.
  • Logs are now stored in subdirectory "logs" with the name "EpicGuardLogs-<current_date>".
  • The plugin data file and GEOIP database are now stored in subdirectory "data".
  • Old plugin files will be moved to subdirectory "deprecated", and new ones will be generated.
  • Added option to fully block TabComplete packet using ProtocolLib.
  • Improved speed-checks in default config.
  • Added simple AntiExploit.
  • And MANY bug fixes and code refactoring.
----------, Dec 16, 2019

EpicGuard v2.0.1
Changes:
  • Fixed uncoloured kick messages.
  • Fixed errors while executing API event (deleted PlayerDetectionEvent)
  • Improved attack-mode disabler.
  • Added README.txt.
----------, Nov 25, 2019

EpicGuard v2.0.0
In this update, messages were separated from config and appeared in a new file: messages.yml.
You should delete EpicGuard folder to generate new files.
Changed over 2700+ lines of code!
Also, plugin is now open source on my github! (You can get link in resource page).
If you found any bug or error, please report it at Discussion tab.

If you are using 1.13 or older, delete "api-version: 1.14" line, in file plugin.yml (inside plugin .jar file)!
Important: Extract EpicGuard folder from downloaded .zip file into your plugins folder, before starting server!

Changes:
  • Messages are now stored in messages.yml file.
  • Changed default config, for better detection.
  • Logger no longer spams console on attack, logs are printed only on enabling/disabling.
  • New ConnectionDebugger in logs.txt file! Now you can see better if the player has passed the verification or not, and what is the reason.
  • Fixed NoSuchField errors on /guard menu.
  • BungeeCord version is no longer using separate config_bungee.yml file.
  • Added API ( https://github.com/PolskiStevek/EpicGuard/tree/master/src/main/java/pl/polskistevek/guard/api/bukkit ).
  • BungeeCord version have more features now.
  • Fixed: If you disabled antibot, country filter will not work. Now i have fixed it.
  • Deleted premium & piracy api.
  • Added better multiline kick messages.
  • GUI now have more features.
  • Added Metrics to BungeeCord version.
  • And many more changes i forgot to write.
addaw.PNG
[​IMG]
----------, Nov 23, 2019

EpicGuard 1.4.1 | New GUI
In this update i started making new feature - plugin GUI! Now it only contains basic information, antibot status and player manager.
Changes:
  • New GUI, accessible by command: /guard gui. In future updates, GUI will fully replace old command system.
  • Changed look of some commands.
  • Deleted external api support (it was not needed anymore).
[​IMG]
----------, Nov 4, 2019

EpicGuard Update 1.4.0 | BungeeCord support.
On last update, bungeecord support was dropped, because of config update. This update has major changes for bungee version and minor changes for spigot version.
Spigot Changes:
  • The way Logger sends messages to the console has been slightly changed.
  • Removed BlacklistManager statistics in main /guard command
  • The command /guard antibot is much better than it was before. Removed IP Lists, and instead there is two sections: Antibot Status - Module status, Protection status, Connections per second, Ping per second and Joins per second, and second section is just number of blacklisted and whitelisted adresses.
  • Added Server ID and API checking.
  • Changed update notification.
  • Added new config option "debug" - you can enable or disable printing config values on enabling. (You can just copy text below and place in config anywhere you want).
Code (Text):
# Debug will log all config values, so if you got "null" error,
# you should enable it before reporting error to developer.
debug: false
Przechwytywanie.PNG
BungeeCord changes (i just ported some features from spigot) :
  • Bungeecord now uses config file named "config_bungee.yml".
  • Added Logger to console and file.
  • Added GeoIP protection.
  • Added 3-Site proxy detection.
  • Added PING_SPEED detection.
  • Improved ATTACK_SPEED and overall bot detection.
  • Added Firewall commands.
  • Added ATTACK_MODE.
  • ConnectionCloser will now log closed connections (adress and name) using Logger.
----------, Nov 3, 2019

Fixed error with server shutdown after enabling plugin. Thanks for @alpheus125 for reporting this bug!
----------, Nov 2, 2019

EpicGuard 1.3 | Stability Update
You MUST reset your config! I changed most values and options, config file is now looking better, and is more configurable.
Thanks for 100 downloads and over 12 servers running this plugin! I recommend updating plugin to this version, I worked for some time to increase bot blocking performance and fix some bugs. Soon, files will be separated (like config.yml, messages.yml, data.yml, etc).
File size drastically has expanded, because of some libraries (external database is downloaded at start).
BungeeCord support is still experimental, i reccommend using only on spigot for now.
Changes in this version:
  • Improved bot detection in Spigot. Tested with low-speed and medium-speed attacks (high-speed attacks may still be unstable).
  • Added 3 VPN / Proxy sites option! If one gets down, or you got rate-limited, additional ones will help.
  • Added Country Protection with whitelist OR blacklist. You SHOULD configure this option
  • Fixed NullPointerException error while player is connecting.
  • Improved PING_SPEED detection.
  • Updated Spigot API version to 1.14.
  • New console logger. Logs are both sent in console and saved in file.
  • Added notification messages when attack is detected, or when is over.
  • Added logs. Thery are stored in file logs.txt in plugins/EpicGuard. All connections are stored in them, and information on whether they have joined or not.
  • Added Player IP History, saved in data.yml file. When someone joins with new ip adress, staff wil receive message, with nickname and new ip (New players are ignored, of course). This can be helpful in offline-mode servers, if hacker logged into staff account.
  • Modified /guard player command. I deleted location and locale, and instead there is IP History and Country.
  • Antibot now uses ATTACK_MODE switch instead of just checking attack speed. If attack is detected, ATTACK_MODE activates. After some time, if connections per seconds is very low, ATTACK_MODE deactivates. This will fix bots skipping proxy check.
  • Automatic whitelist now instead of adding player just when he joins, adds him after some time (if he is still online).
  • Added option to disable auto-updater (i don't recommend it, but if you don't have internet connection plugin will disable, except if you change config option to false).
  • Fixed kick messages showing "Disconnected" instead of ones from config.
  • Fixed kick messages was uncoloured.
----------, Nov 2, 2019

Fixed bungeecord error on enabling.
Sorry for reuploading this fix, but i didin't tested it, now it works perfectly on waterfall / bungeecord.
----------, Nov 1, 2019

BungeeCord support is very experimental, if you found issues, contact me!

Changes in this version:
  • Added experimental bungeecord support, currently only attack speed and proxy checking.
  • Added new antibot check (Spigot): PING_CHECK
  • Slightly improved checking performance.
----------, Nov 1, 2019

Fixed most antivirus softwares false detecting my plugin as a virus (new fix - https://www.virustotal.com/gui/file...ca1ecfc67fdb284cf9b6eb4bedae584d7d1/detection)
----------, Oct 29, 2019

Thanks for 25 downloads!
Changes:
  • New command /guard whitelist <adress> - add adress to whitelist.
  • New command /guard blacklist <adress> - add adress to blacklist.
  • Fixed firewall command not replacing {IP} with player's ip.
  • Fixed loading whitelsit from file.
  • Changed default "query" config option, so if you don't change it, antibot will still work, but with limit of 100 queries. You should check this option.
  • Added metrics.
  • Cleaned up some code.
Coming Soon: Adress history, security pin, logs.
----------, Oct 29, 2019

Resource Information
Author:
----------
Total Downloads: 53,343
First Release: Oct 28, 2019
Last Update: Feb 21, 2021
Category: ---------------
All-Time Rating:
49 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings