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

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

No permission to download
vH92wYK.png
or
IwKnpmE.png

as seen on
2PCoKxn.png
&
WM4MOkt.jpg

sponsored by
EBcdLyX.png


8wXohcp.png



Spoiler: More videos
Full Tutorial


Dutch Video

7Cg8qGF.png


yr0CkxS.png


CCd0qML.png

Server Manager
g3tAkgW.gif

oVyA8jD.gif


Player Manager
nhb9UQf.gif

CfJmlx5.gif


golyS5s.png



CSV16n2.png


GY7axhJ.gif

6p4OeB1.gif

W9rNgbo.gif


xW8p2E7.png


hnYDyjB.png


AVptlCs.gif


OsexIM4.png

Spoiler: Useful information
View attachment XProtect.svg

or go to the wiki https://github.com/LagBug/XProtect
or check the plugin's terms https://lagbug.me/terms
or join my discord server https://lagbug.me/discord
or find more about captchas https://en.wikipedia.org/wiki/CAPTCHA
or find more about the turing test https://en.wikipedia.org/wiki/Turing_test
Spoiler: Configuration files
config.yml
Code (YAML):

# Thank you so much for purchasing my plugin,
# it really means a lot to me!
# __ _______ _ _
# \ \ / / __ \ | | | |
# \ V /| |__) | __ ___ | |_ ___ ___| |_
# > < | ___/ '__/ _ \| __/ _ \/ __| __|
# / . \| | | | | (_) | || __/ (__| |_
# /_/ \_\_| |_| \___/ \__\___|\___|\__|
#
# This is a file to help you configure settings to your likings. It is recommended
# to leave everything as it is, but, if you know what you're doing, feel free to change
# it. If you do not understand what something does, please leave it as it is and ask for help


languageFile
: "en_US" #The language file that should be used. Use the file name without .yml from the /lang/ folder
prefix
: " &c> &7" #The prefix that is then replaced in the language file by %prefix%
updateChecker
: true #Specifies whether or not the update checker should work. If set to false, your server will start up faster
debug
: true #If set to true, everything that is happening and is related to the plugin will be logged in the console
saveDataEvery
: 10 #Specifies every how many minutes the data (verified player, blocked bots, etc.) should be saved. If an attack is happening, this will be skipped to reduce CPU & RAM usage

storage
: #Information on how user data should be saved
type
: "FLAT" #Available types are [MYSQL, FLAT].
mysql
:
host
: ""
database
: ""
username
: ""
password
: ""
port
: 3306
statement
: "?autoReconnect=true&useUnicode=true"
tables
:
verified
: "verified"
blacklisted
: "blacklisted"

dependencies
: #Various information about the dependencies that can be used
AuthMe
: #Settings for a variety of soft-dependencies
forceDisable
: false
ProtocolLib
:
forceDisable
: false

antibot.yml
Code (YAML):

# This is the file to configure the bot attack protection settings

antibot
: #A variety of features to prevent bot attacks on your server
hardLock
:
enabled
: true
requiredLocks
: 5
lockFor
: 30
joinLimiter
: #Limits the connection of players to the server per a specified amount of seconds
enabled
: true
seconds
: 2
players
: 1
ipLimiter
: #Limits the same IPs that can be online at the same time
enabled
: true
limit
: 3
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
nameChecking
:
enabled
: true
contain
:
- "mcstorm"
- "mcspam"
- "bot"
- "spam"
- "spammer"
countryChecking
:
enabled
: true
type
: "WHITELIST" #The available types are [WHITELIST, BLACKLIST].
list
:
- "US"
- "CA"
- "FR"
- "GB"
- "RU"
- "DE"
- "PL"
- "GR"
- "FI"
- "AU"
- "AT"
- "BE"
- "EC"
- "IT"
- "CN"
onAttack
:
actionbar
: true #If enabled and the server is under attack, an actionbar message will be shown to all admins
cleanConsole
: false #If enabled and the server is under attack, the server console will remain mostly clean

onBotDetect
:
- "BLACKLIST;;&c> &7You have been detected as a potential bot"
- "BAN_IP;;&c> &7You have been detected as a potential bot"
- "BAN;;&c> &7You have been detected as a potential bot"

captchas.yml
Code (YAML):

settings
: #Some general settings about the captchas
notifyOn
: #Should players with the permission captcha.notify be notified when a player fails or completes a captcha?
fail
: true
complete
: false
bypass
: false #If true and the player has the bypass permission, it will not ask for a captcha
solveTime
: 25 #The amount of time in seconds before a player gets kicked for not solving the captcha
delay
: 0 #Delay the captcha on join, you might want this in order to appear after other messages are sent.
actionbar
: false #Defines if actionbar should be used for captcha instructions instead of chat

