-
Notifications
You must be signed in to change notification settings - Fork 35
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
[Geyser/Offline] Placeholder {id} isn't replaced #34
Comments
yes! |
there is also a post on the https://suggestions.tebex.io/337 nolt board |
Thanks for the report and the logs. Apologies that this is a recurring issue. Is anyone experiencing this issue also running Geyser? I can see that Tebex provides both the username and ID no problem...in 6834c99 as long as the player ID is present we will replace |
Yeah, I have geyser on the server as well. But the player buying the package is java player with online uuid (non offline premium players have still the premium uuid on my server). Cannot it be due to it? That player has both offline and online uuid if he's the premium one ( even when he should use the premium one everywhere)? But uses the online one? Examples - online premium user: |
We don't use Geyser but RedisBungee and have 3 Waterfall instances and the same issue, maybe that has something to do with it? |
For Geyser, the UUID returned from Tebex will not be valid. {id} in this case will be replaced with the username as an identifier. Otherwise {id} will contain the user's true valid UUID.
Also do you think that you can send some build where we can test it @WildBamaBoy earlier, please? |
You can clone the project & checkout the 2.0.4 Branch. alternative you can download it here |
* fix: ensure received player uuid is string before casting #37 * fix: geyser/offline servers properly replace all name variable tags #34 For Geyser, the UUID returned from Tebex will not be valid. {id} in this case will be replaced with the username as an identifier. Otherwise {id} will contain the user's true valid UUID. * chore: bump versions
Just question @WildBamaBoy , shouldn't be UUID still replaced correctly for players with correct online UUID? Like if I have enabled online UUIDs for people with bought Minecraft, then the UUID could work for them in case they change their name or so. Like now it wouldn't make sense to use {uuid} if it get's replaced by player name. It would be good if it can distinguish if the player uses online/offline UUID even on the offline server |
This should've already been replaced by our API on delivery. Do you have a transaction ID you can share for this? We can look into it further. The plugin will only fill {id}, {name}, {username}, and {uuid}. All other variables should be filled by our API before delivery to the plugin.
The short answer is that we can't rely on the UUIDs provided by any offline store. For Geyser servers we're working sometimes with legitimate Mojang UUIDs and other times fake IDs generated by Geyser. We would have to do a Mojang lookup every time someone logs into an Offline store which may not always work. We understand why this feature is needed but to allow UUIDs sometimes would lead to confusion. This is a point that we have been discussing internally, and we believe the proper solution is for us to build a webstore that can handle multiple username services (in this case Mojang and Xbox Live). We're not there yet, though, but we are aware and investigating solutions for this issue. |
Please include the following information with your report
Purpur 1.20.1
Tebex 20.0.3
Hi, there's issue with replacing placeholders, like I have this command in my store:
lp user {id} parent addtemp gold 1mo accumulate
and it's not being replaced...
in processed commands there's:
lp user 43f296ecd69f8673840d66990de6b49e parent addtemp gold 1mo accumulate
BUT when I look in-game it didn't replace the rank:
lp user 43f296ecd69f8673840d66990de6b49e parent addtemp gold 1mo accumulate
After buying the rank:
[16:01:26] [Server thread/INFO]: [Tebex] Dispatching command 'lp user {id} parent addtemp gold 1mo accumulate' for player 'Peachy_Keen19'.
[LP] A user for {id} could not be found.
After resending the command:
[16:12:28] [Server thread/INFO]: [Tebex] Dispatching command 'lp user {id} parent addtemp gold 1mo accumulate' for player 'Peachy_Keen19'.
[16:12:28] [luckperms-command-executor/INFO]: [LP] A user for {id} could not be found.
Do you think it can be fixed, please?
I guess it's related to the #30
Debug:
The text was updated successfully, but these errors were encountered: