Shattered Kingdoms
https://shatteredkingdoms.org/forums/

Loot and equipment being wiped out when logging out
https://shatteredkingdoms.org/forums/viewtopic.php?f=26&t=26623
Page 1 of 2

Author:  BAI7l7 [ Sun Feb 10, 2019 4:23 pm ]
Post subject:  Loot and equipment being wiped out when logging out

This bug is already known but I would like to formalize it in the form of a post to get it fixed.

Loot is being wiped out due to a bug when a player logs out.

This should be high priority because there's a strong expectation among players that they get to keep their items when they log off. No wants to lose loot that they have to invest 10+ hours going through a dungeon to get loot.

Author:  Tragonis [ Sun Feb 10, 2019 5:20 pm ]
Post subject:  Re: Loot and equipment being wiped out when logging out

Unless there is a new variation there is three possible causes. A random wipe during the monthly reboot. Not sure what causes this. Then the bug of logging enough hours and have them not count because you voided during the month. Sessions where you void don't seem to count for required play time. And lastly there is a bug if you disconnect and reconnect and the game causes a mirror pfile that makes anything limited you have vanish.

Author:  Trosis [ Sun Feb 10, 2019 9:14 pm ]
Post subject:  Re: Loot and equipment being wiped out when logging out

If you void out your hours for that session do not count? Is that true? Can we confirm that? Imms?
If that’s the case, should we log out and log back in after voiding to restart our logged hours for that session?

Author:  BAI7l7 [ Mon Feb 11, 2019 2:49 am ]
Post subject:  Re: Loot and equipment being wiped out when logging out

Tragonis wrote:
Unless there is a new variation there is three possible causes. A random wipe during the monthly reboot. Not sure what causes this. Then the bug of logging enough hours and have them not count because you voided during the month. Sessions where you void don't seem to count for required play time. And lastly there is a bug if you disconnect and reconnect and the game causes a mirror pfile that makes anything limited you have vanish.


I'm betting Dulrik made the decision where hours dont count when players void to prevent players from gaming the system. Like login, leave the computer, and rack up time. I think the Saisua staff lets a player have a private room that no one else can get to where a player can safely do this. Get what I mean?

In this case the player deserves to lose their loot because we want honest hours that reflects a player's active game time that merits the ability to keep their loot. Anything besides this is just dishonest.

Author:  BAI7l7 [ Mon Feb 11, 2019 3:19 am ]
Post subject:  Re: Loot and equipment being wiped out when logging out

Without looking at the code, I'll play pseudocode cause thats what programmers do for fun!

hoursPlayedForMonth = 321 (somewhere in database that keeps track of hoursPlayed)

Possible ways of Hours being recorded
1) Simplest way of player hour calculation
- Log of character login time and logout time (should include login time and logout time + voided out time)
- Script parses through these logs and adds up the number of hours for each character
- Throws out any logs that doesn't make sense but also adds the data to a bug tracker system to ensure logs are being accurately recorded
- End of each month, script passes through the logs to determine if loot needs to be wiped

2) More complicated way - Periodically hours are added to the player profile hoursPlayedForMonthVariable
- I hope its not being calculated this way because so many things can go wrong and very bug prone
- Periodically calculate hours every 5 mins or every hour that the player is logged on
- Records data by the minute (recording by the hour might lead to losing minutes and issues rounding up or down)

Disconnect/Reconnect Code
1) Ideal way of maintaining and resuming sessions
- When a player login, they are given a session ID
- When they disconnect, their client loses that session that is linked to their IP and any recorded client info
- When player reconnects, player is given a new session ID so that it links to a new session log in the database
- No need to reload player profile because an existing one is currently on the server

2) Resuming session with player profile as Trag suggest as a possible scenario
- Player disconnect
- Player reconnects. System reloads the player profile to get refreshed data. For whatever reasons, the system doesn't recognize the currently active session player profile as being the same as the player profile in the database which forces the system to rerun the login protocol causing a possible pfile mirror.
- This unknowingly triggers the anti-dupe script if they have one. This also triggers the script that determines when to wipe out duplicate gear (that should generally only run when a player logs out). This is usually just pooor programming practice but I dont want to underestimate a 30 year old legacy code.

