Skip to content

Send skin plugin message after session spawn#6327

Open
auvq wants to merge 1 commit into
GeyserMC:masterfrom
auvq:fix/skin-plugin-message-after-spawn
Open

Send skin plugin message after session spawn#6327
auvq wants to merge 1 commit into
GeyserMC:masterfrom
auvq:fix/skin-plugin-message-after-spawn

Conversation

@auvq

@auvq auvq commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

Fixes #6288.

When Floodgate's websocket is the only subscriber on the skin API, Geyser itself delivers the skin to the backend via a plugin message. On Velocity this can land in the null-connection window right after player auth but before the backend connection is ready, and gets silently dropped. Player ends up as Steve/Alex to Java players.

Fix: wait until the session is actually spawned before sending. isSpawned flips to true when the Java server sends the player's first position packet, which only happens after the proxy-backend transition is complete. Polls every 500ms with a 5s safety cap.

Haven't tested live, the timing window is hard to reliably hit.

@Camotoy

Camotoy commented Apr 29, 2026

Copy link
Copy Markdown
Member

Thanks for the PR. I don't think this is the most ideal way to solve the issue - as much as Yet Another Geyser Session Variable is amazing (sarcasm), I think I would rather save this data to a list or variable and check/send that when spawning actually happens.

@onebeastchris

Copy link
Copy Markdown
Member

I agree with Camotoy - a session variable (or maybe on SessionPlayerEntity?) would be nicer compared to continuously re-polling. Happy to merge after that's implemented :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Skin plugin message dropped during join when subscribersCount == 1

3 participants