Floodgate icon indicating copy to clipboard operation
Floodgate copied to clipboard

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

Open rhystedstone opened this issue 2 years ago • 9 comments

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

rhystedstone avatar May 21 '22 00:05 rhystedstone

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

Camotoy avatar May 21 '22 02:05 Camotoy

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

shovelbug avatar Sep 21 '22 17:09 shovelbug

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

thomcrielaard avatar Oct 15 '22 20:10 thomcrielaard

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)

onebeastchris avatar Oct 15 '22 20:10 onebeastchris

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 :)

thomcrielaard avatar Oct 15 '22 20:10 thomcrielaard

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

onebeastchris avatar Oct 15 '22 20:10 onebeastchris

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

thomcrielaard avatar Oct 15 '22 20:10 thomcrielaard

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

onebeastchris avatar Oct 15 '22 20:10 onebeastchris

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.

rhystedstone avatar Oct 18 '22 12:10 rhystedstone