brysonsteck / resurrection

Forces Minecraft players to wait absurd amounts of time before respawning.
https://www.spigotmc.org/resources/resurrection.94542/
GNU Affero General Public License v3.0
4 stars 2 forks source link

Resurrection constantly increments time by various amounts, extending death time of players unintentionally #3

Closed brysonsteck closed 2 years ago

brysonsteck commented 2 years ago

Describe the bug When the player is awaiting the resurrection and joins the server providing the password for the Password Log On plugin and types /howlong it displays longer and longer durations. When the time to resurrect is close to 0 it increments by about 24h (full duration), but typing /howlong more times in one session seems to increment it only slightly.

I was going to make a screenshot of the time (last time was over 40h) where the respawn duration is 24h and it's about 2 days since the death happened, but now it respawned me.

Not long before I had another issue with players respawning in void (that was with Resurrection 1, not 1.1).

To Reproduce Steps to reproduce the behavior:

  1. Use Paper for 1.17.1 with Password Log On and Corpses plugins
  2. Make a player die
  3. Leave and join the server

Expected behavior Time to resurrect decreasing according to the actual time passing and players able to play exactly after the set duration after death.

Screenshots None provided.

Server Info (please complete the following information if you are the server admin):

Other Plugins Running PasswordLogOn Corpses EasyWhitelist HideNametag PlayerNPC PublicCrafters RHLeafDecay SkinsRestorer SmoothTimber WorldEdit Resurrection

Additional context The server has very few players and idk if the corpses plugin even works.

brysonsteck commented 2 years ago

Before I get to the nitty gritty, a couple of things. First, apologies for not having an entry for version 1.1 in the Google Form. Thank you for specifying that the issue still exists in the most recent version regardless and I will make sure that option is available for future reports.

Second, I would like to clarify that Resurrection is not guaranteed to work on Spigot/Bukkit server forks such as PaperMC, nor do I have the time or interest to make sure that it is compatible with the most popular forks. Claims that these forks make about being "Compatible with Spigot and Bukkit plugins/routines/etc.! WOW! COOL!" are very vague as a developer, especially one that doesn't have time to go through the Javadocs or API's for that particular fork. I know it may seem like a stretch to ask you of this, but I'd ask that you make sure the issue still persists with a Vanilla Spigot/Bukkit server with the same plugins, the same (if not similar) settings, and maybe even Resurrection as the only enabled plugin. That way I can tell if it's actually something I can troubleshoot with the knowledge I currently have of Vanilla Spigot servers. This isn't a dagger to you, this is a dagger to the fact that I have little time as a full time student.

Okay, here is what I can tell you from what you gave me. I do think it's possible that this "Corpses" plugin you speak of may be colliding with Resurrection, due to the possibility it listens to the same Player Events that Resurrection does. (I think you mean this plugin? Or maybe the newer "CorpsesReborn" plugin it links to?) However, unless this plugin I found isn't the right one, that plugin was last updated in 2015 and only supports 1.8. servers and the "reborn" version it links to on the plugin page doesn't say it supports 1.17. servers either. It's possible you could be using plugins that haven't been tested to work on these versions yet.

I don't believe that PasswordLogOn has any connection with Resurrection, unless the program checks what gamemode the player is in and what potion effects they have for whatever reason if they haven't entered their password (since Resurrection puts Players in Spectator Mode, blinds them and locks their position to spawn when in the dead state). I have the same thoughts with the other plugins you have.

You can also see what's happening when you run the /howlong command by enabling the debug flag in the settings file of Resurrection. If you choose to submit screenshots in the future, this will be helpful for me as well.

If I'm referencing the wrong Corpses plugin and/or if you still see the same issue after migrating to a Vanilla Spigot/Bukkit server, I encourage you to a) reply to this issue if you have a GitHub account or b) resubmit another bug report on the Google Form. I will leave this issue open in the hopes you read this, but I will close it in about a month's time if nothing new is submitted or it was resolved. Thank you for your willingness to help improve Resurrection!

brysonsteck commented 2 years ago

Describe the bug I contact u again. I switched from paper to spigot as u suggested and the issue with time seems to be resolved.

What I have spotted though is that with the Password Log On plugin if a player joins while being dead, it teleports him to the platform, thus changing his respawn point.

Also a dead player is able to play after logging in, just with blindness, slowness, moving only while jumping etc.

I used this corpses plugin: https://www.spigotmc.org/resources/%E2%9C%85-corpses-%E2%9C%85-1-17.96774/ It works properly, but it seems unrelated.

Unimportant details omitted to conserve space

To Reproduce Steps to reproduce the behavior:

spigot server with resurrection 1.1 and password log on setting the password setting the spawn point somewhere else dying leaving the server and rejoining it logging in playing with effects etc.

Expected behavior dead player in the same state after logging in as he is immediately after death:

  • respawn in the same location as the last click on bed etc.
  • no ability to play

Screenshots None provided.

Server Info (please complete the following information if you are the server admin): Same as before

Other Plugins Running Same as before

Additional context None Provided

Awesome! I'm glad to hear that everything is working with Resurrection on vanilla Spigot. Definitely an issue with PaperMC then.

I looked into it and it appears Password Log On is the reason Resurrection does not properly when it respawns players to their bed. Password Log On tampers with the player's spawn point as seen in this commit on their repository; looks like it changes their spawn when they join the server and therefore overrides Resurrection. I didn't look too deep into it, but I'm also assuming Password Log On probably also messes with the gamemode when the player joins the server and that's why the players are in Survival when they spawn or log in. If demand is out there, I can add additional checks to make sure that the player is in Spectator mode while dead.

I am unaware of any plugins with the feature set you are looking for, nor do I have time to create one. However, that's nothing a simple Google search can fix! Happy trails. :smile:

I will close this issue in a week's time to ensure you can see this.