LuckPerms

LuckPerms

41.4k Downloads

Breaks on reload

PurelyAliyah opened this issue · 11 comments

commented

I love this plugin but I also love the fuction to reload and with the permissions plugin being the base of everything a server is I would really like for me to be able to reload without luckperms unsyncing and forgetting that it's a permissions plugin.

commented

It doesn't say anything in console, It just stops working.

commented

At NO circumstance AT ALL should you use a /reload over a /restart
Plugins (specially perm-plugins) can and WILL break on reloads.
So you have to go to the pain of restarting the server.

I don't like losing players because I restart too often, So I disagree. I'm not here to argue. This is an issue thread, not for you to tell me how to run my server. I've been doing this for five years, I know what reloading can do to a server- And up until this point I haven't had any problems with it.

commented

I can't reproduce.

[22:17:49 INFO]: Done (11.417s)! For help, type "help" or "?"
[22:17:49 INFO]: Timings Reset
> reload
[22:17:52 INFO]: CONSOLE: Are you sure you wish to reload your server? Doing so may cause bugs and memory leaks. It is recommended to restart instead of using /reload. To confirm, please type /reload confirm
> reload confirm
[22:17:55 INFO]: CONSOLE: Please note that this command is not supported and may cause issues when using some plugins.
[22:17:55 INFO]: CONSOLE: If you encounter any issues please use the /stop command to restart your server.
[22:17:55 INFO]: Debug logging is disabled
[22:17:55 INFO]: Server Ping Player Sample Count: 12
[22:17:55 INFO]: Using 4 threads for Netty based IO
[22:17:55 INFO]: -------- World Settings For [world] --------
[22:17:55 INFO]: View Distance: 10
[22:17:55 INFO]: Nerfing mobs spawned from spawners: false
[22:17:55 INFO]: Item Despawn Rate: 6000
[22:17:55 INFO]: Item Merge Radius: 2.5
[22:17:55 INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[22:17:55 INFO]: Arrow Despawn Rate: 1200
[22:17:55 INFO]: Experience Merge Radius: 3.0
[22:17:55 INFO]: Zombie Aggressive Towards Villager: true
[22:17:55 INFO]: Mob Spawn Range: 4
[22:17:55 INFO]: Cactus Growth Modifier: 100%
[22:17:55 INFO]: Cane Growth Modifier: 100%
[22:17:55 INFO]: Melon Growth Modifier: 100%
[22:17:55 INFO]: Mushroom Growth Modifier: 100%
[22:17:55 INFO]: Pumpkin Growth Modifier: 100%
[22:17:55 INFO]: Sapling Growth Modifier: 100%
[22:17:55 INFO]: Wheat Growth Modifier: 100%
[22:17:55 INFO]: NetherWart Growth Modifier: 100%
[22:17:55 INFO]: Vine Growth Modifier: 100%
[22:17:55 INFO]: Cocoa Growth Modifier: 100%
[22:17:55 INFO]: Entity Activation Range: An 32 / Mo 32 / Mi 16 / Tiv true
[22:17:55 INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[22:17:55 INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[22:17:55 INFO]: Random Lighting Updates: false
[22:17:55 INFO]: Structure Info Saving: true
[22:17:55 INFO]: Custom Map Seeds:  Village: 10387312 Feature: 14357617 Monument: 10387313 Slime: 987234911
[22:17:55 INFO]: Max TNT Explosions: 100
[22:17:55 INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[22:17:55 INFO]: -------- World Settings For [world_nether] --------
[22:17:55 INFO]: View Distance: 10
[22:17:55 INFO]: Nerfing mobs spawned from spawners: false
[22:17:55 INFO]: Item Despawn Rate: 6000
[22:17:55 INFO]: Item Merge Radius: 2.5
[22:17:55 INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[22:17:55 INFO]: Arrow Despawn Rate: 1200
[22:17:55 INFO]: Experience Merge Radius: 3.0
[22:17:55 INFO]: Zombie Aggressive Towards Villager: true
[22:17:55 INFO]: Mob Spawn Range: 4
[22:17:55 INFO]: Cactus Growth Modifier: 100%
[22:17:55 INFO]: Cane Growth Modifier: 100%
[22:17:55 INFO]: Melon Growth Modifier: 100%
[22:17:55 INFO]: Mushroom Growth Modifier: 100%
[22:17:55 INFO]: Pumpkin Growth Modifier: 100%
[22:17:55 INFO]: Sapling Growth Modifier: 100%
[22:17:55 INFO]: Wheat Growth Modifier: 100%
[22:17:55 INFO]: NetherWart Growth Modifier: 100%
[22:17:55 INFO]: Vine Growth Modifier: 100%
[22:17:55 INFO]: Cocoa Growth Modifier: 100%
[22:17:55 INFO]: Entity Activation Range: An 32 / Mo 32 / Mi 16 / Tiv true
[22:17:55 INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[22:17:55 INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[22:17:55 INFO]: Random Lighting Updates: false
[22:17:55 INFO]: Structure Info Saving: true
[22:17:55 INFO]: Custom Map Seeds:  Village: 10387312 Feature: 14357617 Monument: 10387313 Slime: 987234911
[22:17:55 INFO]: Max TNT Explosions: 100
[22:17:55 INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[22:17:55 INFO]: -------- World Settings For [world_the_end] --------
[22:17:55 INFO]: View Distance: 10
[22:17:55 INFO]: Nerfing mobs spawned from spawners: false
[22:17:55 INFO]: Item Despawn Rate: 6000
[22:17:55 INFO]: Item Merge Radius: 2.5
[22:17:55 INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[22:17:55 INFO]: Arrow Despawn Rate: 1200
[22:17:55 INFO]: Experience Merge Radius: 3.0
[22:17:55 INFO]: Zombie Aggressive Towards Villager: true
[22:17:55 INFO]: Mob Spawn Range: 4
[22:17:55 INFO]: Cactus Growth Modifier: 100%
[22:17:55 INFO]: Cane Growth Modifier: 100%
[22:17:55 INFO]: Melon Growth Modifier: 100%
[22:17:55 INFO]: Mushroom Growth Modifier: 100%
[22:17:55 INFO]: Pumpkin Growth Modifier: 100%
[22:17:55 INFO]: Sapling Growth Modifier: 100%
[22:17:55 INFO]: Wheat Growth Modifier: 100%
[22:17:55 INFO]: NetherWart Growth Modifier: 100%
[22:17:55 INFO]: Vine Growth Modifier: 100%
[22:17:55 INFO]: Cocoa Growth Modifier: 100%
[22:17:55 INFO]: Entity Activation Range: An 32 / Mo 32 / Mi 16 / Tiv true
[22:17:55 INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[22:17:55 INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[22:17:55 INFO]: Random Lighting Updates: false
[22:17:55 INFO]: Structure Info Saving: true
[22:17:55 INFO]: Custom Map Seeds:  Village: 10387312 Feature: 14357617 Monument: 10387313 Slime: 987234911
[22:17:55 INFO]: Max TNT Explosions: 100
[22:17:55 INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[22:17:55 INFO]: [LuckPerms] Disabling LuckPerms v4.2.75
[22:17:55 INFO]: [LuckPerms] Closing storage...
[22:17:55 INFO]: [LuckPerms] Shutting down internal scheduler...
[22:17:55 INFO]: [LuckPerms] Goodbye!
[22:17:56 INFO]: [LuckPerms] Loading LuckPerms v4.2.75
[22:17:56 INFO]: Server permissions file permissions.yml is empty, ignoring it
[22:17:56 INFO]: [LuckPerms] Enabling LuckPerms v4.2.75
[22:17:56 INFO]:         __
[22:17:56 INFO]:   |    |__)   LuckPerms v4.2.75
[22:17:56 INFO]:   |___ |      Running on Bukkit - Paper
[22:17:56 INFO]:
[22:17:56 INFO]: [LuckPerms] Loading configuration...
[22:17:56 INFO]: [LuckPerms] Loading storage provider... [H2]
[22:17:57 INFO]: [LuckPerms] Loading internal permission managers...
[22:17:57 INFO]: [LuckPerms] Performing initial data load...
[22:17:57 INFO]: [LuckPerms] Successfully enabled. (took 884ms)
[22:17:57 INFO]: CONSOLE: Reload complete.
[22:17:57 INFO]: Timings Reset
> lp
[22:17:59 INFO]: [LP] Running LuckPerms v4.2.75.
[22:17:59 INFO]: [LP] Use /lp help to view available commands.
> lp info
[22:18:02 INFO]: [LP] Running LuckPerms v4.2.75 by Luck.
[22:18:02 INFO]: [LP] -  Platform: Bukkit
[22:18:02 INFO]: [LP] -  Server Brand: Paper
[22:18:02 INFO]: [LP] -  Server Version:
[22:18:02 INFO]: [LP] -  git-Paper-1547 (MC: 1.12.2) - 1.12.2-R0.1-SNAPSHOT
[22:18:02 INFO]: [LP] -  Storage:
[22:18:02 INFO]: [LP] -     Type: H2
[22:18:02 INFO]: [LP] -     File Size: 0.02MB
[22:18:02 INFO]: [LP] -  Messaging: None
[22:18:02 INFO]: [LP] -  Instance:
[22:18:02 INFO]: [LP] -     Static contexts: None
[22:18:02 INFO]: [LP] -     Online Players: 0 (0 unique)
[22:18:02 INFO]: [LP] -     Uptime: 5s
[22:18:02 INFO]: [LP] -     Local Data: 0 users, 1 groups, 0 tracks
commented

Same outcome.

commented

Try it on 1.13, If it still isn't breaking then I'll try figuring out what it could be from my end.

commented

Also Forgot I should specify that I'm using /reload not /lp reloadconfig, And yes I know /reload can break things- but It's a lot better than restarting everytime I'm working on a plugin config change, most plugins don't have a built in reload command.

commented

And yes I know /reload can break things- but It's a lot better than restarting everytime I'm working on a plugin config change, most plugins don't have a built in reload command.

Nope it isn't.
At NO circumstance AT ALL should you use a /reload over a /restart
Plugins (specially perm-plugins) can and WILL break on reloads.
So you have to go to the pain of restarting the server.

commented

Also when making a plugin the config reload is among the first things I implement. So I honestly think you should nag the authors of said plugins to add that functionality. Also keeping in mind that chances are that such plugins will break silently too.

commented

I agree with what has been said above, but still consider this to be a bug.

What sort of errors do you get on /reload? Any error messages in console?

commented

Sure while this is an issue thread, it’s an issue caused by not following best practices and ignoring warnings that whatever you’re doing might break stuff.

Using a reload is like playing Russian Roulette with your foot. It certainly won’t kill you. And most of the time you’ll be fine. But eventually you’ll blow your foot off. And it’s just the appropriate response to point out that you shouldn’t do that.
Keep in mind we all run servers. And we all know the stupidity of players (“server need restart? Bad server. Not come back”) but there’s a reason essentially everyone warns highly against reloading. Paper even forces you to confirm after it explicitly warns you. And there have even been discussions to completely remove the reload because most plugin DEVs can’t write a plugin that doesn’t break on reload. It’s not because they’re bad. It’s because it’s hard.

And as it seems I was right. It appears that another plugin was silently breaking in the background. You just never noticed it before. Or it only breaks with LP being present (for whatever reason)

So in summary we’re not telling you not to use reload because we don’t know what it’s useful for and what it’s intended to do (and that it’s main purpose is to prevent having to restart the server), but because we know that you virtually can’t know if a plugin was written by a 12-year-old that started programming 2 days ago or a 50 year old programming veteran that has has 60 years of experience and started using Java the day it came out.

commented

Please re-open when you have an error message I can look into. :)