BlueMap-Minecraft / BlueMap

A Minecraft mapping tool that creates 3D models of your Minecraft worlds and displays them in a web viewer.
https://bluecolo.red/bluemap
MIT License
1.89k stars 130 forks source link

Unable to properly handle fake players who go offline #598

Closed mcbianxiao closed 2 months ago

mcbianxiao commented 2 months ago

What i did / Steps to reproduce

I used a fake player with a carpet mod, but when the fake player goes offline, bluemap will think that the fake player is still online.
The easiset to reproduce(issue command in order):

In addition, this issue can occur after a fake player dies in other ways.

Expected result

Fake players will disappear from the map after going offline just like normal players.

Actual result

The fake player will not disappear from the map when they go offline, and the bluemap will think that the fake player is still online.

Context

BlueMap Version:
BlueMap-5.3-fabric.jar

OS:
Windows Server 2016
Platform:
Fabric 0.16.0
Minecraft version:
1.21


Using Microsoft Translator, if you can't understand it, let me re-explain it. Thank you.

elboletaire commented 2 months ago

Wow, 3 hours ago. I just installed Bluemap yesterday, and today I realized I had the same issue, so I came here to report it.

So yeah, I'm wondering the same. For now, I just hid them from the map by enabling the "hide-sneaking" option and sneaking all AFK players. But I'd prefer to properly show them since it's useful information to know if there are AFK non-players connected.

Edit: Restarting the minecraft server also removes them, but that's not an option for most of us I think.

TBlueF commented 2 months ago

BlueMap is using the ServerPlayConnectionEvents.JOIN and ServerPlayConnectionEvents.DISCONNECT events provided by FabricAPI to detect players joining and leaving. So right now i'd say this is more an issue with the mod which is adding the fake-players, because it seems like it is triggering the JOIN event but not the DISCONNECT event of FabricAPI.

Please contact them first and ask about their pov on this :)

elboletaire commented 2 months ago

BlueMap is using the ServerPlayConnectionEvents.JOIN and ServerPlayConnectionEvents.DISCONNECT events provided by FabricAPI to detect players joining and leaving. So right now i'd say this is more an issue with the mod which is adding the fake-players, because it seems like it is triggering the JOIN event but not the DISCONNECT event of FabricAPI.

That kinda makes sense since the command to disconnect them is kill, not disconnect.

Not sure if OP is using carpet, but I've created an issue there, since it's what I'm using: https://github.com/gnembon/fabric-carpet/issues/1983

TBlueF commented 2 months ago

Closing this here, but i'll keep an eye on those issues on the carpet-repo that you opened :)