✨ ChronAntiVPN | VPN detection! ✨ icon

✨ ChronAntiVPN | VPN detection! ✨ -----

⚠︎ Users cannot connect to the server with a VPN! ⚠︎



  • THANK YOU: 1100 BUKKIT AND 800 SPIGOT DOWNLOAD!

COMPATIBILITY:

  • THE PLUGIN WORKS ON SPIGOT (+ FORK) [FOLIA, GEYSER WORK] AND BUNGEECORD (+ FORK) [VELOCITY NOT WORK] SERVERS!
  • WORKS ON LOCALHOST SERVER IF YOU ENABLED THE LOCALHOST: TRUE FUNCTION IN THE ANTIVPN.YML!
[​IMG]

FEATURES:

  • IP AND VPN CHECK: THE PLUGIN CHECKS WHETHER A GIVEN IP ADDRESS IS FROM A VPN OR PROXY.
  • COUNTRY VERIFICATION: ALLOWS DEVELOPERS TO EXCLUDE CERTAIN COUNTRIES AND ALSO VERIFIES FOR MANIPULATED COUNTRY DATA.
  • ADDRESS VERIFICATION: CHECKING FOR NULL IP ADDRESSES, BLOCKING LOCALE AND TEST IP ADDRESSES, AND MONITORING IP ADDRESS CHANGES!
  • EXCEPTIONS: PROVIDES THE OPTION TO TREAT CERTAIN IP ADDRESSES AS EXCEPTIONS.
  • PLAYER MONITORING: WHEN A PLAYER CONNECTS TO THE SERVER, THE PLUGIN CHECKS THEIR IP ADDRESS AND TAKES NECESSARY ACTIONS IF IT'S POTENTIALLY HARMFUL.
  • ADDRESS LIMITER: WITH THIS, YOU CAN ALLOW UP TO THREE PLAYERS FROM A SINGLE IP ADDRESS TO JOIN THE SERVER!
  • DISCORD NOTIFICATIONS: CAPABLE OF SENDING DISCORD NOTIFICATIONS FOR SPECIFIC EVENTS.
  • EJECTION MEASURES: IF AN IP ADDRESS IS DEEMED HARMFUL, THE PLUGIN AUTOMATICALLY KICKS THE PLAYER AND SENDS A NOTIFICATION.
  • ASYNCHRONOUS OPERATIONS: THE PLUGIN OPERATES ASYNCHRONOUSLY, MINIMIZING SERVER RESOURCE STRAIN.
  • INTEGRATION WITH PROXYCHECK.IO: UTILIZES AN API KEY FROM PROXYCHECK.IO, ENABLING MORE COMPREHENSIVE AND DETAILED IP CHECKS.
SPECIAL FUNCTIONS:
  • ALTERNATIVE VPN CHECK: IF THE API STATUS IS POOR, THE PLUGIN CONDUCTS AN ALTERNATIVE VPN CHECK.
  • DATABASE: SAVES BLACKLISTED PLAYERS TO A DATABASE; IF NOT CONFIGURED, SAVES TO CONFIGURATION FILE!
  • CACHED DATA: IF CERTAIN DATA IS NOT QUERIED FOR AN HOUR, IT'S AUTOMATICALLY REMOVED FROM THE CACHE TO GATHER FRESH INFORMATION.
  • RUN TASK METHOD ERRORS: IF THERE IS AN ERROR BETWEEN THE RUN TASK METHODS, THE SERVER SHUTS DOWN IF IT'S ENABLED! FOR EXAMPLE: UNEXPECTED ERRORS DUE TO LOAD, ETC...
COMMANDS:
  • /checker [address]: CHECKS THE VPN OR PROXY STATUS OF A GIVEN IP ADDRESS!
  • /blacklist add [name] [address] [reason]: BANS A PLAYER BASED ON NAME, IP ADDRESS, AND REASON!
  • /blacklist remove [user]: REMOVES A PLAYER FROM THE BLACKLIST!
  • /blacklist check [user]: DISPLAYS DETAILS (NAME, UUID, ADDRESS, REASON) OF A PLAYER ON THE BLACKLIST!
  • /blacklist list: DISPLAYS PLAYERS CURRENTLY ON THE BLACKLIST!
  • /addresslimiter clear [address]: YOU CAN DELETE THE NAMES ASSOCIATED WITH THE IP ADDRESS!
  • /addresslimiter list [address]: YOU CAN LIST THE NAMES ASSOCIATED WITH THE IP ADDRESS!
  • /chronantivpn reload: RELOADS ALL FILES!
