jordoncodes / swift-disguise

API to allow to change player names/skins! Supports 1.8.8 and 1.20.4
9 stars 0 forks source link

Plugin causes Floodgate Player to not be able to join #1

Closed Juli0q closed 7 months ago

Juli0q commented 7 months ago
Server Version: git-Paper-378 (MC: 1.20.4)
Plugin Version: 1.2.0
PacketEvent Version: 2.2.1

Hi, I am using the plugin on a server network with Geyser installed on Velocity and Floodgate on Velocity and Paper. But even if I don't set any nicknames Floodgate players and every other player on the server get kicked with the following error: IMG_0438

Console Error ``` [13:49:06 INFO]: UUID of player FloogatePlayer is 00000000-0000-0000-0009-01fb63b78fa4 [13:49:06 INFO]: [floodgate] Floodgate player logged in as FloogatePlayer joined (UUID: 00000000-0000-0000-0009-01fb63b78fa4) [13:49:07 INFO]: FloogatePlayer[/192.168.5.142:54742] logged in with entity id 71 at ([world]256.94864, 66.0, 277.84283) [13:49:07 INFO]: [floodgate] Floodgate player logged in as FloogatePlayer disconnected [13:49:07 INFO]: JavaPlayer lost connection: Internal Exception: io.netty.handler.codec.EncoderException: java.lang.NullPointerException: Cannot invoke "String.length()" because "msg" is null [13:49:07 INFO]: JavaPlayer left the game [13:49:07 INFO]: FloogatePlayer lost connection: Internal Exception: io.netty.handler.codec.EncoderException: java.lang.NullPointerException: Cannot invoke "String.length()" because "msg" is null [13:49:07 INFO]: FloogatePlayer left the game ```

Debugging steps: The error does not stem from Floodgate players having a "." in front of their name. I've disabled that feature. I've tried deleting Via plugins (ViaVersion, ViaRewind, ViaBackwards) from the Paper server

jordoncodes commented 7 months ago

that's going to suck to debug, since that error message isn't giving much information, so it's only when a bedrock player joins?

it's currently untested on geyser and i didn't expect it to work on it, I'll try and figure it out this afternoon if I have the same error.

what's your plugin list?

jordoncodes commented 7 months ago

Done some testing on my end and yes it seems to be an incompatibility between nicknamer api and floodgate, only issue is I have no clue what 'msg' variable would be null specifically for floodgate players - this is gonna be a difficult one.

Simply disabling UUID spoofing for bedrock players doesn't seem to work

jordoncodes commented 7 months ago

I have spoken too soon - it was a relatively easy fix. The skin was null which the client doesn't like

Juli0q commented 7 months ago

Yes that is true, that issue sucks a lot to debug. I will try to help on my part. Thank you that you already started to debug this issue even tough it is that outlandish.

My Plugin list is: DecentHolograms, OldCombatMechanics, LuckPerms, ViaVersion, ViaRewind, ViaBackwards and 5 custom Plugins.

jordoncodes commented 7 months ago

I'm gonna just do some cleanup and make it work on older server versions (if geyser supports that) and push the update

Juli0q commented 7 months ago

I have spoken too soon - it was a relatively easy fix. The skin was null which the client doesn't like

Great, thats awesome. Thanks a lot for your help

jordoncodes commented 7 months ago

I have just tested, nicknaming works on bedrock players - it even sets their skin clientside!

Juli0q commented 7 months ago

Thats great! Then Geyser/Floodgate can be put on the compatibility list of this Library 😄

jordoncodes commented 7 months ago

fixed by #3