XProtect | the BEST protection plugin | Stop bots/attacks/VPNs | MySQL

šŸ’ LeakšŸ’  XProtect | the BEST protection plugin | Stop bots/attacks/VPNs | MySQL 3.1.7

Minecraft Versions
1.8, 1.9, 1.10, 1.11, 1.12, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20
Source
https://www.spigotmc.org/resources/67863/
16abf2e6c47ed7877930f1799a6fda2c42070926.png






Full Tutorial



Dutch Video


23a84f15b62e98a9fe503dad15aeaad3c5c4ea85.png
82006752d3784d3852318c354e28dc4183fd0959.png
98f5959d417e2b14ed86b059baadb6ff8dc60ce5.png


Server Manager

[IMG]

[IMG]


Player Manager
[IMG]

[IMG]


d09fc664468dccd12f035f56b1a19d83439f7906.png

5e1c7301bc3107d25868687ad796e2b55d71840a.png


[IMG]

[IMG]

[IMG]


f9ecc6249ecefa1868946e6be5763d06bf334626.png


d84c212aab64c9dd1ed5d60712cc36e2279bb650.png


[IMG]


d7c53e11ec3cd9e1b498ec0f4b8d6b59d6e92e67.png


[IMG]

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

config.yml

Code:
# 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:
# 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:
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:
# 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:
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:
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%"

You can find a list of the commands and the permissions by clicking here.

A list of all the APIs used to provide consistent and accurate VPN/Geolocation information:
Author
Kritzz
Downloads
18
Views
244
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from Kritzz

About Minecraft Forums

Here you will find everything you need to know about the exciting world of Minecraft, from creative game creations to helpful tutorials and multiplayer adventures. Share your passion!
Back
Top