Server crash when kick on PlayerJoinEvent #125

Closed
opened 2023-07-05 14:47:32 +02:00 by BuchNieZyje · 3 comments
BuchNieZyje commented 2023-07-05 14:47:32 +02:00 (Migrated from github.com)

Expected behavior

Just kick player (like cancel PlayerJoinEvent)

Observed/Actual behavior

Server crash when player join server, and in PlayerJoinEvent he got kicked

Steps/models to reproduce

Kick player on PlayerJoinEvent

Plugin and Datapack List

[14:46:07 INFO]: Bukkit Plugins:
[14:46:07 INFO]: - Chunky, DecentHolograms, Essentials, JbwmLib, JbwmMarketing, LifeStealFolia, LuckPerms, NoCheatPlus, TAB, Vault
[14:46:07 INFO]: ViaBackwards, ViaVersion, WorldEdit, WorldGuard

No datapacks

Folia version

version
[14:45:25 INFO]: Checking version, please wait...
[14:45:26 INFO]: This server is running Folia version git-Folia-"801cff1" (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: 801cff1)
You are 5 version(s) behind
Download the new version at: https://papermc.io/downloads/paper

Other

StackTraces

[14:42:16 ERROR]: Could not pass event PlayerJoinEvent to LifeStealFolia v0.1
java.lang.IllegalStateException: Player is already removed from player chunk loader
at io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.removePlayer(RegionizedPlayerChunkLoader.java:158) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.ChunkMap.removePlayerFromDistanceMaps(ChunkMap.java:210) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.ChunkMap.updatePlayerStatus(ChunkMap.java:1017) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.ChunkMap.removeEntity(ChunkMap.java:1104) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.ServerChunkCache.removeEntity(ServerChunkCache.java:722) ~[?:?]
at net.minecraft.server.level.ServerLevel$EntityCallbacks.onTrackingEnd(ServerLevel.java:2850) ~[?:?]
at net.minecraft.server.level.ServerLevel$EntityCallbacks.b(ServerLevel.java:2728) ~[?:?]
at io.papermc.paper.chunk.system.entity.EntityLookup.entityStatusChange(EntityLookup.java:291) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.chunk.system.entity.EntityLookup$EntityCallback.a(EntityLookup.java:884) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.world.entity.Entity.setRemoved(Entity.java:5489) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.world.entity.Entity.remove(Entity.java:701) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.world.entity.LivingEntity.remove(LivingEntity.java:770) ~[?:?]
at net.minecraft.world.entity.player.Player.remove(Player.java:1497) ~[?:?]
at net.minecraft.server.level.ServerLevel.removePlayerImmediately(ServerLevel.java:1756) ~[?:?]
at net.minecraft.server.players.PlayerList.remove(PlayerList.java:730) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.network.ServerGamePacketListenerImpl.onDisconnect(ServerGamePacketListenerImpl.java:2149) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.disconnect(ServerGamePacketListenerImpl.java:547) ~[?:?]
at org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer.kick(CraftPlayer.java:600) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer.kick(CraftPlayer.java:592) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at pl.jbwm.module.gameplay.hearts.PlayerReviveCommand.onReviveJoin(PlayerReviveCommand.java:32) ~[LifeStealFolia-0.1-remapped.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor24.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:git-Folia-"801cff1"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:419) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.network.ServerLoginPacketListenerImpl.lambda$handleAcceptedLogin$1(ServerLoginPacketListenerImpl.java:204) ~[?:?]
at io.papermc.paper.threadedregions.RegionizedTaskQueue$PrioritisedQueue$ChunkBasedPriorityTask.executeInternal(RegionizedTaskQueue.java:504) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.RegionizedTaskQueue$PrioritisedQueue.executeTask(RegionizedTaskQueue.java:434) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.RegionizedTaskQueue$RegionTaskQueueData.drainTasks(RegionizedTaskQueue.java:263) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1514) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:360) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
[14:42:17 INFO]: Kaps3l[/93.190.38.165:49888] logged in with entity id 35 at ([world]130.3329161400611, 103.12675491605172, -54.72480709236856)
[14:42:17 ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #1 centered at chunk [-1, -1] in world 'world' failed to tick:
java.lang.NullPointerException: Cannot read field "f" because "pos" is null
at io.papermc.paper.util.CoordinateUtils.getChunkKey(CoordinateUtils.java:29) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.removeTicketAtLevel(ChunkHolderManager.java:684) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.DistanceManager.removeTicket(DistanceManager.java:97) ~[?:?]
at net.minecraft.server.level.ServerChunkCache.removeTicketAtLevel(ServerChunkCache.java:133) ~[?:?]
at io.papermc.paper.threadedregions.RegionizedWorldData.tickConnections(RegionizedWorldData.java:467) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1528) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:360) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.20.1.jar:git-Folia-"801cff1"]

