I'm protecting my server by using "country whitelist", which works great. Currently I have only one country unblocked (my own country) and successfully blocking those players who use VPNs (there aren't many VPN servers in my country).
The problem is: I'm using VPN myself, and I use it very frequently, therefore my server keeps kicking me out. Also there are players who live abroad, but we are talking here about 3-4 players. I don't want to unblock a whole country just to allow them to join my server.
Would it be possible to add bypassing the whitelist by adding IP address that is allowed to connect to the server, regardless of location?
Relates to #1020
Still #1020 not implemented after 9 months
I'll implement that asap, i'm currently in vacation.
authme.bypasscountrycheck:
description: Permission to use to see own other accounts.
Copy & paste?
yep sorry, i had to work on unit test fixes and forgot about that xD
@Bielecki does it work? ;)
Unfortunately not, FR vpn, same with Cz vpn. Error below:
[12:26:14 INFO]: UUID of player Bielecki is a89de266-1a38-3a9a-82e9-3da0c51a7178
[12:26:14 ERROR]: Could not pass event PlayerLoginEvent to AuthMe v5.4-SNAPSHOT-b1768 org.bukkit.event.EventException: null
at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:46) ~[PaperSpigot-latest.jar:git-Paper-1151]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[PaperSpigot-latest.jar:git-Paper-1151]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[PaperSpigot-latest.jar:git-Paper-1151]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) [PaperSpigot-latest.jar:git-Paper-1151]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [PaperSpigot-latest.jar:git-Paper-1151]
at protocolsupport.protocol.packet.handler.AbstractLoginListenerPlay.tryJoin(AbstractLoginListenerPlay.java:106) [ProtocolSupport.jar:?]
at protocolsupport.protocol.packet.handler.AbstractLoginListenerPlay.tick(AbstractLoginListenerPlay.java:75) [ProtocolSupport.jar:?]
at protocolsupport.zplatform.impl.spigot.network.handler.SpigotLoginListenerPlay.e(SpigotLoginListenerPlay.java:70) [ProtocolSupport.jar:?]
at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:202) [PaperSpigot-latest.jar:git-Paper-1151]
at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:150) [PaperSpigot-latest.jar:git-Paper-1151]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:937) [PaperSpigot-latest.jar:git-Paper-1151]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) [PaperSpigot-latest.jar:git-Paper-1151]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:766) [PaperSpigot-latest.jar:git-Paper-1151]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:664) [PaperSpigot-latest.jar:git-Paper-1151]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.NullPointerException
at fr.xephi.authme.listener.OnJoinVerifier.checkPlayerCountry(OnJoinVerifier.java:179) ~[?:?]
at fr.xephi.authme.listener.PlayerListener.onPlayerLogin(PlayerListener.java:225) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor349.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) ~[PaperSpigot-latest.jar:git-Paper-1151]
... 14 more
[12:26:14 INFO]: Bielecki[/163.172.xx.xxx:36203] logged in with entity id 3 at ([lobby]-120.68463685737544, 132.0, 225.59778772363302)
It happens when I don't have "*" permission, just like normal player, then it throws this error. When I have all permissions it works flawlessly.
ok i broke something xD i'll fix that asap
If that would be possible, can you add an entry into the config file too (or a command if that will make things easier), which contains the IP address of a player whom I want to allow to join my server? I鈥檓 asking because if I give a permission to the player (on a nickname), the player will be able not only to join my server through his original IP, but also through any other IP address (by using VPNs). I also don鈥檛 want him/her to join through any VPN that is available.
@Bielecki what if the player's IP is dynamic?
@HexelDev that's his problem. If I give him access by IP, then after IP change he will be denied from joining. But then I could give him permission (on nick), if I decide to trust him :)
I have some players that are trying to join every couple of days and they have same IP every time, so I could let that IP join, because it hasn't changed for months.
@Bielecki I fixed the exception, please try again with the latest dev build.
@sgdc3 Tested right now, works great :) Also I'd be grateful if you implement that "allow-one-ip" feature.
@Bielecki As most of the public ips nowadays are dynamic addresses i don't think that feature would be very useful.
@Bielecki Open a new issue if you still think you need this feature.