Option to disable Pre-Login restrictions
mibby opened this issue ยท 3 comments
ItemJoin dev 550
Is your feature request related to a problem? Please describe.
RE: f5e5353#commitcomment-42752991
I proxy connections during restarts and automatically reconnect players as soon as the server is back up. ItemJoin is causing some player connections to be dropped.
Describe the solution you'd like
An option to toggle off the login restrictions.
Describe alternatives you've considered
ItemJoin not being naughty.
Additional context
[13:58:11] [Server thread/INFO]: Done (23.626s)! For help, type "help"
[13:58:11] [Server thread/INFO]: Timings Reset
[13:58:11] [Server thread/INFO]: [ShopChest] Loaded shop amounts
[13:58:11] [Server thread/INFO]: [ShopChest] Loaded 0 shops in already loaded chunks
[13:58:11] [Server thread/INFO]: Disconnecting com.mojang.authlib.GameProfile@34f1332f[id=4aa3f740-6a54-4e75-be90-85105fafb39e,name=xel,properties={textures=[com.mojang.authlib.properties.Property@137e1a95]},legacy=false] (/censored:45527): [ItemJoin]
You cannot join before the server has started!
Plugin has not finished loading, Please try again in a few minutes.
[13:58:11] [Server thread/INFO]: Disconnecting com.mojang.authlib.GameProfile@467a9bf2[id=0c9db27d-3313-4639-9a30-241f5ca49184,name=meatbawllz,properties={textures=[com.mojang.authlib.properties.Property@46aa8b49]},legacy=false] (/censored:60927): [ItemJoin]
You cannot join before the server has started!
Plugin has not finished loading, Please try again in a few minutes.
[13:58:11] [Server thread/INFO]: Disconnecting com.mojang.authlib.GameProfile@17645248[id=3a9a0972-9ef2-4aa2-b6e7-de865d293f57,name=ClaytonPlayzMC,properties={textures=[com.mojang.authlib.properties.Property@504735dd]},legacy=false] (/censored:46837): [ItemJoin]
You cannot join before the server has started!
Plugin has not finished loading, Please try again in a few minutes.
[13:58:11] [Server thread/INFO]: com.mojang.authlib.GameProfile@34f1332f[id=4aa3f740-6a54-4e75-be90-85105fafb39e,name=xel,properties={textures=[com.mojang.authlib.properties.Property@137e1a95]},legacy=false] (/censored:45527) lost connection: [ItemJoin]
You cannot join before the server has started!
Plugin has not finished loading, Please try again in a few minutes.
[13:58:11] [Server thread/INFO]: com.mojang.authlib.GameProfile@467a9bf2[id=0c9db27d-3313-4639-9a30-241f5ca49184,name=meatbawllz,properties={textures=[com.mojang.authlib.properties.Property@46aa8b49]},legacy=false] (/censored:60927) lost connection: [ItemJoin]
You cannot join before the server has started!
Plugin has not finished loading, Please try again in a few minutes.
[13:58:11] [Server thread/INFO]: com.mojang.authlib.GameProfile@17645248[id=3a9a0972-9ef2-4aa2-b6e7-de865d293f57,name=ClaytonPlayzMC,properties={textures=[com.mojang.authlib.properties.Property@504735dd]},legacy=false] (/censored:46837) lost connection: [ItemJoin]
You cannot join before the server has started!
Plugin has not finished loading, Please try again in a few minutes.
So the issue with this is similar to LuckPerms as ItemJoin is essentially mirroring the exact operation.
If I add such a feature, ItemJoin will not function for those players who connected prior to the plugin being fully loaded. The only time ItemJoin cancels pre-login players is if they attempted to log in prior to the server being fully started, (then issues the disconnect message when server startup is complete).
The reasoning behind this is because some of ItemJoin's operations have been limited by the spigot API in recent updates to only be able to be executed once the server is officially started, (which is executed in the first tick but players still manage to log-in prior to this action being executed).
So in short, I can add this feature if you still want me to but know that if you disable this functionality ItemJoin will likely not function for those reconnecting players--often resulting in items not being given, resulting in the need for a re-log.
I only use ItemJoin items for players that connect for the first time, to grant them menu / info / skip items on login. These items remain in their inventory if they have already received them and new members most likely wouldn't be trying to join or be part of the reconnect attempt during automatic restarts.
Here you can see I was kicked when I restarted my server. My connection was sent to the void (idling on the proxy) and never reconnected to the server when it came back up. I had to manually disconnect and reconnect.
The server initialization status was done before connections started to be sent back, but I assume it's because ItemJoin wasn't done with its post-initialization despite the server being done. A simple option to turn it off to prevent ItemJoin blocking connections would be appreciated.
Restrictions have now been removed so this feature is no longer required.
Snapshot; https://ci.craftationgaming.com/job/ItemJoin/552/