PERMISSIONS:
  • chronantivpn.checker: GRANTS PERMISSION TO USE THE /checker COMMAND!
  • chronantivpn.blacklist.add: GRANTS PERMISSION TO USE /blacklist add COMMAND!
  • chronantivpn.blacklist.remove: GRANTS PERMISSION TO USE /blacklist remove COMMAND!
  • chronantivpn.blacklist.check: GRANTS PERMISSION TO USE /blacklist check COMMAND!
  • chronantivpn.blacklist.list: GRANTS PERMISSION TO USE /blacklist list COMMAND!
  • chronantivpn.addresslimiter.clear: GRANTS PERMISSION TO USE /addresslimiter clear COMMAND!
  • chronantivpn.addresslimiter.list: GRANTS PERMISSION TO USE /addresslimiter list COMMAND!
  • chronantivpn.reload: GRANTS PERMISSION TO USE /chronantivpn reload COMMAND!
  • chronantivpn.notification: THIS PERMISSION SENDS ADMIN NOTIFICATIONS!
  • chronantivpn.*: THIS ADDS ALL THE PERMISSIONS FROM THE PLUGIN TO YOUR PERMISSIONS!
INSTALLATION:
  • PLACE THE PLUGIN'S .JAR FILE INTO THE PLUGINS DIRECTORY OF YOUR MINECRAFT SERVER.
  • RESTART YOUR SERVER.
USAGE:
  • ONCE INSTALLED, THE PLUGIN AUTOMATICALLY STARTS CHECKING IP ADDRESSES USING PROXYCHECK.IO. IF A PLAYER'S IP ADDRESS IS IDENTIFIED AS HARMFUL, THE PLUGIN TAKES ACTION BY EJECTING THE PLAYER AND SENDING A NOTIFICATION.
CONFIGURATION:
Code (YAML):

#
#░█████╗░███╗░░██╗████████╗██╗██╗░░░██╗██████╗░███╗░░██╗
#██╔══██╗████╗░██║╚══██╔══╝██║██║░░░██║██╔══██╗████╗░██║
#███████║██╔██╗██║░░░██║░░░██║╚██╗░██╔╝██████╔╝██╔██╗██║
#██╔══██║██║╚████║░░░██║░░░██║░╚████╔╝░██╔═══╝░██║╚████║
#██║░░██║██║░╚███║░░░██║░░░██║░░╚██╔╝░░██║░░░░░██║░╚███║
#╚═╝░░╚═╝╚═╝░░╚══╝░░░╚═╝░░░╚═╝░░░╚═╝░░░╚═╝░░░░░╚═╝░░╚══╝
#

# SELECT PLUGIN LANGUAGE! (en_US, hu_HU)
Locale
: en_US

# TO BE ENABLED ON LOCAL NETWORKS!
Localhost
: false

AntiVPN
:

  # WRITE YOUR API KEY HERE FOR VPN, PROXY, AND COUNTRY CHECK (OPTIONAL BUT RECOMMENDED! HTTPS://WWW.PROXYCHECK.IO/)
 
  # THIS SECTION IS USED TO CONFIGURE ANTI-VPN MEASURES.
  # AN API KEY CAN BE USED TO ENHANCE THE ACCURACY OF VPN AND PROXY DETECTION.
 
  Code
: ' none'

  # PROXY CHECK CAN BE ENABLED: true / DISABLED: false
  # IF DISABLED, IT WILL NOT KICK FROM THE SERVER UPON CONNECTION!
  AntiPROXY
: true

  # VPN CHECK CAN BE ENABLED: true / DISABLED: false
  # IF DISABLED, IT WILL NOT KICK FROM THE SERVER UPON CONNECTION!
  AntiVPN
