XProtect | the BEST protection plugin | Stop bots/attacks/VPNs | MySQL | [1.8 - 1.19] icon

XProtect | the BEST protection plugin | Stop bots/attacks/VPNs | MySQL | [1.8 - 1.19] -----

Protects your server from bots and attacks, while keeping performance high




  • Updated to the latest version of PAPI and ProtocolLib. Newer version support coming soon.
----------, Nov 23, 2024

  • Updated to latest version of PAPI which includes security fixes. Make sure to do the same.
----------, Dec 5, 2023

  • improved and optimized some parts of the code
  • updated to latest version of PAPI
----------, Oct 8, 2023

  • updated to latest version of ProtocolLib.
----------, Aug 22, 2023

  • You can now disable VPN checking through the config file, as requested by many users. Enjoy.
----------, Aug 20, 2023

  • Updated to the latest version of ProtocolLib
----------, Jun 7, 2023

  • Built against latest version of PAPI to support 1.19.4.
----------, Apr 22, 2023

  • Replaced some old deprecated methods, and changed the way IPs are handled. Enjoy!
----------, Jan 8, 2023


  • Cyber Monday Deal. Buy this plugin and get the rest of our premium plugins for free!
  • Fixed a bug where country checking would not work properly.
----------, Nov 27, 2022

  • BLACKFRIDAY SALE. Get XProtect today, and you'll get this plugin for free.
----------, Nov 23, 2022

  • Added method botBlockerResult(UUID uuid, String name, InetAddress address) in the XProtectAPI.
----------, Nov 14, 2022


  • Hey there, this update improves and corrects the Gradle building process, enjoy!
----------, Oct 20, 2022

Hey, as my laptop is currently in the repair shop being fixed, updates will be delayed for a week or two. Sorry for the inconvenience!
----------, Oct 1, 2022

  • More of an internal and developer's update, but a big part of the code has been documented.
----------, Sep 23, 2022

After putting quite some thought into it, I've decided to make XProtect an open source project and let anyone contribute to it. Everyone is encouraged to help in the development process!

While it'll be open source on Github, it will remain with a price here for those who want to support the project or use a precompiled version.

Having it open-source does NOT mean you can recompile it and sell it/redestrubute it on other sources.

Enjoy!
----------, Sep 19, 2022

  • Hey there! Bungeecord support has been partially added. You'll get IP checking working like in the Spigot version. Please report any bugs as I'm still working on this.
----------, Sep 16, 2022

  • Fixed a bug where the player under verification would be able to eat their item (ex. apple) while under the drop captcha.
----------, Sep 13, 2022

Hey! This update includes some internal minor improvements that cleanup the code and slightly improve performance.
----------, Sep 6, 2022

Just small internal improvements:
  • Removed unecesssary code.
  • Impoved the Actionbar performance.
----------, Sep 1, 2022

Just a notice that updates will be delayed until September due to summer vacations :)
----------, Aug 12, 2022

  • Changed the way the server's version is fetched, meaning the the code won't need to be updated for version checking on every new MC release.
----------, Jul 17, 2022

  • Added support for the Map captchas for 1.19 as they would currently produce an error.
----------, Jul 15, 2022

Hey all this is more of an internal update that will increase the development speed a lot though,
  • Converted project to Gradle for dependency support, and also switched to Intellij.
  • Minor improvements & optimizations in the code.
Enjoy!
----------, Jul 12, 2022

  • Built against version 2.11.2 of PAPI.
----------, Jul 8, 2022

  • Built against the latest version of ProtocolLib fixing some bugs on the newer versions of Spigot.
----------, Jun 23, 2022

  • Built against the latest version of PlaceholderAPI to support all the newest features. Enjoy!
----------, Jun 21, 2022

  • Added support for versions 1.8 up to 1.19.
  • Fixed a bug where if you tried to reload the server's data through the GUI it wouldn't let you do it if you server was running Spigot 1.16+
----------, Jun 13, 2022

Hey all, here's a pretty cool bugfix :)
  • The Map & Picture captcha are now displayed properly for 1.17 and 1.18 making them usable once again!
----------, Feb 23, 2022

Hey all! Hope you're doing great!
  • Fixed a bug where /p list would not display the correct messages of the enabled/disabled captchas.
----------, Feb 21, 2022

  • Built against the latest versions of ProtocolLib, PlaceholderAPI, and AuthMe for 1.17.
