Error when the plugin kick players out by expiring login time
andris155 opened this issue · 2 comments
Before reporting an issue make sure you are running the latest build of the plugin and checked for duplicate issues!
What behaviour is observed:
Error when the plugin kick players out by expiring login time.
What behaviour is expected:
No error when the plugin kick players out by expiring login time.
Steps/models to reproduce:
The actions that cause the issue
- Login server when installed Authme plugin.
- Wait and no login.
Plugin list:
Plugins (28): AuthMe, BetterGUI, ChatControl, Citizens, ConditionalCommands, CoreProtect, EasySetSpawn*, FastLogin, HolographicDisplays, HolographicExtension, ImageMaps, ItemJoin, LPC, LuckPerms, NoCheatPlus, PlaceholderAPI, PlayerVedelem, PlugMan, ProtocolLib, SkinsRestorer, StaffChat, SuperTrailsPro*, TAB, Vault, WDLCompanion*, WorldBorder, WorldEdit, WorldGuard
Environment description
Authme - Yatopia (Paper fork) 1.16.4, SQLite.
AuthmeBungee - Waterfall (Bungecord fork)
AuthMe build number:
AuthMeReloaded v5.6.0-SNAPSHOT (build: 2432)
Error Log:
[15:19:14] [Server thread/WARN]: [AuthMe] Task #82962 for AuthMe v5.6.0-SNAPSHOT-b2432 generated an exception
java.lang.NullPointerException: null
at net.minecraft.server.v1_16_R3.PlayerConnection.disconnect(PlayerConnection.java:323) ~[patched_1.16.4.jar:git-Yatopia-"a47bfa7"]
at org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer.kickPlayer(CraftPlayer.java:467) ~[patched_1.16.4.jar:git-Yatopia-"a47bfa7"]
at fr.xephi.authme.task.TimeoutTask.run(TimeoutTask.java:31) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:99) ~[patched_1.16.4.jar:git-Yatopia-"a47bfa7"]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468) ~[patched_1.16.4.jar:git-Yatopia-"a47bfa7"]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1372) ~[patched_1.16.4.jar:git-Yatopia-"a47bfa7"]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:397) ~[patched_1.16.4.jar:git-Yatopia-"a47bfa7"]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1282) ~[patched_1.16.4.jar:git-Yatopia-"a47bfa7"]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1013) ~[patched_1.16.4.jar:git-Yatopia-"a47bfa7"]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:179) ~[patched_1.16.4.jar:git-Yatopia-"a47bfa7"]
at java.lang.Thread.run(Unknown Source) [?:?]
[15:19:14] [Server thread/INFO]: repa12 lost connection: A belépési időd lejárt, ezért kidobott a szerver! Kérlek, próbáld meg újra!
Configuration:
This is the PlayerConnection.disconnect decompiled source code:
public void disconnect(String s) {
if (!this.processedDisconnect) {// 299
String leaveMessage = EnumChatFormat.YELLOW + this.player.getName() + " left the game.";// 302
PlayerKickEvent event = new PlayerKickEvent(this.server.getPlayer(this.player), s, leaveMessage);// 304
if (this.server.getServer().isRunning()) {// 306
this.server.getPluginManager().callEvent(event);// 307
}
if (!event.isCancelled()) {// 310
s = event.getReason();// 315
IChatBaseComponent ichatbasecomponent = CraftChatMessage.fromString(s, true)[0];// 316
this.player.quitReason = QuitReason.KICKED;// 319
this.networkManager.sendPacket(new PacketPlayOutKickDisconnect(ichatbasecomponent), (future) -> {// 320
this.networkManager.close(ichatbasecomponent);// 321
});// 322
this.a(ichatbasecomponent, event.getLeaveMessage().equalsIgnoreCase(leaveMessage) ? null : event.getLeaveMessage());// 323
this.networkManager.stopReading();// 324
MinecraftServer minecraftserver = this.minecraftServer;// 325
NetworkManager networkmanager = this.networkManager;// 326
this.networkManager.getClass();// 328
minecraftserver.scheduleOnMain(networkmanager::handleDisconnection);// 330
}
}
}// 300 312 331
If line 323 throws a NullPointerException it means that a plugin is changing the kick message to null in the PlayerKickEvent event.
Do you have any plugin attempting to change such messages? Not an AuthMe related issue anyway.