: true

Exception
:

  # SPECIFY IP ADDRESSES THAT SHOULD BE EXEMPTED FROM VPN AND PROXY CHECKS.
  # THIS DOES NOT OVERRIDE CHECKS FOR NULL ADDRESSES OR BLACKLISTED ADDRESSES.
  Addresses
: [ ]

Blacklist-mode
:

  # AUTOMATICALLY ADD TO BLACKLIST WHEN KICKED!
  Automatic
: false

  # SPECIFY THE PORTS THAT SHOULD BE CHECKED FOR VPN CONNECTIONS.
  # MULTIPLE PORTS CAN BE LISTED HERE.
  Sockets
:
  - 80

Whitelist-mode
:

  # ENABLE THIS OPTION TO CHECK CONNECTING USERS AGAINST A WHITELIST OF COUNTRY ISO CODES.
  Check
: false

  # YOU CAN ADD COUNTRY ISOCODES TO THE LIST!
  Isocode
:
  - 'RS'
  - 'HU'
  - 'SK'
  - 'RO'
  - 'UA'
 
  # LIST OF COUNTRY ISO CODES THAT ARE ALLOWED TO CONNECT.
  # USERS FROM OTHER COUNTRIES WILL BE BLOCKED IF THIS CHECK IS ENABLED.
 
# SWITCH-CHECK CONFIGURATION!
Switch-check
:

  # THE ADDRESS OPTION DETERMINES WHETHER TO CHECK FOR IP ADDRESS CHANGES!
  # IF 'true', IP ADDRESS CHANGES WILL BE CHECKED!
  # IF 'false', IP ADDRESS CHANGES WILL NOT BE CHECKED!
 
  # ENABLE THIS OPTION TO CHECK FOR CHANGES IN THE IP ADDRESS OF CONNECTED USERS.
  # THIS CAN HELP DETECT SUSPICIOUS ACTIVITY WHERE USERS CHANGE THEIR IP ADDRESS FREQUENTLY.
 
  Address
: false

  # THE ISOCODE OPTION DETERMINES WHETHER TO CHECK FOR COUNTRY CODE (ISO CODE) CHANGES!
  # IF 'true', COUNTRY CODE CHANGES WILL BE CHECKED!
  # IF 'false', COUNTRY CODE CHANGES WILL NOT BE CHECKED!
 
  # ENABLE THIS OPTION TO CHECK FOR CHANGES IN THE COUNTRY ISO CODE OF CONNECTED USERS.
  # THIS CAN HELP DETECT IF USERS ARE USING VPNS TO CHANGE THEIR VIRTUAL LOCATION.
 
  Isocode
: true

Address-limiter
:

  # ENABLE THIS OPTION TO LIMIT THE NUMBER OF CONNECTIONS FROM A SINGLE IP ADDRESS.
  Check
: false

  # SET THE MAXIMUM NUMBER OF CONNECTIONS ALLOWED FROM A SINGLE IP ADDRESS.
  # THIS HELPS TO PREVENT ABUSE FROM A SINGLE SOURCE.
  Max-count
: 3

Server-shutdown
:

  # WHEN YOU ENABLE THIS FEATURE, THE SERVER SHUTS DOWN WHEN YOU TURN DISABLE THE PLUGIN!
  Enabled
: false

