GeyserMC / Floodgate

Hybrid mode plugin to allow for connections from Geyser to join online mode servers.
https://geysermc.org
MIT License
577 stars 170 forks source link

Bedrock skin does not show up on Java #182

Open 7man7LMYT opened 3 years ago

7man7LMYT commented 3 years ago

Whenever I join a Floodgate enabled server with my bedrock account, I join fine. However, my bedrock skin refuses to show up to anybody who is not a fellow Geyser player despite my skin having gone through the queue. I have checked myself and it appears to return my actual skin on Bedrock. Oddly enough, my own server does show my skin for other Java players (This is no longer the case as I just checked right now and it no longer shows up. I have old screenshots of it showing up though.) but it doesn't show up on any other server. (Some small SMP servers, Minehut, Local Test Servers, A building server)

I have tested this and it has occurred on several Geyser instances, all from varying builds and platforms. (Bungeecord/Waterfall, Spigot, Standalone)

I went back to test and it occurred on a local test server.

Bedrock's POV image

Java's POV image

Geyser version 1.4.1-SNAPSHOT (git-master-6b84e07) Geyser Dump Floodgate ver. 18 Paper version git-Paper-121 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: b854e7e) Logs just in case.

And no, rejoining the server does not make the skin appear.

ImplicitSaber commented 3 years ago

I get the same problem, this is probably due to the fact that Bedrock skins are extremely customizable and even have the option to change their model. MOJANG WILL NEED TO ADD THIS TO JAVA or Geyser will not be able to send over this model.

Konicai commented 3 years ago

If the model is incompatible, Geyser should say it whenever the player connects

7man7LMYT commented 3 years ago

Thing is, this is a skin from the 4th birthday pack. It's not customizable and it doesn't explain why it used to show up on my server before.

Wawwior commented 3 years ago

i think this is caused by the MineSkin API is getting many requests lately and takes long to process all of them.

7man7LMYT commented 3 years ago

I don't think that's the cause since my skin is already past the queue.

Tim203 commented 3 years ago

i think this is caused by the MineSkin API is getting many requests lately and takes long to process all of them.

We have our own queue, the individual servers don't touch MineSkin endpoints

Wawwior commented 3 years ago

i think this is caused by the MineSkin API is getting many requests lately and takes long to process all of them.

We have our own queue, the individual servers don't touch MineSkin endpoints

Didn't know that, but i read the wiki and put the information here. + is there a way to directly use the MineSkin API?

Tim203 commented 3 years ago

Yes, but you'd have to run your own Global API, which would kinda defeat its purpose. I'd just recommend waiting like everyone else's doing, your skin is going to be uploaded eventually.

Wawwior commented 3 years ago

Yes, but you'd have to run your own Global API, which would kinda defeat its purpose. I'd just recommend waiting like everyone else's doing, your skin is going to be uploaded eventually.

still waiting...

Tim203 commented 2 years ago

Is this still an issue?

7man7LMYT commented 2 years ago

So far, the skin does now appear, however, there are still some occasions when the skin doesn't show up at all. Even when the skin shows up, it uses the wrong player model for the skin. The skin uses the 'Slim' player model, but the skin appears to use the 'Classic' player model for Java players, which ends up breaking the skin.

Edit: Forgot to include that the Ocelot on the front of the skin does not appear for Java players and only partially shows the ears of the ocelot.

Orlaando-dev commented 2 years ago

It seems like it doesn't show to Java players on first join after restart and takes another join to work. It also seems to always choose the wrong model (classic instead of slim)

7man7LMYT commented 2 years ago

Rechecked just now, and it's not even using the right skin for me now, it's still using the wrong model as well. image

DeonHarwnart commented 2 years ago

Hi, I just tried Paper 1.19 Experimental Build 1, released today, and this issue seems to be gone. Everything seems to be working fine now.

Tim203 commented 2 years ago

So far, the skin does now appear, however, there are still some occasions when the skin doesn't show up at all.

Did this happen on a Spigot server or a proxy with Floodgate between them? There was a bug that affected both BungeeCord and Velocity (#183) which has been fixed.

It seems like it doesn't show to Java players on first join after restart and takes another join to work. It also seems to always choose the wrong model (classic instead of slim)

The first part describes #183, and the model being wrong is not a Floodgate issue but a Global API issue. However, some changes have been pushed to the Global API which might resolve that issue as well.

I recommend retesting it with a build from the development branch to see if this is still an issue.

NBS-Paste commented 2 years ago

The skins are still not showing up for me and my friends. We can’t see some of our Bedrock Edition friends’ skin. Did you guys ever find out a solution for this bug?

Tim203 commented 2 years ago

Are you using the development branch or are you using the default download (that's master)?

NBS-Paste commented 2 years ago

I’m the default download.

NBS-Paste commented 2 years ago

Are you using the development branch or are you using the default download (that's master)?

Should I use the development branch, and where could I find it?

Tim203 commented 1 year ago

You can find the development branch downloads here https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/development/

HansOffice commented 1 year ago

您可以development在此处找到分支下载https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/development/

I have encountered the same problem, but it seems that the branch version has no effect. Will this be a long-term problem?

42Willow commented 1 year ago

I'm getting this issue on the latest 1.20 stable build, any updates?

I'm running velocity in front of a few papermc servers, with geyser and floodgate installed on the proxy.

letsgoawaydev commented 1 year ago

installing this plugin on both Bungeecord/velocity (if you use it) and the server fixed it for me: https://github.com/Camotoy/GeyserSkinManager/releases/

Tim203 commented 3 weeks ago

Is this still an issue with the latest version? There were a few changes to how skins are handled quite a while ago now.

Kladki commented 2 weeks ago

Is this still an issue with the latest version?

Yes, when floodgate is installed only on the proxy, I cannot see bedrock skins from java. Installing GeyserSkinManager on the server and BedrockSkinUtility on the client does fix it though.