DarkCastleMUD / DarkCastle

Dark Castle is a text-based MUD (multi-user dungeon) that was originally based on DIKU MUD around 1995. It has been running since then.
https://www.dcastle.org/
GNU Lesser General Public License v2.1
12 stars 11 forks source link

Issues with Szrildor Burial Grounds Daypasses (very likely includes a crash bug) #96

Closed dmhenderson76 closed 3 years ago

dmhenderson76 commented 4 years ago

There are 4 issues with the daypass item (30097). One is an easy fix, the others... I dunno:

1) Missing a $n from the front of the pass expiration message when someone is removed from the zone. (Westley submitted a pull request to fix this)

2) Upon pass expiration, even if the char who has it is NOT in the zone, they are instantly teleported to room 30000. This should only happen if the character is inside the zone and not in room 30000 or 30096. Characters outside the zone should just see the standard "pass crumbles to dust" message

3) There is a crash bug if the person carrying a pass sacs it before the timer expires although we are having some difficulty recreating this. When the global timer expires, the game crashes. Can either make the pass un-junkable (doesn't seem to be a flag for this) or track down the bug and fix it. Doesn't matter to me either way.

4) Possibly related to above, but as long as there is a pass in the world, any subsequent passes purchased are supposed to share the same timer. This prevents players from staggering pass purchases and locking down the zone indefinitely. This is currently not functioning as intended and each pass is getting its own unique timer.

dmhenderson76 commented 4 years ago

Update:

  1. Resolved

  2. Resolved.

  3. Resolved.

  4. Unresolved.

dmhenderson76 commented 4 years ago

Issue 5. Daypasses now sometimes expire immediately upon generation - assuming they are not the first set of passes generated per-boot. Imms can manage reimbursement for now, but definitely needs to be looked at.

Edit: This turned out to be related to the issue where daypasses inside containers were not expiring. This has been fixed.

dmhenderson76 commented 3 years ago

Update on the crash bug - we have it narrowed down to a certain set of actions: 1) Crash only occurs after pass generation 2) Crash never occurs on first pass generation attempt - only subsequent 3) Crash occurs like clockwork about 2.5 seconds after pass is generated and handed to the player.
4) Chance of crash seems to increase with subsequent purchases up to about a 99% chance of crash by pass set #4 5) We don't believe that the crash is caused by the zone clearing/repopping. Multiple attempts to clear/repop the zone do not crash the game.

jhhudso commented 3 years ago

fixed crashing issues. let me know if anything remains

dmhenderson76 commented 3 years ago

You are the man

dmhenderson76 commented 3 years ago

Should have been closed already