benbaptist / wrapper.py

Wrapper.py is a Minecraft server wrapper that adds additional features to a vanilla server, including backups, dashboard access, plugins, and more.
http://wrapper.benbaptist.com/
48 stars 2 forks source link

Wrapper crashes when Bedrock user connects via GeyserMC + floodgate #16

Open devjta opened 2 years ago

devjta commented 2 years ago

Hey.

So the web-panel is more or less up (dashboard doesnt exist and players result in an internal error), but when a Bedrock user via GeyserMC + floodgate connects, the whole wrapper crashes:

[20:44:40] [pool-2-thread-1/INFO]: Floodgate player who is logged in as .user41200000000-0000-0000-0009-0000037ae12b joined
[20:44:40] [Wrapper/main/ERROR] Fatal error, shutting down
[20:44:40] [Wrapper/main/ERROR] Traceback (most recent call last):
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/server/mcserver/console_parser/__init__.py", line 191, in new_style
[20:44:40] [Wrapper/main/ERROR]     player = self.server.get_player(username=username)
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/server/__init__.py", line 108, in get_player
[20:44:40] [Wrapper/main/ERROR]     raise TypeError("Player by criteria %s/%s/%s not found" % (username, mcuuid, ip_address))
[20:44:40] [Wrapper/main/ERROR] TypeError: Player by criteria .user412/None/None not found
[20:44:40] [Wrapper/main/ERROR]
[20:44:40] [Wrapper/main/ERROR] During handling of the above exception, another exception occurred:
[20:44:40] [Wrapper/main/ERROR]
[20:44:40] [Wrapper/main/ERROR] Traceback (most recent call last):
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/__init__.py", line 137, in run
[20:44:40] [Wrapper/main/ERROR]     self.tick()
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/__init__.py", line 156, in tick
[20:44:40] [Wrapper/main/ERROR]     self.server.tick()
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/server/__init__.py", line 265, in tick
[20:44:40] [Wrapper/main/ERROR]     self.mcserver.tick()
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/server/mcserver/__init__.py", line 206, in tick
[20:44:40] [Wrapper/main/ERROR]     if self.console_parser.parse(line) != False:
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/server/mcserver/console_parser/__init__.py", line 23, in parse
[20:44:40] [Wrapper/main/ERROR]     return self.new_style(new_style)
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/server/mcserver/console_parser/__init__.py", line 195, in new_style
[20:44:40] [Wrapper/main/ERROR]     player = Player(server=self.mcserver.server, username=username, mcuuid=mcuuid)
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/server/player.py", line 98, in __init__
[20:44:40] [Wrapper/main/ERROR]     self.skin = self.mojang.get_skin_from_uuid(self.mcuuid)
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/mojang/__init__.py", line 69, in get_skin_from_uuid
[20:44:40] [Wrapper/main/ERROR]     profile = self.uuid_to_profile(mcuuid)
[20:44:40] [Wrapper/main/ERROR]   File "/home/ubuntu/.local/lib/python3.8/site-packages/wrapper/mojang/__init__.py", line 58, in uuid_to_profile
[20:44:40] [Wrapper/main/ERROR]     assert payload["id"] == mcuuid
[20:44:40] [Wrapper/main/ERROR] KeyError: 'id'
[20:44:40] [Wrapper/main/ERROR]
[20:44:40] [Wrapper/main/INFO] Wrapper has stopped

It would be nice, if it doesnt crash.