captchaItem
: #The item given in drop and map captcha
name
: "&6Captcha Verification" #The name of the item
slot
: 0 #The slot the item should be added

requireCaptcha
: #Captcha test can be asked in these events
onJoin
: true

whileOnCaptcha
: #Which events should be cancelled when someone has still not verified himself
blockMovement
: true
blockInteraction
: true
blockItemDrop
: true
blockBlockPlacement
: true
blockBlockBreaking
: true
blockDamage
: true
blockInventoryMovement
: true
blockCommands
: true #There is a list below where you can whitelist commands
blockChatReceiving
: true #Block the player from receiving chat messages
hidePlayer
: true #Specifies if the player should be invinsible while on captcha verification

onCaptchaSuccess
: {} #A list of actions you can do once a player passes the captcha test
#- "BUNGEECORD;;hub" #If that is uncommented, the user will be sent to the specified bungeecord server

onCaptchaFail
: #A list of actions you can do if a player fails the test
- "KICK;;&c> &7You have failed the captcha test"

onCaptchaInactivity
: #What happens if the player hasn't solved the captcha within the given time
- "KICK;;&c> &7You should have solved the captcha"

whitelistedCommands
: {} #Commands that can be used when player is under captcha verification

captchas
: #A list of all the captchas with options about them
map
:
enabled
: true
lines
: 50
linesColor
: BLACK
textColor
: RED
picture
: #Head over to /pictures/ and add your images. The name of the image, without it's extension will be used as a code
enabled
: true
gui
:
enabled
: true
title
: "Click on the &6%item%"
slots
: 27
different
:
enabled
: true
title
: "Click on the different item"
same
:
item
: "REDSTONE_BLOCK;1;0"
name
: "&cDo not click here"
lore
: {}
different
:
item
: "EMERALD_BLOCK;1;0"
name
: "&aClick here"
lore
: {}
slots
: 9
equation
:
enabled
: true
range
:
min
: 1
max
: 15
code
:
enabled
: true
color
:
enabled
: true
sneak
:
enabled
: true
jump
:
enabled
: true
drop
:
enabled
: true
item
: APPLE
slot
:
enabled
: true
reverse
:
enabled
: true

chat.yml
Code (YAML):

# This is the file to configure the chat protection settings

whitelist
:
- "lagbug.me"

regexFilters
:
advertising
:
expressions
:
- "\\b[0-9]{1,3}(\\.|dot|\\(dot\\)|-|;|:|,|(\\W|\\d|_)*\\s)+[0-9]{1,3}(\\.|dot|\\(dot\\)|-|;|:|,|(\\W|\\d|_)*\\s)+[0-9]{1,3}(\\.|dot|\\(dot\\)|-|;|:|,|(\\W|\\d|_)*\\s)+[0-9]{1,3}\\b"
- "\\b[0-9]{1,3}(\\.|dot|\\(dot\\)|-|;|:|,)+[0-9]{1,3}(\\.|dot|\\(dot\\)|-|;|:|,)+[0-9]{1,3}(\\.|dot|\\(dot\\)|-|;|:|,)+[0-9]{1,3}\\b"
actions
:
- "CANCEL"
- "MESSAGE;; &c> &7Advertising IPs will get you muted on our server."
domain
:
expressions
:
- "[a-zA-Z0-9\\-\\.]+\\s?(\\.|dot|\\(dot\\)|;|:|,)\\s?(com|org|net|cz|co|uk|sk|biz|mobi|xxx|eu|io)\\b"
actions
:
- "CANCEL"
- "MESSAGE;; &c> &7Advertising domains will get you muted on our server."
sweating
:
expressions
:
- "BAD_WORDS_FILE"
actions
:
- "CANCEL"
- "MESSAGE;; &c> &7Using prohibited language will get you muted on our server."

guis/player_manager.yml
Code (YAML):

