GalaxyUnstick
GalaxyUnstick
Unstick players when they get stuck due to lag upon connecting
Players were getting stuck a lot on Pwned Galaxy (mc.pwnedgalaxy.net), so I made this plugin to help resolve the issue. Hopefully others will get some use out of it.
Commands:
/unstick [player]
Gets the player unstuck. If no player is specified, the player using the command is unstuck.
/gu <mode|addworld|removeworld|listworlds|reload>
Allows for the easy configuration of GalaxyUnstick without needing to manually modify the config.yml.
Quick intro to the /gu command:
/gu mode [MODE] - Sets the mode that GalaxyUnstick uses.
There are two modes: ALLWORLDS and CONFIGLIST.
ALLWORLDS mode makes the player being unstuck loop through all the worlds on the server.
CONFIGLIST mode makes the player being unstuck loop through only the worlds listed in the config.yml.
/gu addworld <WORLD> [WORLD2 WORLD3 etc.] - Adds worlds to the configuration file.
This command adds worlds to the list of worlds that a player is looped through upon being unstuck.
/gu removeworld <WORLD> [WORLD2 WORLD3 etc.] - Removes worlds from the configuration file.
This command removes worlds from the list of worlds that a player is looped through upon being unstuck.
/gu listworlds - Outputs a list of all worlds currently in the configuration file.
This command lets you see where players are being teleported to upon being unstuck.
/gu reload - Reloads the configuration file.
If you manually edit the config.yml file, this command allows you to load your changes into memory.
Permissions:
galaxyunstick.*: description: Gives access to all GalaxyUnstick permissions default: op children: galaxyunstick.command.*: true galaxyunstick.notify: true galaxyunstick.command.*: description: Gives access to all GalaxyUnstick commands default: op children: galaxyunstick.command.unstick: true galaxyunstick.command.unstick.others: true galaxyunstick.command.gu.*: true galaxyunstick.command.unstick: description: Allows you to unstick yourself default: true galaxyunstick.command.unstick.others: description: Allows you to unstick others default: op children: galaxyunstick.command.unstick: true galaxyunstick.command.gu.*: description: Gives access to all GalaxyUnstick configuration commands default: op children: galaxyunstick.command.gu: true galaxyunstick.command.gu.mode: true galaxyunstick.command.gu.addworld: true galaxyunstick.command.gu.removeworld: true galaxyunstick.command.gu.listworlds: true galaxyunstick.command.gu.reload: true galaxyunstick.command.gu: description: Needed to use any GalaxyUnstick configuration commands default: op galaxyunstick.command.gu.mode: description: Allows you to change the unstick mode default: op children: galaxyunstick.command.gu: true galaxyunstick.command.gu.addworld: description: Allows you to add worlds to the configuration default: op children: galaxyunstick.command.gu: true galaxyunstick.command.gu.removeworld: description: Allows you to remove worlds from the configuration default: op children: galaxyunstick.command.gu: true galaxyunstick.command.gu.listworlds: description: Allows you to list the worlds in the configuration default: op children: galaxyunstick.command.gu: true galaxyunstick.command.gu.reload: description: Allows you to reload the GalaxyUnstick configuration default: op children: galaxyunstick.command.gu: true galaxyunstick.notify: description: Players with this permission will be notified when they are unstuck default: true
@feeg1
Thanks for the good explanation!
@CommodoreAlpha
Thanks for downloading!
If anyone has any feature suggestions or ideas of how to make GalaxyUnstick work better, let me know!
Now I can't tell whether the "error" I'm having is due to my 300 plugins, or one of my 300 plugins. But this plugin seems to "fix" the issue, so once again, thanks! :)
@AKPWebDesign
As far as I know most errors which cause players to stop responding with the world or be glitched in it are due to world data that failed on either end. Several hacked clients can cause this upon themselves as well, I believe by stopping the data they are sending. So tping players makes them redownload the world server side so unless they are somehow causing the problem them selves it should fix most things :D
@CommodoreAlpha
Now, I don't honestly know what the problem truly is, or why teleporting the player fixes it, so the following is just my guess/assumption:
I think that the server is unable, at times, to send world data to the client quickly enough, which triggers the glitching client-side. The reason I think tping the player fixes the problem is that it forces the client to re-download the world.
Again, that's just my guess. If anyone has more knowledge on the topic, please share. :P
I've an issue on my server where players, upon connection, would either fall slowly to the ground, get stuck in whatever block they were in, and be unable to interact with anything, and the source/nature of this issue has always proven so elusive and annoying, when I'd always have to tell them to relog.
I tested this plugin (once) on that issue, and it seemed to work, which is nice and all, and on top of that, thank you. But I really have to wonder, how does tping a player through a couple of worlds fix a connection issue like that? (Unless it does more than just teleport a player through a couple of worlds.)