Monthly Reboot Loot Wipe by Hours
- Hours are recorded in a specific way
- Some hours may not be included by accident (possible bug where the system forgets to record hours)
- System runs through all the flags to make sure all the hours are being added up correctly (but I'm hoping the programmer wasn't lazy where they just used the database value generated by DikuMud core framework) - this might be a bug where a new programmer comes in and just tries to wire a new piece of code into the framework without realizing what that value in database truly means or some new code in the past that deals with player login time forgets to add onto this player database value) - so every month, the script runs and only checks against a partial player logged hours.

I'm pretty sure this bug is caused by a piece of code that is built on top of original framework code that doesn't factor in all the variables to run the script 100% effectively. And I'm assuming the original programmer naively used a database value generated by Dikumud that doesn't accurately log player hours. Personally I would write a script that parses through all the logs then cross-reference that value with the Dikumud generated database value from a month to month basis to ensure data integrity.

From the looks of it Dikumud is written in C, and its sort of a pain to debug when I search for dikumud github.

Author:  Yed [ Mon Feb 11, 2019 5:43 am ]
Post subject:  Re: Loot and equipment being wiped out when logging out

Time spent in the void won't count toward your monthly time, but it shouldn't wipe your time for the rest of that login session. So if you log in, play for a few hours, then go idle at the end and void before you're logged out, it should still count those few hours until the void. If you log in, go directly to void and have a session that consists of just voiding out a bunch of times in a safe room just to hold equipment, you're likely to be disappointed.

Author:  Trosis [ Mon Feb 11, 2019 12:03 pm ]
Post subject:  Re: Loot and equipment being wiped out when logging out

Yed wrote:
Time spent in the void won't count toward your monthly time, but it shouldn't wipe your time for the rest of that login session. So if you log in, play for a few hours, then go idle at the end and void before you're logged out, it should still count those few hours until the void. If you log in, go directly to void and have a session that consists of just voiding out a bunch of times in a safe room just to hold equipment, you're likely to be disappointed.


I know when you void you come back and sometimes pets won’t follow your or be in your group or all sorts of buggy things like that.
Is it possible that the game still considers you voided once you return from the void, until you actually move a room and re-enter?

Is Trag’s analysis of what could be causing the jloot bug accurate?

Author:  BAI7l7 [ Mon Feb 11, 2019 4:02 pm ]
Post subject:  Re: Loot and equipment being wiped out when logging out

Trag's analysis is just guess work based on his experience with the game. A programmer would only use that is a basis to start from. Basically they are hints that may or may not be the problem and could serve as a starting point to debug.

But I think it is worth looking into whether a voided session wipes out the remaining active session hours. Feels like something that might slip through the cracks. For example, I find myself voided a lot but after I return from void, I play another 5 hours. Based on the way I play, this has happened numerous times, but cant say for sure if these five extra hours were counted towards the monthly hours.

Author:  Trosis [ Mon Feb 11, 2019 5:47 pm ]
Post subject:  Re: Loot and equipment being wiped out when logging out

Right. That’s what I’m saying.
Maybe we just log enough hours so that our voided sessions don’t really matter?
I think it’s a harsh consequence if someone steps away for a few and accidentally voids.
If someone is just voiding and coming back and voiding an coming back, then yeah that’s shady. But we shouldn’t be punished if we accidentally void every once in a while.

Or was Trag logging hours in the outer planes with the ring of planes.
Does that area not count as logged hours, even though it is a recallable area?
I think Lorain had it too. Could this be something too?

Author:  BAI7l7 [ Mon Feb 11, 2019 8:56 pm ]
Post subject:  Re: Loot and equipment being wiped out when logging out

Logically what you say makes sense and easy to manage on a case-by-case basis, but that requires time that the IMM staff doesn't have. I'm sure their reasoning is that voiding is abusable, so best to axe any idle time, then say tough luck when someone gets screwed over. I think your failing to see the point. SK runs in a way that helps alleviate time from the staff and doesn't always have to be right or wrong logically, and its more about practicality from a programming perspective. The issue of this thread isn't about whether Trag's loot was unjustly/justly wiped out, but INSTEAD more about THIS MASSIVE BUG that needs to be fixed for the game to be playable. This bug SHOULD scare new players away because whats the point when you spend 100 hours on loot only to have it not save and wiped out.

The question is... is this even a bug? Or its just Trag idling a ton circumventing the loot wipe system. It looks like Trag got the "tough luck, I'm not going to lift a finger" response the rubbed him the wrong way. Thats besides the point, and the main thing is that Trag is suggesting that it is a REAL DAMAGING bug that needs to be fixed for anyone to consider playing.

Page 1 of 2 All times are UTC - 8 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/