Run-task-error
:

  # THIS CONFIGURATION SETTING ENSURES THAT THE SERVER WILL AUTOMATICALLY SHUT DOWN
  # IN THE EVENT OF UNEXPECTED ERRORS OR EXCEPTIONS OCCURRING DURING THE EXECUTION
  # OF runTask METHODS. THIS IS A SAFETY MEASURE DESIGNED TO PREVENT POTENTIAL DATA LOSS,
  # INCONSISTENCIES, OR OTHER ISSUES THAT MAY ARISE FROM THE CONTINUED OPERATION OF THE SERVER
  # UNDER ERRONEOUS CONDITIONS.

  # WHEN ENABLED (true), ANY CRITICAL ERRORS ENCOUNTERED DURING TASK EXECUTION WILL
  # TRIGGER AN IMMEDIATE SERVER SHUTDOWN. THIS HELPS TO MAINTAIN THE INTEGRITY OF THE SYSTEM
  # AND ENSURES THAT ADMINISTRATORS CAN ADDRESS AND RESOLVE THE UNDERLYING ISSUES BEFORE
  # RESTARTING THE SERVER.

  # IF SET TO false, THE SERVER WILL ATTEMPT TO CONTINUE RUNNING DESPITE ANY ERRORS,
  # WHICH MAY BE SUITABLE FOR NON-CRITICAL ENVIRONMENTS OR FOR DEBUGGING PURPOSES. HOWEVER,
  # THIS IS NOT RECOMMENDED FOR PRODUCTION ENVIRONMENTS DUE TO THE RISKS OF UNDETECTED ISSUES.
 
  Server-shutdown
: false

Json-fetcher
:

  # ENABLE CACHING OF FETCHED JSON DATA TO IMPROVE SERVER PERFORMANCE.
  Set-use-caches
: true

  # CONFIGURE THE TIMEOUT SETTINGS FOR WEB REQUESTS.
  # IF THE WEBSITE DOES NOT RESPOND IN TIME, AN ALTERNATIVE CHECK WILL BE USED.
  Set-connect-timeout
: 3
  Set-read-timeout
: 3

  # ENABLE THIS OPTION TO PRINT JSON FETCH ERRORS TO THE CONSOLE FOR DEBUGGING PURPOSES.
  Send-console-error
: false

Socket-fetcher
:

  # CONFIGURE THE TIMEOUT FOR SOCKET CONNECTIONS.
  # IF THERE IS NO RESPONSE, IT WILL ASSUME THAT NO VPN OR PROXY IS USED.
  Set-socket-timeout
: 3

Discord-webhook
:

  # SEND DISCORD NOTIFICATION IF YOU ENTER THE DISCORD WEBHOOK URL!
  # ENTER A DISCORD WEBHOOK URL TO ENABLE DISCORD NOTIFICATIONS FOR SERVER EVENTS.
  Url
: ' none'

  Header
: 'Server Informations!'

  # CONFIGURE THE MESSAGES THAT WILL BE SENT TO THE DISCORD CHANNEL.
  Notifications
:
    Reason
: 'Reason » %reason%'
    User
: 'User » %user%'
    Address
: 'Address » %address%'
    Iso
: 'Iso » %isocode%'
    Server
: 'Server » %server%'

  Footer
: ' (Unsuccessful server connection! )'

# THESE PLACEHOLDERS ARE USED FOR DISPLAYING DEFAULT VALUES WHEN NO SPECIFIC INFORMATION IS AVAILABLE.
Placeholder
:

  Unknown
: 'Unknown'

  Server
: 'Unknown'

  Console
: 'Console'
 
CUSTOM KICK FUNCTIONS:
  • A DEFAULT CODE EXAMPLE IS INCLUDED IN THE CUSTOMKICK.YML FILE AS A REFERENCE. YOU CAN USE IT TO ADD NEW CHECKS.
  • MULTIPLE URLS CAN BE ADDED, AND EACH URL CAN HAVE MULTIPLE JSON CHECKS, PERMISSION BYPASS, AND CUSTOM REASON ADDED!
Code (YAML):

#
#░█████╗░██╗░░░██╗░██████╗████████╗░█████╗░███╗░░░███╗██╗░░██╗██╗░█████╗░██╗░░██╗
#██╔══██╗██║░░░██║██╔════╝╚══██╔══╝██╔══██╗████╗░████║██║░██╔╝██║██╔══██╗██║░██╔╝
#██║░░╚═╝██║░░░██║╚█████╗░░░░██║░░░██║░░██║██╔████╔██║█████═╝░██║██║░░╚═╝█████═╝░
#██║░░██╗██║░░░██║░╚═══██╗░░░██║░░░██║░░██║██║╚██╔╝██║██╔═██╗░██║██║░░██╗██╔═██╗░
#╚█████╔╝╚██████╔╝██████╔╝░░░██║░░░╚█████╔╝██║░╚═╝░██║██║░╚██╗██║╚█████╔╝██║░╚██╗
#░╚════╝░░╚═════╝░╚═════╝░░░░╚═╝░░░░╚════╝░╚═╝░░░░░╚═╝╚═╝░░╚═╝╚═╝░╚════╝░╚═╝░░╚═╝
#