----------, Dec 11, 2021

Hi there,
  • Fixed an issue with 1.8-1.10 versions when showing titles.
Enjoy!
----------, Sep 29, 2021

  • Hi there, after quite some time, support for 1.17 has come. Updates are also coming back to normal!
----------, Sep 27, 2021

  • Fixed a bug where the players would not get verified/blacklisted correctly when doing the captcha or through the "/xprotect add" command.
Enjoy!
----------, Apr 16, 2021

Hi there, I just wanted to give everyone a small update about what's going on with this and the rest of my plugins as for the past few months I have been pretty inactive on spigot. Well, this year I am doing an exchange year abroad and things have been busier than usual, there are a lot of things I need to adapt to, and my free time is now limited. I will try to have some updates here and there, but nothing is certain for at least 5 months.

I hope I'll be able to update it some times though.
----------, Mar 6, 2021

  • Fixed a bug where the maps would not show up properly on 1.16.
----------, Sep 11, 2020

  • I'm currently able to keep on updating the plugin, at least for some time. Expect new features and bug fixes!
----------, Jul 17, 2020

  • Plugin updates and support will be limited for the following two weeks. Sorry about that.
----------, Jul 1, 2020

  • Due to the last update causing quite a bit of confusion, I just wanted to let you know that this is something temporary. The plugin will not be abandoned soon. Expect a few more updates in the following days. Although, I'm considering stopping plugin updates for the following months.
----------, Jun 29, 2020

  • Hi there, I just wanted everybody to know that in a few days I won't be able to keep updating/providing support to this plugin. There will still be updates on the following days though.
----------, Jun 28, 2020

  • After some user reports, players were able to guess the secret code used to prevent non-chat captcha bypassing. The code length has now been increased by 50% to make sure nobody is able to bypass such captchas.
----------, Jun 27, 2020

  • Added support for 1.16, enjoy!
----------, Jun 26, 2020

  • Hi there, I will be again be posting updates to this plugin to add new features and fix current bugs. Enjoy!
----------, Jun 18, 2020

  • Hi, I just wanted to let you know that I'm currently pretty busy and it might take a while until an update arrives. Thanks for understanding.
----------, Jun 11, 2020

A new website has been made. Since the old one was terrible, a new, modern & minimalistic one has been made. It serves a general-purpose as well as showcasing this plugin. Check it out: https://lagbug.me/
----------, Jun 6, 2020

Hey there, here's a small preview of what's coming!
[​IMG]
----------, Dec 14, 2019

  • A new, huge update of CaptchaX is going to be released soon. CaptchaX V2.0 is coming. Expect many, many new features. GUIs are going to rule, plus, many stuff is going to be changed & improved in the background.
----------, Nov 24, 2019

  • Added a video showcasing some major features of the plugin
----------, Nov 20, 2019

  • Changed some package location so now if you use some others of my plugins everything is going to be okay! This isn't a big update, so if you do not feel like it, do not update.
----------, Nov 7, 2019

  • Fixed some issues with AuthMe where the plugin wouldn't get the correct configuration file.
  • Fixed an issue in the GUI where some times the furnace would be displayed as a non-existing block
----------, Nov 3, 2019

  • Fixed a bug which would occur some times when the connection to the MySQL was terminated and would give an error. Now, if anything happens to MySQL, the plugin will automatically switch to FLAT file support for that specific time, preventing any issues.
----------, Oct 29, 2019

  • Added an option in the captchas.yml where you can now enable/disable if you want the player to be invisible while they're under the captcha test. The captchas file must be reset.
----------, Oct 25, 2019

  • Added specific config files for each feature. For example, different for captcha and different for anti-bot protection.
  • ProtocolLib support for even better anti-bot protection.
  • When under attack, the actionbar will no longer be sent around 10k times a second, causing lag. It is now handled differently.
  • Added hard lock, where if the server gets soft locked more than X times it gets hard locked for 60 seconds (configurable)
  • The console will now remain clean on an attack.
  • Huge code improvements.
  • Fixed an error with actionbar that would sometimes be sent.
  • Fixed an error with the IPQS protection on Bungeecord.
----------, Oct 6, 2019

I just want to say a huge thanks for reaching 100 downloads on this plugin. Thank you so much for your support. :)
----------, Oct 5, 2019

  • Fixed a bug in 1.13.2 where the map captchas would throw an error.
  • The GUI captcha will now not show disks for example which you didn't know which one to click.