### Expected behavior Just kick player (like cancel PlayerJoinEvent) ### Observed/Actual behavior Server crash when player join server, and in PlayerJoinEvent he got kicked ### Steps/models to reproduce Kick player on PlayerJoinEvent ### Plugin and Datapack List [14:46:07 INFO]: Bukkit Plugins: [14:46:07 INFO]: - Chunky, DecentHolograms, Essentials, JbwmLib, JbwmMarketing, LifeStealFolia, LuckPerms, NoCheatPlus, TAB, Vault [14:46:07 INFO]: ViaBackwards, ViaVersion, WorldEdit, WorldGuard No datapacks ### Folia version version [14:45:25 INFO]: Checking version, please wait... [14:45:26 INFO]: This server is running Folia version git-Folia-"801cff1" (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: 801cff1) You are 5 version(s) behind Download the new version at: https://papermc.io/downloads/paper ### Other StackTraces [14:42:16 ERROR]: Could not pass event PlayerJoinEvent to LifeStealFolia v0.1 java.lang.IllegalStateException: Player is already removed from player chunk loader at io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.removePlayer(RegionizedPlayerChunkLoader.java:158) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.server.level.ChunkMap.removePlayerFromDistanceMaps(ChunkMap.java:210) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.server.level.ChunkMap.updatePlayerStatus(ChunkMap.java:1017) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.server.level.ChunkMap.removeEntity(ChunkMap.java:1104) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.server.level.ServerChunkCache.removeEntity(ServerChunkCache.java:722) ~[?:?] at net.minecraft.server.level.ServerLevel$EntityCallbacks.onTrackingEnd(ServerLevel.java:2850) ~[?:?] at net.minecraft.server.level.ServerLevel$EntityCallbacks.b(ServerLevel.java:2728) ~[?:?] at io.papermc.paper.chunk.system.entity.EntityLookup.entityStatusChange(EntityLookup.java:291) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at io.papermc.paper.chunk.system.entity.EntityLookup$EntityCallback.a(EntityLookup.java:884) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.world.entity.Entity.setRemoved(Entity.java:5489) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.world.entity.Entity.remove(Entity.java:701) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.world.entity.LivingEntity.remove(LivingEntity.java:770) ~[?:?] at net.minecraft.world.entity.player.Player.remove(Player.java:1497) ~[?:?] at net.minecraft.server.level.ServerLevel.removePlayerImmediately(ServerLevel.java:1756) ~[?:?] at net.minecraft.server.players.PlayerList.remove(PlayerList.java:730) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.server.network.ServerGamePacketListenerImpl.onDisconnect(ServerGamePacketListenerImpl.java:2149) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.disconnect(ServerGamePacketListenerImpl.java:547) ~[?:?] at org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer.kick(CraftPlayer.java:600) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer.kick(CraftPlayer.java:592) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at pl.jbwm.module.gameplay.hearts.PlayerReviveCommand.onReviveJoin(PlayerReviveCommand.java:32) ~[LifeStealFolia-0.1-remapped.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor24.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:git-Folia-"801cff1"] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:419) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.server.network.ServerLoginPacketListenerImpl.lambda$handleAcceptedLogin$1(ServerLoginPacketListenerImpl.java:204) ~[?:?] at io.papermc.paper.threadedregions.RegionizedTaskQueue$PrioritisedQueue$ChunkBasedPriorityTask.executeInternal(RegionizedTaskQueue.java:504) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at io.papermc.paper.threadedregions.RegionizedTaskQueue$PrioritisedQueue.executeTask(RegionizedTaskQueue.java:434) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at io.papermc.paper.threadedregions.RegionizedTaskQueue$RegionTaskQueueData.drainTasks(RegionizedTaskQueue.java:263) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1514) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:360) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at java.lang.Thread.run(Thread.java:833) ~[?:?] [14:42:17 INFO]: Kaps3l[/93.190.38.165:49888] logged in with entity id 35 at ([world]130.3329161400611, 103.12675491605172, -54.72480709236856) [14:42:17 ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #1 centered at chunk [-1, -1] in world 'world' failed to tick: java.lang.NullPointerException: Cannot read field "f" because "pos" is null at io.papermc.paper.util.CoordinateUtils.getChunkKey(CoordinateUtils.java:29) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.removeTicketAtLevel(ChunkHolderManager.java:684) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.server.level.DistanceManager.removeTicket(DistanceManager.java:97) ~[?:?] at net.minecraft.server.level.ServerChunkCache.removeTicketAtLevel(ServerChunkCache.java:133) ~[?:?] at io.papermc.paper.threadedregions.RegionizedWorldData.tickConnections(RegionizedWorldData.java:467) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1528) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:360) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[folia-1.20.1.jar:git-Folia-"801cff1"] at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
electronicboy commented 2023-07-05 14:48:53 +02:00 (Migrated from github.com)

Kicking a player in that event is pretty much unsupported and asking for issues, idk how much intent there is to keep fixing issues of people doing weird stuff in that event across the various platforms

Kicking a player in that event is pretty much unsupported and asking for issues, idk how much intent there is to keep fixing issues of people doing weird stuff in that event across the various platforms
MiniDigger commented 2023-07-06 10:57:50 +02:00 (Migrated from github.com)

consider using one of the login events instead if you want to prevent the user from joining

consider using one of the login events instead if you want to prevent the user from joining
Spottedleaf commented 2023-07-10 03:06:35 +02:00 (Migrated from github.com)

Not supported behavior to kick during the join event

Not supported behavior to kick during the join event
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Minecraft/Folia#125
No description provided.