# THE CUSTOM CHECKS ARE DISABLED!
Enabled
: false

# THESE ARE THE DEFAULT VALUES AUTOMATICALLY INSERTED BASED ON PLAYER DATA!
# %name% - PLAYER'S USERNAME!
# %uuid% - PLAYER'S UUID!
# %address% - PLAYER'S IP ADDRESS!
CustomKick
:

  # SETTINGS FOR THE FIRST CHECK, AND MORE CAN BE ADDED!
  Check1
:
    Url
: 'https://funkemunky.cc/vpn?ip= %address%'
 
    checks
:
      # SETTINGS FOR THE FIRST CHECK, AND MORE CAN BE ADDED!
      '1'
:
        # IF YOU HAVE THIS PERMISSION, THE SERVER WILL NOT KICK YOU!
        Permission
: 'chronantivpn.exception.proxy'
 
        # THE JSON PATH!
        Json-Path
:
        - 'proxy'
 
        # CHECK IF THE JSON PATH IS ON THE WHITELIST. IF YES, SERVER DOES NOT KICK!
        Json-Whitelist
:
        - 'false'
 
        # IF THE JSON RESULT IS BLACKLISTED, THE SERVER KICKS WITH THIS REASON!
        Kick
: 'Blocked on the server proxy!'
 
      '2'
:
        # IF YOU HAVE THIS PERMISSION, THE SERVER WILL NOT KICK YOU!
        Permission
: 'chronantivpn.exception.country'
 
        # THE JSON PATH!
        Json-Path
:
        - 'countryCode'
 
        # CHECK IF THE JSON PATH IS ON THE WHITELIST. IF YES, SERVER DOES NOT KICK!
        Json-Whitelist
:
        - 'RS'
        - 'HU'
        - 'SK'
        - 'RO'
        - 'UA'
 
        # IF THE JSON RESULT IS BLACKLISTED, THE SERVER KICKS WITH THIS REASON!
        Kick
: 'Blocked on the server isocode!'

  # SETTINGS FOR THE SECOND CHECK, AND MORE CAN BE ADDED!
  Check2
:
    Url
: 'http://ip-api.com/json/ %address%?fields=proxy,countryCode'
 
    checks
:
      # SETTINGS FOR THE FIRST CHECK, AND MORE CAN BE ADDED!
      '1'
:
        # IF YOU HAVE THIS PERMISSION, THE SERVER WILL NOT KICK YOU!
        Permission
: 'chronantivpn.exception.proxy'
 
        # THE JSON PATH!
        Json-Path
:
        - 'proxy'
 
        # CHECK IF THE JSON PATH IS ON THE WHITELIST. IF YES, SERVER DOES NOT KICK!
        Json-Whitelist
:
        - 'false'
 
        # IF THE JSON RESULT IS BLACKLISTED, THE SERVER KICKS WITH THIS REASON!
        Kick
: 'Blocked on the server proxy!'
 
      '2'
:
        # IF YOU HAVE THIS PERMISSION, THE SERVER WILL NOT KICK YOU!
        Permission
: 'chronantivpn.exception.country'
 
        # THE JSON PATH!
        Json-Path
:
        - 'countryCode'
 
        # CHECK IF THE JSON PATH IS ON THE WHITELIST. IF YES, SERVER DOES NOT KICK!
        Json-Whitelist
:
        - 'RS'
        - 'HU'
        - 'SK'
        - 'RO'
        - 'UA'
 
        # IF THE JSON RESULT IS BLACKLISTED, THE SERVER KICKS WITH THIS REASON!
        Kick
: 'Blocked on the server isocode!'
 
Resource Information
Author:
----------
Total Downloads: 1,021
First Release: Nov 21, 2023
Last Update: Nov 12, 2024
Category: ---------------
All-Time Rating:
4 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings