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

Offline player login stuck #1150

Open
2 tasks done
pjindras opened this issue Jan 30, 2024 · 14 comments
Open
2 tasks done

Offline player login stuck #1150

pjindras opened this issue Jan 30, 2024 · 14 comments
Labels
bug Something isn't working

Comments

@pjindras
Copy link

What happened?

Hello, I am using fastlogin + Authme configuration. Offline player connects and authme says successfully logged in, or is logged in via authme.

However, fastlogin causes that the offline player, even if logged in, is taken as not logged in and thus cannot execute any commands.

I am using: Authme, Authme Velocity, Fastlogin, Fastlogin Velocity

What did you expect?

Offline player should be ignored by fastlogin, only players, who used /premium should be handeled via fastlogin

Steps to reproduce

happens randomly, most of the time it works, and sometimes it happens to the player or even to me that the login doesn't work, respectively, I'm logged in via authme (and possibly via the console with the /authme login command) but it still won't let me do anything (fastlogin) for cracked players

Plugin list

15:54:38[INFO] - AuthMeVelocity, Commander, SignedVelocity 15:54:38[INFO] Bukkit Plugins: (47): 15:54:38[INFO] - AnnouncerPlus, AntiPopup, ArmorStandTools, *asCMD, AuthMe, BeastTokens, BlueMap, CancelChat, Citizens, DecentHolograms 15:54:38[INFO] DeluxeMenus, Essentials, EssentialsSpawn, FastAsyncWorldEdit, FastLogin, GadgetsMenu, goBrush, goPaint, *HostifyMonitor, Images 15:54:38[INFO] ItemsAdder, LiteBans, LoneLibs, LuckPerms, MineMarket, ModelEngine, Multiverse-Core, MyCommand, NoPlugins, Panilla 15:54:38[INFO] PAPIProxyBridge, PlaceholderAPI, PlugManX, ProtocolLib, RealTimePlugin, ResourcePackBroadcast, Skulls, spark, SuperLobby, SyncCommands 15:54:38[INFO] TAB, Vault, ViaBackwards, ViaVersion, VoidGen, Vulcan, WorldGuard Proxy: miniplaceholders, luckperms, fastlogin, authmevelocity, beasttokensvelocity, botsentry, signedvelocity, chatregulator, commander, hostifymonitor, papiproxybridge, huskchat, litebans, mckotlin-velocity, minimotd-velocity, mi niplaceholders-luckperms-expansion, mysqldriver, nuvotifier, placeholderapi-expansion, plan, serverpermissions, serverutils, skinsrestorer, synccommands, topaz, velocityvanish, bungeepackfix

Configuration file

https://paste.gg/p/anonymous/a981c106065446b19a5c3f19beee5ba2

Server log

https://paste.gg/p/anonymous/d9d8337e053e44df94d912a5914e39b3

Plugin version

FastLogin version 1.12-SNAPSHOT-dbf5ae2

Platform

Velocity

Relevance

  • I tried the latest build
    (build refers to development builds not necessary a release version)

  • I checked for existing tickets -
    If there are, please vote them with a thumbs reaction and not create new ones

@pjindras pjindras added the bug Something isn't working label Jan 30, 2024
@pjindras
Copy link
Author

pjindras commented Jan 30, 2024

additional info

I am using fastlogin on Velocity and on lobby server (purpur spigot) too
I am using the same DB for both
I have minecraft 1.20.4

@games647
Copy link
Owner

Please post the timestamp and player name, so we could focus on the server log during that time.

@pjindras
Copy link
Author

pjindras for example, but I searched in the log and havent seen any error or issue, when it happens again, I will provide detailed log

@games647
Copy link
Owner

Just noticed it's the Spigot log. It likely this is caused on the proxy side. Could you add that log?

@pjindras
Copy link
Author

pjindras commented Feb 2, 2024

Hello @games647 , I am sending velocity log: https://paste.gg/p/anonymous/5fc2ffaf0c0240929542f23ecfd3447e

It also happens sometimes, that some premium users, who used /premium command arent saved into mysql correctly. So after re-log they have to login again, type /premium again and again its not saved etc.

This happens very often, but only in some cases. I dont know, how to debug it, because in logs there isnt much to show, like errors etc.

I saw this issue in log:

