minekube / gate

High-performance, resource-efficient Minecraft reverse proxy with robust multi-protocol version support. Designed as a scalable Velocity/BungeeCord alternative, suitable for both development and large-scale deployments. Proven in production environments, powering our global Connect edge proxy network.
https://gate.minekube.com
Apache License 2.0
653 stars 56 forks source link

docs: Restoring online skins for offline/cracked players #195

Open unitythemaker opened 1 year ago

unitythemaker commented 1 year ago

Hey, we are trying to keep non-cracked users seeing skins. In BungeeCord servers, we used the SkinsRestorer plugin. We want to replace our BungeeCord with Gate, but I could not make the skins work. I tried installing SkinsRestorer on the spigot server but got the below file generated (I have enabled BungeeCord option in spigot.yml):

Screenshot from 2023-04-01 08-20-14

Screenshot of me with the default skin: Screenshot from 2023-04-01 08-29-36

So, in this case, I can maybe try Gate Lite mode, but from my understanding, this would cause my AuthMe to save all users with the same IP address.

Maybe I understood something improperly, but it would be great if you could help!

unitythemaker commented 1 year ago

Hmm, after joining the Discord server and reading the docs more carefully, I've got more information. So the Lite mode does not lose the real IP but it does not support server switching. I need another proxy to do that. Maybe I can try to write an extension to achieve this without proxy chaining. I can try to write a Gate extension for SkinsRestorer.

If this is correct and if Gate won't add something like this built-in, I guess we can close that issue.

robinbraemer commented 1 year ago

Hey @unitythemaker we can definitely work this out in an extension and you won’t need SkinsRestorer on spigot. You can change the skin textures in GameProfileRequestEvent https://gate.minekube.com/developers/events.html#available-events. This method applies the skin only once on login to the proxy.

robinbraemer commented 1 year ago

We should prop add docs about it to the dev guide.