title
: "XProtect > Player Manager"
slots
: 27
refresh
: 5
contents
:
0
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
2
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
8
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
9
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
11
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
16
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
17
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
18
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
20
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
25
:
item
: "STAINED_GLASS_PANE;1;9"
name
: ""
lore
: {}
26
:
item
: "BARRIER;1;9"
name
: "&fGo Back"
lore
: {}
action
: "GO_BACK"
1
:
item
: "NAME_TAG;1;0"
name
: "&cPlayer Statistics"
lore
:
- "&7A variety of statistics about this player"
- ""
- "&6Server:"
- " &7Play Time
: &e%statistic_time_played%"
- " &7Times Joined
: &a%statistic_join_game%"
- " &7Times Left
: &c%statistic_leave_game%"
- "&6Player:"
- " &7Total Kills
: &a%statistic_player_kills%"
- " &7Total Deaths
: &c%statistic_deaths%"
- " &7Last Death
: &6%statistic_time_since_death%"
- " &7Damage (Taken/Dealt)
: &e%statistic_damage_taken%&7/&c%statistic_damage_dealt%"
10
:
item
: "BOOK;1;0"
name
: "&cPlayer Information"
lore
:
- "&7A variety of information about the player"
- ""
- "&6General:"
- " &7Name
: &e%player_name%"
- " &7UUID
: &e%player_uuid%"
- " &7IP
: &c%player_ip%"
- " &7OP
: &a%player_is_op%"
- " &7Location
: &a%player_world% &7(&e%player_x%&7, &e%player_y%&7, &e%player_z%&7)"
- ""
- "&6Health:"
- " &7Health
: &a%player_health%"
- " &7Food
: &e%player_food_level%"
19
:
item
: "PAPER;1;0"
name
: "&cCustom Information"
lore
:
- "&7Custom information about this player"
- ""
- "&7Verified
: &a%player_verified%"
- "&7Blacklisted
: &a%player_blacklisted%"
- "&7Bot
: &e%player_bot_status% &7(Based on a variety of tests)"
- "
&7VPN/Proxy/Tor: &c%player_vpn%&7, &e%player_proxy%&7, &a%player_tor%"
- "&7Fraud Score
: &c%player_fraud_score%&7/&e100 &7(High risk above 85)"
- "
&7Recent abuse: &e%player_recent_abuse% &7(Recent abuse done by this IP)"
- "
&7Location: &a%player_country%&7, &e%player_city%&7, &c%player_region%"
- "&7ISP
: &e%player_isp%"
3
:
item
: "WOOL;1;0"
name
: "&fSwitch Verify"
action
: "SWITCH_VERIFY"
lore
:
- "&7The player's verification status is &a%player_verified% &7and"
- "&7by clicking here, this will change."
4
:
item
: "WOOL;1;1"
name
: "&fSwitch Blacklist"
action
: "SWITCH_BLACKLIST"
lore
:
- "&7The player's blacklist status is &a%player_blacklisted% &7and"
- "&7by clicking here, this will change."
5
:
item
: "WOOL;1;2"
name
: "&fTeleport Here"
action
: "TELEPORT_HERE"
lore
:
- "&7Click here to teleport this player to your location."
6
:
item
: "WOOL;1;3"
name
: "&fTeleport There"
action
: "TELEPORT_THERE"
lore
:
- "&7Click here to teleport to this player."
7
:
item
: "WOOL;1;4"
name
: "&fSet On Fire"
action
: "SET_ON_FIRE"
lore
:
- "&7By clicking here the player will be set on fire."
12
:
item
: "WOOL;1;5"
name
: "&fClear Chat"
action
: "CLEAR_CHAT"
lore
:
- "&7Clicking the button will clear the chat for"
- "&7this specific player."
13
:
item
: "WOOL;1;6"
name
: "&fSwitch OP"
action
: "SWITCH_OP"
lore
:
- "&7The player's op status is &a%player_is_op% &7and"
- "&7by clicking here this will change."
14
:
item
: "WOOL;1;8"
name
: "&fHeal"
action
: "HEAL_PLAYER"
lore
:
- "&7Click here to full the player's health."
15
:
item
: "WOOL;1;9"
name
: "&fFeed"
action
: "FEED_PLAYER"
lore
:
- "&7Click here to full the player's food bar."

lang/en_US.yml
Code (YAML):

general
:
updateAvailable
: "%prefix% An update was found, click this message."
success
: "%prefix% You've now passed the captcha test."
underAttack
: "&fblocked(&4&lX&r &c%address%&f) &4&l*&r &fbots(&c%current_bots%&7/sec&f) &4&l*&r &ftotal(&c%total_bots%&f)"
join
: "&e%player% joined the game"
notifications
:
complete
: "%prefix% (&c%player%&7) &7successfully completed the captcha."
fail
: "%prefix% (&c%player%&7) &7failed to complete the captcha."

commands
:
verify
:
add
:
success
: "%prefix% Successfully verified (&c%player%&7)."
already
: "%prefix% The specified player (&c%player%&7) is already verified."
remove
:
success
: "%prefix% Successfully unverified (&c%player%&7)."
already
: "%prefix% The specified player (&c%player%&7) is not verified."
check
:
found
: "%prefix% The player specified player (&c%player%&7) is &cverified&7."
notFound
: "%prefix% The player specified player (&c%player%&7) is &cnot verified&7."
blacklist
:
add
:
success
: "%prefix% Successfully blacklisted (&c%player%&7)."
already
: "%prefix% The specified player (&c%player%&7) is already blacklisted."
remove
:
success
: "%prefix% Successfully unblacklisted (&c%player%&7)."
already
: "%prefix% The specified player (&c%player%&7) is not blacklisted."
check
:
found
: "%prefix% The player specified player (&c%player%&7) is &cblacklisted&7."
notFound
: "%prefix% The player specified player (&c%player%&7) is &cnot blacklisted&7."
test
:
success
: "%prefix% Successfully sent a captcha test to &c%player%&7."
list
:
success
: "%prefix% The available captcha types are:"
format
: " &7&l- &c%type% &7[&r&7%status%&7]"
reload
:
success
: "%prefix% The configuration files were successfully reloaded."

instructions
:
map
: "%prefix% Type the &ccode &7that is displayed in the map."
gui
: "%prefix% Please click on the &c%item%&7."
different
: "%prefix% Please click on the different item."
equation
: "%prefix% Please solve the following equation: &c%equation%&7."
order
: "%prefix% Place in order (&c%symbol%&7) the following numbers: &c%numbers%&7."
picture
: "%prefix% Type what you're seeing. Choose from [&c%list%&7]."
code
: "%prefix% Type &c%code% &7in the chat."
color
: "%prefix% Type what (&r%color%THIS&r&7) color's name is."
sneak
: "%prefix% Please &csneak &7(usually using SHIFT key)."
jump
: "%prefix% Please &cjump &7(usually using SPACE key)."
drop
: "%prefix% Please &cdrop &7the item you're holding (usually using Q key)."
slot
: "%prefix% Please move to the &c%slot%th &7slot of your hotbar."
reverse
: "%prefix% Please reverse the letters of the following code: &c%code%&7."

actions
:
teleport
:
here
: "%prefix% Successfully teleported (&c%player%&7) to your location."
there
: "%prefix% Successfully teleported to &c%player%&7's location."
whitelist
:
enabled
: "%prefix% Successfully &cenabled &7the whitelist."
disabled
: "%prefix% Successfully &cdisabled &7the whitelist off."
op
:
removed
: "%prefix% Successfully gave OP permissions to (&c%player%&7)."
added
: "%prefix% Successfully removed OP permissions from (&c%player%&7)."
reloadData
:
success
: "%prefix% Successfully reloaded the server's data."
fail
: "%prefix% This can only be done in servers above &c1.14"
health
:
heal
: "%prefix% Successfully healed (&c%player%&7)."
feed
: "%prefix% Successfully fed (&c%player%&7)."
fire
: "%prefix% Successfully set (&c%player%&7) on fire."
clearChat
: "%prefix% Successfully cleared the chat for (&c%player%&7)."
cancel
: "%prefix% Successfully canceled the current action."
idleTimeout
: "%prefix% Successfully set the idle timeout to &c%idleTimeout%&7."
savePlayers
: "%prefix% Successfully saved player's data."
maxSlots
: "%prefix% Successfully set the max slots to &c%maxSlots%&7."
clearGlobalChat
: "%prefix% Successfully cleared the global chat."

kick
:
restart
: "&7The server has restarted please join again later"
locked
: "&7Too many players are joining at the same time"
ip
: "&7You can only have online up to &73 &7accounts at the same time"
bot
: "&7Your IP is linked to bot activity so we can not allow you to join"
abuse
: "&7Your IP is linked to recent abuse, hence why you can not join"
risk
: "&7Your IPs fraud score is too risky, hence why you can not join"
vpn
: "&7VPNs or proxies are not allowed in this server"
blacklisted
: "&7You have been blacklisted from the server"
name
: "&7Your name indicates that you're a potential bot"
country
: "&7Your country is not allowed to join our server"

errors
:
onlyPlayers
: "%prefix% Only players can use this command."
noPermissions
: "%prefix% You do not have enough permissions to do this."
playerNull
: "%prefix% The specified player does not seem to be online."
wrongUsage
: "%prefix% The right usage is &c%usage%"

Spoiler: Commands & Permissions
You can find a list of the commands and the permissions by clicking here.
Spoiler: APIs used
A list of all the APIs used to provide consistent and accurate VPN/Geolocation information:

vdISZl1.png
u9d3IUS.png
bwpYAZz.png
Author
Ace
Downloads
6
Views
6
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from Ace

Top