[07:04:42] [Velocity Async Event Executor - #2/ERROR] [com.velocitypowered.proxy.event.VelocityEventManager]: Couldn't pass PreLoginEvent to fastlogin --   | java.lang.IllegalArgumentException: Illegal UUID string: 7a7c203e-fcd2-405f-a134-8910251d7fdc   | at com.github.games647.craftapi.FastUUID.parseUUIDUUndashed(FastUUID.java:162) ~[?:?]   | at com.github.games647.craftapi.UUIDAdapter.parseId(UUIDAdapter.java:37) ~[?:?]   | at java.util.Optional.map(Unknown Source) ~[?:?]   | at com.github.games647.fastlogin.core.storage.SQLStorage.parseResult(SQLStorage.java:150) ~[?:?]   | at com.github.games647.fastlogin.core.storage.SQLStorage.loadProfile(SQLStorage.java:120) ~[?:?]   | at com.github.games647.fastlogin.core.shared.JoinManagement.onLogin(JoinManagement.java:61) ~[?:?]   | at com.github.games647.fastlogin.velocity.task.AsyncPremiumCheck.run(AsyncPremiumCheck.java:62) ~[?:?]   | at com.velocitypowered.api.event.EventTask$1.execute(EventTask.java:66) ~[server.jar:3.3.0-SNAPSHOT (git-953ab6d8-b335)]   | at com.velocitypowered.proxy.event.VelocityEventManager$ContinuationTask.execute(VelocityEventManager.java:545) ~[server.jar:3.3.0-SNAPSHOT (git-953ab6d8-b335)]   | at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:604) ~[server.jar:3.3.0-SNAPSHOT (git-953ab6d8-b335)]   | at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:478) ~[server.jar:3.3.0-SNAPSHOT (git-953ab6d8-b335)]   | at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]   | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]   | at java.lang.Thread.run(Unknown Source) [?:?]   | [07:04:44] [Netty epoll Worker #2/INFO] [com.velocitypowered.proxy.connection.client.AuthSessionHandler]: [connected player] 1101martin1101 (/79.110.37.30:59876) has connected

But that is only one player's specific case, others who have the same issue haven't had this error message.
The tricky is, that there are many players, who use it without a problem and then many players, who have issues -> are not saved correctly (with a premium account) or are asked for login but have an offline account (and never used /premium cmd).

@pjindras
Copy link
Author

pjindras commented Feb 2, 2024

Maybe there could be issue with mysql/mariaDB saving in case of Velocity. I have it configured as MariaDB in fastlogin, but I am also using mysqldriver plugin on velocity.

@games647
Copy link
Owner

games647 commented Feb 2, 2024

Illegal UUID string: 7a7c203e-fcd2-405f-a134-8910251d7fdc | at com.github.games647.craftapi.FastUUID.parseUUIDUUndashed(FastUUID.java:162)

This means you have invalid data in your database. The UUID should be saved without the dashes. Do you imported the data or inserted something manually?

@pjindras
Copy link
Author

pjindras commented Feb 2, 2024

Illegal UUID string: 7a7c203e-fcd2-405f-a134-8910251d7fdc | at com.github.games647.craftapi.FastUUID.parseUUIDUUndashed(FastUUID.java:162)

This means you have invalid data in your database. The UUID should be saved without the dashes. Do you imported the data or inserted something manually?

Only in case of player 1101martin1101 because he used /premium command many times, and his UUID wasnt saved into database (and he was always asked to login again).

The same problem have many more players, without error messages.

@pjindras
Copy link
Author

pjindras commented Feb 13, 2024

  1. This is cracked player, should be with cracked status, after using /cracked its still unknown

e8a28400-aafb-46c1-91c9-9654ab6e5c40

Velocity log:
`12:11:43[INFO] [server connection] knez -> lobby has disconnected
12:11:44[INFO] [huskchat]: %servername% [CHAT] vojaczek: vim že ti to stavěni jde ale nechceš na jiny ostruvek ? :D
12:11:47[INFO] [fastlogin]: Incoming login request for knez from /178.255.168.217:51363
12:11:47[INFO] [fastlogin]: Handling player knez
12:11:47[INFO] [connected player] knez (/178.255.168.217:51363) has connected
12:11:47[INFO] [server connection] knez -> lobby has connected
12:11:48[INFO] [forceresourcepacks]: [DEBUG] knez matched assignment lobby due to main packs
12:11:48[INFO] [forceresourcepacks]: knez: running actions for pack lobby and status 11/REQUESTED/first join: false
12:11:48[INFO] [forceresourcepacks]: [DEBUG] Send pack lobby (http://pillager.hostify.cz:59238/generated.zip) to knez. Required: true, Prompt message: null
12:11:48[INFO] [forceresourcepacks]: knez: running actions for pack lobby and status 3/ACCEPTED/first join: false
  1. This is premium player, used /premium, he has premium status, but fastlogin is not working in his case

15:27:08[INFO] [connected player] 1101martin1101 (/79.110.37.30:60883) has disconnected
15:27:08[INFO] [server connection] 1101martin1101 -> lobby has disconnected
15:27:09[INFO] [huskchat]: %servername% [CHAT] slepicak: bosse mi nech :D
15:27:17[INFO] [fastlogin]: Incoming login request for 1101martin1101 from /79.110.37.30:60923
15:27:17[INFO] [fastlogin]: Handling player 1101martin1101
15:27:17[INFO] [fastlogin]: Requesting premium login for registered player: 1101martin1101
15:27:18[INFO] [fastlogin]: Overridden UUID from 7a7c203e-fcd2-405f-a134-8910251d7fdc to 9395311d-efa1-3af0-ba23-9f459f9785e0 (based of 1101martin1101) on com.velocitypowered.proxy.connection.client.LoginInboundConnection@33eed42b
15:27:18[INFO] [connected player] 1101martin1101 (/79.110.37.30:60923) has connected
15:27:18[INFO] [server connection] 1101martin1101 -> lobby has connected
15:27:18[INFO] [forceresourcepacks]: [DEBUG] 1101martin1101 matched assignment lobby due to main packs
15:27:18[INFO] [forceresourcepacks]: 1101martin1101: running actions for pack lobby and status 11/REQUESTED/first join: false
15:27:18[INFO] [forceresourcepacks]: [DEBUG] Send pack lobby (http://pillager.hostify.cz:59238/generated.zip) to 1101martin1101. Required: true, Prompt message: null
15:27:18[INFO] [forceresourcepacks]: 1101martin1101: running actions for pack lobby and status 3/ACCEPTED/first join: false
15:27:24[INFO] [forceresourcepacks]: 1101martin1101: running actions for pack lobby and status 0/LOADED/first join: false

For some reason, he still needs to proceed authme login, but he has activated fastlogin.

There are also some issues with Feather fabric players, but those are Vanilla players and the issues are there too, it must be bug in Fastlogin Velocity.

@games647
Copy link
Owner

I've seen that the proxy correctly recognized the premium status.

Overridden UUID [...]

What is missing here is the force login command forwarding on ServerConnectedEvent. This command runs delayed (1sec) after the proxy<->server connection is established.

In the latest build I added some more verbose logging. For that version the log messages from a premium player are important on the proxy as well as Spigot side. This is necessary, because somehow the information get lost when the Spigot and Proxy module of FastLogin with another.

@pjindras
Copy link
Author

I installed lastest dev build, this is log of player, who used /premium, but its not working in his case:
Velocity:
https://paste.gg/p/anonymous/3a5480de61934109a6abd9d18b459be2

Spigot:
https://paste.gg/p/anonymous/c8cd611a658b496eb8f21bc455369c30

@games647
Copy link
Owner

games647 commented Feb 23, 2024

In comparison to the earlier post, this time the proxy didn't request a premium login. (Note the missing: Requesting premium login for registered player). This means the plugin detected a failure on the previous run and thefore required an addtional command run to be requested next.

What is required to debug this behavior is a premium login attempt directly after.

@pjindras
Copy link
Author

pjindras commented Feb 23, 2024

When the player goes /cracked
-> /premium + again /premium

Then it works, like in this case of player petrkeram

https://paste.gg/p/anonymous/115424655d11476b80b39f83b8bb5dff
https://paste.gg/p/anonymous/ab56b6ac2fec41f9a2514cfa8acf4219

But in the case of new players, when they go only /premium and /premium, it doesnt work, or some other cases, which I dont know now how to reproduce, it is or can be stucked. As it was previously in the case, that I sent last week.

Its hard to describe and reproduce ...

but for example this case is player OndraMik:

https://paste.gg/p/anonymous/b0e876c53ade45cc907594a77925e16a
https://paste.gg/p/anonymous/2031fb42436f4a3a879b0ad0ec4a9dc3

In his case, fastlogin wasn't working properly, when he did the same as petrkeram.
There are still some "strange" situations, do I have to clean the whole DB or what would be the best solution?

@games647
Copy link
Owner

For second player, this one is interesting:

[WARN] [FastLogin] Player CraftPlayer{name=1101martin1101} is already authenticated. Cancelling force login.

So FastLogin doesn't perform an force login command your auth plugin already reports that the player is logged in. I guess the issue here is that in this case FastLogin isn't sure its own login can be performed successfully and therefore doesn't report this confirmation.

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

2 participants