The plugin has been completely rewritten in this version. It is still in the beta stage. If you find any bugs, please report them to me. You can also suggest new features.
This new version improves anti-bot checks and has been completely reworked.
Fixed old issues related to max IP, players being able to rejoin, etc.
Added more commands and messages for better understanding.
Improved permissions management.
Blacklist/Whitelist now supports IP/player name/country.
The cache system has been reworked.
You can now look up an IP.
You have more information when you look up a player/IP.
You can set the minimum score from the API to flag an IP as bad.
Improved log management.
Enhanced config and messages configuration.
Added anti-bot notifications with message or action bar.
If you are updating the plugin from version 1.x, remove the "NoVPN" folder as many things have changed.
I will continue to work on the plugin, and I will also focus more on the API.
- Drop support of SQL
- Fix config.yml file not loading properly
- Added a new configuration file (messages.yml)
All texts are now configurable in messages.yml file! If you migrate from an old plugin version you can remove everything inside the "messages" section.
To configure discord webhook:
You will have 2 files discord.json and discord_account.json. The format is JSON you can fully customize your webhook with discohook.org for example. You can import JSON and fetch it when it's done.
Config file changed! Check the new config on the plugin description.
Added config:
+ Added clear old player file cache
+ Added api-version in plugin.yml
+ Use logger instead of java default print
+ Added more debug
+ Configurable /nvp message
+ Added console filter
+ Added on/off command for VPN check
+ Added IP cleaner for max IP check
* Fixed spaces in nvp and nvp checks commands
* Fixed file cache saving when blacklist is enabled
* Fixed VPN was not checked after re-login
- Some code cleaning and optimizations
Config file changed! Check the new config on the plugin description.
Added config:
Code (YAML):
#Clear player file/sql entry after a fixed time (in seconds) #604800 = 1 week #-1 to disable it clear-cache-delay: 604800
console-filter: true
messages:
nvp-message: |-
&6=========&6
[&aNoVPN&6
]=========
&a/nvp check <player> &7| &6View player info
&a/nvp verify <player> &7| &6Re-check a player
&a/nvp on/off &7| &6Enable/disable VPN check
&a/nvp blacklist <add/remove/list> <IP/Username> &7| &6Add ip or username in blacklist
&a/nvp whitelist <add/remove/list> <IP/Username> &7| &6Add ip or username in whitelist
&6========================
- Optimization in player connection
- Bad account and Antibot are not forced disabled anymore (a warning message is shown)
- Optimization in max IP checker
- Better file writing/SQL request for player data
- Post login event is now in async for Bungeecord and Velocity (fix performance issues during login)
- Change in config file to disable VPN check more easily. Comments in config file are more concise
/ ! \ Config file changed. Please take these changes into consideration!
You can see the new default config file in the plugin description.
- Some code optimization
- Added Nukkit support
- Added invalid-ip in config
- Fixed bug: IP is not check when a player join with a new IP
- Disabled max IP check on invalid IPs
Warning config.yml file changed in this version! It's important to make a new one or add news in the current file. It's important to avoid any bug.
Changes:
Added: invalid-ip: true, and invalid-ip in messages
Changed: vpn.kick to kick (same for ban, notify), max-ip section changed too.
(You can see the last config file on the presentation page)
(Invalid IPs are local, and private address)
- Improved async and multithreads
- Improved memory management
- Removed kick before executing ban command
- Added more debug in the plugin
- Fixed read file problem (should fix max ip check issue, detected player not kicked, ...)
- Removed kick command
- Added thread pool
- Optimized I/O and requests on join
- Better memory performance
- Optimized player join
- Added more things in threads
- Added -1 to disable max connections per seconds (Antibot)
- Re-written commands
- Fixed bug max ip was never removed
- Optimized SQL field sizes
- Updated configuration file
- Recoded the core of the plugin
- Optimized commands
- Whitelisted players are now added in the database (kick/ban skipped)
- Changed mcleaks to bad account (NoVPN can now check McLeaks and TheAltening account!)
- Added support for Velocity
- Removed ban/unban command (now ban system is 100% external)
- Removed ban field in sql (the plugin automatically update the table for you)
- Removed permission : ipbypass
You can check for any changes of config file in the description page (it's not necessary to update).
- Improvement of commands performance
- Fixed blacklist command
- Fixed antimcleaks message at startup
- Added /nvp reload to reload the config (perm: novpn.reload)
- Removed menu configuration
- Reorganized config file
- Optimized bungeecord version
- Fixed config message error on ping to join in bungeecord
/!\ Config file change in this version : from :
Code (Text):
blacklist-message: "&cYou are in the blacklist !"
addblacklist: "&a%argument% has been added to the blacklist !"
removeblacklist: "&a%argument% has been removed from the blacklist !"
already-blacklist: "&a%argument% was already in the blacklist!"
not-in-blacklist: "&c%argument% is not in blacklist!"
whitelist-message: "&cYou are not in the whitelist !"
addwhitelist: "&a%argument% has been added to the whitelist !"
removewhitelist: "&a%argument% has been removed from the whitelist !"
already-whitelist: "&a%argument% was already in the whitelist!"
not-in-whitelist: "&c%argument% is not in whitelist!"
to :
Code (Text):
lists-message: "&cYou are in the blacklist!"
lists-add: "&a%argument% has been added to the %type%!"
lists-remove: "&a%argument% has been removed from the %type%!"
lists-already: "&a%argument% was already in the %type%!"
lists-not-in: "&c%argument% is not in %type%!"
- Fixed: menu for new versions
- Fixed: /nvp check after a reload
- Cleaned: code
- Optimized: some sql parts of code
- Fixed: ChatColor conversion in bungeecord messages
- Player is now kick when added in the blacklist
- Fixed: menu doesn't save changes
- Fixed error on join (bungeecord)
- Changed code structure for more stability
- Rewrote the anti bot functionality
- Added /nvp verify <player> command
- Optimized start and join
- Optimized config
- Removed useless configuration
- Optimized player join
- Fixed mcleaks check on rejoin
- Added debug for join
- Added a reports sender system
New config.yml file! Check here :
Code (Text):
debug: false
#You can use your personnal ban plugin (Spigot/Bungeecord)
#Don't add /
#You can use %ip%
ban-cmd: "ban %player% %reason%"
#When occurs an error you accept to send the error to a reports server.
#You don't need to do anything, I will receive the error and fix it.
#No other informations are sent!
send-reports: true
vpn:
#Kick when player use VPN
kick: false
#Send alert VPN for all player with permission novpn.receive
notify: true
#Ban player using VPN
ban: true
#If you want use firewall for blocking VPN connection
firewall:
enabled: false
command: "iptables -A INPUT -s %ip% -p tcp --destination-port 25565 -j DROP"
blacklist:
enabled: true
#Add when VPN is detected
add-on-detect: true
#Add player to bypass VPN/Mcleaks/Country verification.
whitelist:
enabled: false
alt:
#Enable alt verification
enabled: true
#Max players with same IP
max-ip: 1
#Try server stability before enabled this functionality
antibot:
#Enable/disable antibot protection
enabled: false
#Max connection per seconds authorized
max-connection-second: 20
antimcleaks:
#Enable mcleaks detection
enabled: true
check-offline-players: false #enable this if your server is on offline mode (only bungeecord beta)
#Kick when player use McLeaks
kick: true
#Ban when player use McLeaks
ban: false
#Player is automatically kick (can be bypass with whitelist)
blocked-country:
enabled: true
message: "&cYour country is not allowed!"
blocked: #See country list on the plugin page
- ''
messages:
message-kick: '&cYou have been kicked for using VPN.'
message-notify: '&c%player% (%IP%) tried to join using vpn/proxy!'
not_online: '&cThe player is not online.'
message-ban: '&cYou have been banned for using VPN/Proxy.'
blacklist-message: "&cYou are in the blacklist !"
addblacklist: "&a%argument% has been added to the blacklist !"
removeblacklist: "&a%argument% has been removed from the blacklist !"
already-blacklist: "&a%argument% was already in the blacklist!"
not-in-blacklist: "&c%argument% is not in blacklist!"
whitelist-message: "&cYou are not in the whitelist !"
addwhitelist: "&a%argument% has been added to the whitelist !"
removewhitelist: "&a%argument% has been removed from the whitelist !"
already-whitelist: "&a%argument% was already in the whitelist!"
not-in-whitelist: "&c%argument% is not in whitelist!"
bot-kick: "&c[Antibot] Wait for reconnect!"
mcleaks-kick: "&cMcLeaks account!"
mcleaks-ban: "&cYou're banned for McLeaks!"
max_ip: "&cToo many account connected with same IP. (Max %max%)"
- Fix too many request on sql
- Remake sql requests
- Fix mcleaks check
- Completely rewrite the api (better checks & speed)
Update from v2 to v3 api. If you have any problem with the new api version on old players I'm gonna do an update to fix that. You can temporary delete the player yml file in players directory (If your are using the file system). For mysql users you can remove the row if you know how to do. (Note: You don't need to do that if the player change his IP)
- Optimisation request
- Better error log
- Add rejoin change ip (bungeecord)
- Change bungeecord file system
Warning ! For bungeecord servers using file system! If you want to use old player file system (locate: plugins/NoVPN/players/..) you need to run the command /nvp updateFiles. If you doesn't do that you will receive an error when an old player join.
- Remove permissions in config file
- Remove online search mcleaks option
- Reorganisation of config file
- Add to blacklist on detected ip
- Add ban option on mcleaks
Make you sure you have this config.yml (a lot of change)
Code (Text):
#NoVPN [PREMIUM] by besuper_
#thanks for buying
debug: false
vpn:
#kick when player use VPN
kick: false
#send alert VPN for all player with permission novpn.receive
notify: true
#ban player using VPN
ban: false
#for better performance (cache bad IP)
cache: true
blacklist:
enabled: true
#When player is kicked/banned for VPN
add-on-kick: false
add-on-ban: false
#Add when VPN is detected
add-on-detect: true
whitelist:
enabled: false
max-ip-check: false
ip_per_account: 2
antibot: false
antimcleaks:
#Enable mcleaks detection
enabled: true
#Kick when player use McLeaks
kick: true
#Ban when player use McLeaks
ban: false
#Player is automatically kick (can be bypass with : novpn.bypass)
blocked-country:
enabled: true
message: '&cYour country is not allowed!'
blocked:
- 'China'
messages:
message-kick: '&cYou have been kicked for using VPN.'
message-notify: '&c%player% (%IP%) tried to join using vpn!'
not_online: '&cThe player is not online.'
message-ban: '&cYou have been banned for using VPN.'
broadcast: '&7[&c&lNoVPN&7] &eThe player &l&a%player% &eis using &c&lVPN.'
blacklist-message: '&cYou are in the black list !'
addblacklist: '&a%argument% has been added to the blacklist !'
removeblacklist: '&a%argument% has been removed to the blacklist !'
already-blacklist: '&a%argument% was already in the blacklist!'
not-in-blacklist: '&c%argument% is not in blacklist!'
whitelist-message: '&cYou are not in the whitelist !'
addwhitelist: '&a%argument% has been added to the whitelist !'
removewhitelist: '&a%argument% has been removed to the whitelist !'
already-whitelist: '&a%argument% was already in the whitelist!'
not-in-whitelist: '&c%argument% is not in whitelist!'
bot-kick: '&c[Antibot] Wait for reconnect!'
mcleaks-kick: '&cMcLeaks account!'
mcleaks-ban: '&cYou are banned for McLeaks!'
mcleaks-check: '&7[&6%player%&7] &6McLeaks Account : &a%result%'
max_ip: '&cToo many account connected with one IP. (Max %max%)'
Better code optimization
Change load class on enable
Fix error in config
Better player loading
Make you sure you have this configuration :
Code (YAML):
#NoVPN [PREMIUM] by besuper_ #thanks for buying #You can find different language file in spigot page of plugin
#kick player using vpn kick: false
#send alert vpn for all player with permission novpn.receive notify: true
#ban player using vpn ban: false
#for better perfomance (cache bad ip) cache: true
blacklist:
enabled: true
add-on-kick: false
add-on-ban: false
whitelist:
enabled: false
only-player-inside-can-join: false
max-ip-check: false
ip_per_account: 2
antibot: false
antimcleaks: true
mysql:
enabled: false
host: 'localhost'
bdd: 'my_database'
table: 'novpn'
user: 'root'
password: 'password'
permission:
bypass: 'novpn.bypass'
receive_message: 'novpn.receive'
check: 'novpn.check'
vpban: 'novpn.vpban'
vpkick: 'novpn.vpkick'
vpblacklist: 'novpn.vpblacklist'
vpwhitelist: 'novpn.vpwhitelist'
openconfig: 'novpn.config'
vpcheckleak: 'novpn.leakc'
vpreload: 'novpn.reload'
messages:
message-kick: '&cYou have been kicked for using VPN.'
message-notify: '&c
%player% (%IP%) tried to join using vpn!' not_online: '&cThe player is not online.'
message-ban: '&cYou have been banned for using VPN.'
broadcast: '&7
[&c&lNoVPN&7
] &eThe player &l&a
%player% &eis using &c&lVPN.'
#Message for command /vp vpcheck_message1: '&6=========&6
[&aNoVPN&6
]========='
vpcheck_message2: '&bName
: &a%player%' vpcheck_message3: '&bIP
: &a%IP%' vpcheck_message4: '&bCountry
: &a%country%' vpcheck_message5: '&bVPN
: &a%info_vpn%' vpcheck_message6: '&6============================'
blacklist-message: '&cYou are in the black list !'
addblacklist: '&a
%argument% has been added to the blacklist !' removeblacklist: '&a
%argument% has been removed to the blacklist !' already-blacklist: '&a
%argument% was already in the blacklist!' not-in-blacklist: '&c
%argument% is not in blacklist!' whitelist-message: '&cYou are not in the white list !'
addwhitelist: '&a
%argument% has been added to the whitelist !' removewhitelist: '&a
%argument% has been removed to the whitelist !' already-whitelist: '&a
%argument% was already in the whitelist!' not-in-whitelist: '&c
%argument% is not in whitelist!' bot-kick: '&c
[Antibot
] Wait for reconnect!'
mcleaks-kick: '&cMcLeaks account!'
mcleaks-check: '&7
[&6
%player%&7] &6McLeaks Account : &a%result%' max_ip: '&cToo many account connected with one IP.
(Max
%max%)'
Update 1.8.3 NOVPN: - Improvement bot detection
- Fix %player% and %IP% on notify message
- Check of command /vp reload
- Adding a possibility to add a player into the blacklist when somebody is ban or kick for vpn.
- Fix bug invalid version
- Fix bug mcleaks check
- Block /vp command for user
- Add Security plugin
Don't change the name of plugin for this version !
All version under this version don't work !
The main api of the plugin does not work any more I have of thus to change it and to find an other who not bug not. At the moment I have of it to find one to limit has 500 test a month by users. The time to find a piece of new api (if you have an api you can send me a private message)