Next version will include ProtocolLib support for even better protection!
----------, Sep 26, 2019

  • Updated the thread design, let me know what you think!
----------, Sep 25, 2019

You will need to reset both your language file and your config
  • Added metrics for bungeecord.
  • Requested by @Dmnchild you can now setup a message to be sent in the whole server once someone completes the captcha so it's not silent.
  • Requested by @marlon233 you can now set more details in the different captcha type in the GUI.
----------, Sep 20, 2019

2$ sale is now active make sure to buy the plugin
  • The bungeecord support is now way more stable. It will now include anti-bot protection and will generate a custom file with all necessary settings.
  • The plugin will now automatically switch to FLAT file support if MySQL has failed, or, if using bungeecord, will disable.
  • Overall better code.
  • Fixed an issue with the actionbar success message where it'd get a wrong path.
----------, Sep 18, 2019

  • Updated to latest MapBuilder version (1.5).
  • This also fixed some errors with the map captchas on certain versions like 1.13 or 1.13.2 for example
----------, Sep 14, 2019

  • Improved when IPQS requests are made to help you keep low your IPQS query status.
  • Fixed an incompatibility issue with servers running 1.13.
  • Fixed custom language files not working and not being imported properly.
----------, Sep 12, 2019

1$ SALE ends this morning, take advantage of this high-quality plugin and buy it at this ridiculous price (y)
----------, Sep 11, 2019

Make sure you get the plugin
----------, Sep 11, 2019

1$ SALE is now active! Just for a limited time!
  • Fixed a bug thrown by /captcha <player> sometimes and caused by IPQS.
  • Renamed some placeholder names in the guis/home.yml file. It's recommended that you reset it.
----------, Sep 10, 2019

  • Fixed a bug where if you tried to test someone through the GUI, an error would be thrown.
  • Removed some unnecessary debug messages.
  • You can no longer test someone if they're already under a captcha verification test.
  • Made the test server more user-friendly and added NPCs.
----------, Sep 9, 2019

Version 0.3 is finally out, hopefully, you'll love this one! You'll have to reset your config/language files.
  • Added /captcha <player> command basically allowing to do all actions + get player information through a nice GUI that is customizable, like seen here:
[​IMG]
( https://i.gyazo.com/e775ea6881988487a6ce3c5b5d31aac2.gif)
  • Added antiBadConnection in the antibot section with contents:
Code (YAML):
 antiBadConnection : #Blocks any bad connection. A bad connection is based on the history of the IPs
    enabled
: true
    apiKey
: "" #Create an account on https://www.ipqualityscore.com/create-account and then copy and paste your API key from https://www.ipqualityscore.com/documentation/proxy-detection/overview
    blocks
:
      bot
: true #Blocks IPs that are flagged as potential bots
      abuse
: true #Blocks IPs that are recorded to have an abuse history
      vpn
: true #Block any VPN connections
      fraudScore
: 85 #Blocks player whose IP's fraud score is above this value
  • Added the option to use IPQS (IP Quality Score) to block bad IPs. You will need to get your own API key through their website.
  • Improved the overall codebase and more specifically the file management.
  • Fixed a logical error where the players were not kicked if specified so in the actions of anything.
Did you know? Today, we ran a huge OQ Minebot attack on my 1GB test server. Only 2 bots were able to pass through, and they eventually got kicked after 20 seconds for not completing the captcha.
----------, Sep 8, 2019

  • The plugin can now be ran from a BungeeCord instance as well.
  • If ran from BungeeCord:
  1. It must use MySQL and not flat file support.
  2. There must also be the plugin running on the hub server or the servers you want it to run.
  3. BungeeCord commands like /server will be blocked. (They will not if using BungeeCord and have not put the plugin with MySQL on a bungee server as well).
----------, Sep 6, 2019

You will need to reset your config file for this update
  • Added an option in the config to specify if you want captcha on join. More events will be added in the future, for now:
Code (YAML):
requireCaptcha : #Captcha test can be asked in these events
  onJoin
: true
  • Added dependencies section in the config where you can configure some settings about the dependencies Captcha uses. The forceDisable can fix errors caused if AuthMe login is disabled.
Code (YAML):
dependencies : #Various information about the dependencies that can be used
  AuthMe
: #Settings for AuthMe
    forceDisable
: false #Enable this, if for example you have disabled login for AuthMe
  • Added zh_TW language file.
  • Fixed a bug where in 1.14 an error would be thrown with the map captchas.
  • Fixed some spelling and coloring mistakes in the language files.
----------, Sep 5, 2019

  • Removed unneeded path from config.
  • Fixed captcha item not being colored due to the previous update.
  • Fixed captcha item not being removed due to the previous update.
----------, Sep 2, 2019

Note: You will need to reset both your config file and your language folder.

  • Massive improvements in the code. Config/Message values are now fetched differently and more efficiently/fast.
  • Improved maps performance by using my MapBuilder utility class.
  • Added MySQL support which you can find in the config file under the storage section.
Code (YAML):
storage : #Information on how user data should be saved
  type
: "FLAT" #Available types are [MYSQL, FLAT]. MySQL is recommended.
  mysql
:
    host
: ""
    database
: ""
    username
: ""
    password
: ""
    port
: 3306
    statement
: "?autoReconnect=true&useUnicode=true"
    table
: "captchax"
  • Revamped the language file and made it more user-friendly.
  • Revamped the config file and transferred some values to the language files.
  • Players under verification will now be both hidden for others and they won't be able to see others.
  • Fixed a bug where some times, in flat file storage users would be corrupted and randomly removed.
  • Fixed a bug where 1.14 items would be shown on lower versions.
----------, Sep 2, 2019

  • Updated the colors for the thread design, I think it looks neat now!
----------, Sep 1, 2019

  • Added French (fr_FR) language file.
----------, Aug 30, 2019

  • Added Spanish (es_ES) language file.
  • Improved color captcha type.
----------, Aug 29, 2019

  • Added German (de_DE) language file.
----------, Aug 26, 2019

  • Debug command will now also show if the server is running bungeecord.
  • Fixed metrics displaying zero or toolow players.
  • Reduced jar file size and removed unnecessary stuff.
----------, Aug 25, 2019

  • The default prefix has been changed and many other messages as well.
  • You can now disable the bypass feature and also require a captcha from OPs as well.
  • A message through actionbar is now sent to all OPs when an attack is happening.
  • It is recommended that you reset your config but its not required.
----------, Aug 21, 2019

  • Fixed a bug where player data would not be saved properly on server close causing some data loss.
  • Improved code quality and reduced jar size.
----------, Aug 20, 2019

  • AuthMe is now fully supported meaning that it can be used with this plugin. You don't have to do anything, just update the plugin and it will be supported.
  • Metrics will now show the total amount of bungeecord players if the server is using bungeecord.
  • Added more information in /captcha debug
  • Fixes with /captcha <add/remove/check> commands not working properly.
  • Changed some default config values for better optimization.
  • Overall other improvements and fixes.
----------, Aug 15, 2019

I'll be on vacation so updates will be delayed.
----------, Aug 1, 2019

You will need to regenerate your config for this update. This is the last time this happens.
  • Added an option to the config to set which slot you want the captcha item to be given (only in the captchas that require an item)
  • Added an option where the last item the player had will be saved and will be returned once he completes the captcha to prevent item loss.
  • Fixed an error in the color captcha where it would not work properly and it would send colors like magic or strikethrough. Also limited the colors and their names to make this simple.
----------, Jul 30, 2019

You will need to regenerate your config file for this update

  • Added anti-bot attack protection. This includes but is not limited to 3 core features.
  1. Join limiter. You're now able to set how many connections you want in your server every X amount of seconds.
  2. IP limiter. You can now limit how many players can join from the same IP at a current time.
  3. VPN & proxy blocker. If enabled, players who are using these will be prohibited from joining the server.
  • Improved the code.
  • Improved and revamped some parts of the config, this is why it must be regenerated. Many parts have been removed/changed so simply regenerate it.
  • Fixed a bug where players were able to throw their items down while on captcha verification.
  • Fixed map captcha type not working in 1.13 and above.
  • Fixed other small issues.
----------, Jul 29, 2019

Anti-bot attack support is on its way! Stay tuned for an update
----------, Jul 29, 2019

  • Fixed a bug in drop captcha where if the player left the item would not be removed from his inventory.
  • Added the ability to set a custom name for the drop captcha.
----------, Jul 28, 2019

  • Fixed a bug where players would be invisible unless they would rejoin after completing the captcha.
  • Fixed an error reported by @Randwulf with the gui type.
  • Improved the 1.14.4 compatibility and fixed some errors with it.
----------, Jul 27, 2019

You will need to regenerate your language files for this update.
  • Improved the code a lot.
  • Improved the order and gui captcha type.
  • Added a new feature where commands can now be run from the console too.
  • Added a new feature where the update checker will now also notify all online players with permission captcha.update.
  • Added new command /captcha list which will show all the captcha types.
  • Added a new optional argument to /captcha test <player> [type] which specifies the captcha type wanted to send.
  • Added /captcha rl alias for the reload command.
  • Fixed a bug where if a player left and had a map captcha, it would not get removed.
  • Fixed a bug where the equation difficulty would not work.
----------, Jul 27, 2019

  • Added a new command (/captcha debug [player]) which will send a message to both the sender and console with useful information either for me when reporting bugs or you as an admin. This will be a requirement when reporting bugs.
  • Changed startup message and made it smaller.
  • Added a website path to the plugin.yml
----------, Jul 25, 2019

Hey there, thanks for staying tuned, here's this updates changelog:
  • Made the all the gui types inventories unclosable.
  • Improved code quality and removed unnecessary stuff.
  • Fixed a bug where if someone failed a gui captcha, the item he clicked on would be thrown down.
  • Fixed a bug where in rare cases on the gui captcha the item asked to click would not be shown in the actual gui.

Hope you all enjoy!
----------, Jul 20, 2019

Hey there, welcome to another cool update! In this update:
  • A new captcha type named different has been added. You basically have to click the different item on a gui.
  • An error thrown by the gui captcha has been fixed.
  • The gui has been improved to better support the newest Minecraft versions.
----------, Jul 19, 2019

Hey there, I just changed the thread design and it looks dope I think. What's your opinion?
----------, Jul 14, 2019

Here are some damn cool and good changes:
  • Added a notify feature where players with the permission captcha.notify will get a message on player fail/complete a captcha.
  • Added delay option in the config to ask the captcha after x seconds after join.
  • Added /captcha test <player> command which sends a captcha to a player. The permission is captcha.test.
  • Added a feature where if the color for the map captcha is wrong in the config, it will be black and no error will be given.
  • Added a feature where if all captchas are disabled no error will be given and a debug message will be sent.
  • Improved code quality in many parts. (More coding improvements to come)
  • Fixed a really important bug where captcha disable feature would not work.
  • Fixed /captcha remove command which would not work properly.
  • Fixed a bug by /captcha reload which would add all player again and again in the config.
  • Fixed a bug that should be fixed before. Player inventories are now not cleared.
----------, Jul 11, 2019

  • Added a new captcha type where you have to reverse a codes
  • Added a feature where new paths in config will be added automatically
  • Fixed a gui error that was supposed to be fixed in a previous version
----------, Jul 6, 2019

  • Added more debug messages and changes default config debug value to false.
----------, Jul 4, 2019

  • Added automatic data saving (so now, data will not only be saved on server close) and configurable delay for that in the config (saveUsersEvery)
----------, Jul 3, 2019

Added API methods [getAvailableCaptcha, getToVerify, getVerified] and events [PlayerCompleteCaptchaEvent, PlayerFailCaptchaEvent].
----------, Jul 1, 2019

Hey there, in this update, a bypass permission ( captcha.bypass) has been added.
----------, Jun 28, 2019

Hello, in this update:
  • I've fixed an error given by the captcha gui if the title of the gui was over 32 characters.
----------, Jun 25, 2019

Hello, this is a quite nice update:
  • Added onCaptchaInactivity section in the config which defines what actions will be taken if the captcha is not completed within the specified amount of time. (You will need to either remove your config file or add this section yourself)
  • Requested by @LukeMango, once a player has completed a map captcha, his inventory won't be cleared. Only the map.
Enjoy!
----------, Jun 22, 2019

Hello, this update makes it possible to customize the kick message when the server reloads and the player is in the verification process.
----------, Jun 20, 2019

Hey there:
  • Fixed the update checker to work.
  • Add an option to disable the update checker from the config.
----------, Jun 15, 2019

Resource Information
Author:
----------
Total Downloads: 686
First Release: Jun 14, 2019
Last Update: Nov 23, 2024
Category: ---------------
All-Time Rating:
48 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings