PikaMug / Quests

Easy-to-use, open-source plugin for the creation and execution of quests on Minecraft servers.
https://modrinth.com/plugin/quests.classic
MIT License
147 stars 108 forks source link

Re-logging wipe player Stage objectives data. #1515

Closed DeadlykillOfficial closed 3 years ago

DeadlykillOfficial commented 3 years ago

What is your Quests version / build number (do not say "latest")? rc.3 b182 Describe the problem and how to replicate it. Any console errors to post using Pastebin.com? The way this works is. Player accept a quest and by default you can see objective right? like Break Stone 0/5 right? But once player just Re-login in the server the objective is empty and no longer being able to continue this quest. Before Relog: image After Relog: image

PS. I'm using MySQL feature, Haven't tested if that appears on regular yaml file. But either way this looks like an issue to me

If applicable, can you provide an example quest from quests.yml using Pastebin.com? https://pastebin.com/yQXs8Q7T - Quests.yml

DeadlykillOfficial commented 3 years ago

Update on issue. https://pastebin.com/CVqDVjYD The following error starts appearing once player relog (doesn't see objective) but still tries to make it. (In error case this is Kill Sheep Stage 3)

PikaMug commented 3 years ago

When you say "wipe" is the data actually removed from the database? Or is it just not appearing in-game?

DeadlykillOfficial commented 3 years ago

At the start of rc.3 it was basically wiping all the stage progress that player made. As for now, whenever player relog. It does not delete the quest from Database but i believe it deletes or removes all connections with it. Once you relog you only have the name of quest and that's it. Even if you knew your objective before relogging and you actually do it while that "visual bug" It doesn't count nor progress anything. Basically the quest becomes unplayable entirely and has to be /qa reset

PikaMug commented 3 years ago

Should be resolved in https://ci.codemc.io/job/PikaMug/job/Quests/184/

DeadlykillOfficial commented 3 years ago

The reloging issue has been indeed resolved but there is another one. reloging wipe player progress now. Since i can't find anywhere this is saved. Basically if i have objective Place stone 1/5 Break stone 35/64 and deliver stone 1000/2000 and i relog they are all back to 0. Making quests only possible to be played during online period of players and disallow owners of creating hard and complex quests that must take days to complete.

PikaMug commented 3 years ago

@DeadlykillOfficial Feel free to make a new issue, but my last comment in #1488 still holds true.

DeadlykillOfficial commented 3 years ago

I seen your comment but tho sis considered as unplayable when using MySQL. Since players must finish their objective within playtime or objectives are being qwiped right after reloging. In my opinion this behavior shouldn't be even happening at first place. And me personally consider it as a bug due to the fact it doesn't persist over reloging or server restarts. Basically even easiest type of event break 64 stone maybe turn to be annoying when you doesn't finish it and relog. This entirely exclude objectives like mine 5000 blocks or kill 5000 mobs leaving server owners with not options for hard and long quests when using MySQL.

Lunatik934 commented 3 years ago

I have the same issues after updating to 184 build

Lunatik934 commented 3 years ago

I use file db