Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not whitelist player: "Got an error from requesting the xuid..." #304

Open
rhystedstone opened this issue May 21, 2022 · 9 comments
Open
Labels
bug Something isn't working

Comments

@rhystedstone
Copy link

rhystedstone commented May 21, 2022

Myself and a few others attempted to /fwhitelist add a bedrock player to the server. Floodgate displays the following error on the console:

[20:10:22 INFO]: _R_T_ issued server command: /fwhitelist add ToastySoap90628
[20:10:23 ERROR]: [floodgate] Got an error from requesting the xuid of a Bedrock player: Unable to find user in our cache. Please try specifying their Floodgate UUID instead

I have confirmed that the player exists and the username is correct.
Is there something I'm missing? Whitelisting is currently working for both Java and Bedrock players.

Server Version: This server is running Paper version git-Paper-299 (MC: 1.18.2) (Implementing API version 1.18.2-R0.1-SNAPSHOT) (Git: 76ed156)
Geyser Version: This server is running Geyser version 2.0.3-SNAPSHOT (git-master-8c9d1fe) (Java: 1.18.2, Bedrock: 1.18.0/1.18.1/1.18.2 - 1.18.30/1.18.31)
Floodgate Version: Build 65 - 20 March 2022

@Camotoy
Copy link
Member

Camotoy commented May 21, 2022

We are aware of this issue - for now, you can use https://floodgate-uuid.heathmitchell1.repl.co/ to get a player's UUID.

@shovelbug
Copy link

https://floodgate-uuid.heathmitchell1.repl.co/ does not work for me i get error An error occurred: No API Key provided or invalid API Key

@thomcrielaard
Copy link

For me that website is also down. Please work on a fix...

@onebeastchris
Copy link
Member

onebeastchris commented Oct 15, 2022

Unfortunately, the floodgateuuid converter currently does not work. In the meantime, you can manually find out a uuid using this method:
Step 1: visit https://www.cxkes.me/xbox/xuid and enter the bedrock username (without the period that is added by Geyser)
Step 2: Search for the hexidecimal result and copy it down
Step 3: You can try just that number instead of the username, but mine was formatted like this

XUID Search Result: 000901F4BF5B7415
Minecraft XUID: 00000000-0000-0000-0009-01f4bf5b7415

So step 4 would be to add a dash after the first four digits and then paste "00000000-0000-0000-" before the search result to get the correct format. Also, don't forget the dash after the first 4 digits (see example above)

@thomcrielaard
Copy link

Hey @onebeastchris ,

Thank you for your response! That does indeed work! Just one question; is there an API which I can use for this? I have not been able to find a proper XUID API without an API key and I would like to automate this using a PHP script :)

@onebeastchris
Copy link
Member

that's the thing, there isn't one to my knowledge. That's the reason why the uuid converter went down...
That's why Geyser has it's own global API for xuid lookups, but it only works with cached players that have played on any Geyser server before

@thomcrielaard
Copy link

This is just an idea, but maybe you can do something like this:
Whenever someone adds their username to the fwhitelist you store the username temporarily. Then whenever Geyser performs a whitelist check, and the username of the connecting (Bedrock) user matches the name in your temporary whitelist file, you add that player to the whitelist

@onebeastchris
Copy link
Member

feel free to make a pr/open a new issue for it, i'm not a dev here

@rhystedstone
Copy link
Author

rhystedstone commented Oct 18, 2022

This is just an idea, but maybe you can do something like this: Whenever someone adds their username to the fwhitelist you store the username temporarily. Then whenever Geyser performs a whitelist check, and the username of the connecting (Bedrock) user matches the name in your temporary whitelist file, you add that player to the whitelist

Currently, the whitelist is managed by the server - Geyser simply inserts their username (with the correct prefix and _ instead of spaces) into the existing whitelist.json file, along with their UID.

The problem is, after authentication became UUID-based, so did whitelists. In most cases a fake UID would not allow a player with a whitelisted username to join.

@Tim203 Tim203 added the bug Something isn't working label Feb 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants