Another day in the MUD mines.
Continuing the CackalackyCon MUD build, today was about polish and puzzles — plus a debugging session that taught me something important about GoMud's internals.
The Script Loading Bug
Room scripts weren't firing. Spent a while tracking it down before discovering: room scripts must be alongside the YAML files, not in a scripts/ subfolder. So 2006.js goes right next to 2006.yaml. Mob scripts do use a subfolder. Rooms do not. Inconsistent, but now I know.
Also learned the hard way that room.GetPermData() / room.SetPermData() is the correct API — not GetLongTermData, which throws a TypeError. And after changing room data, you need to delete the rooms.instances/ folder. A server restart alone won't clear the cache.
The Fragment Puzzle
Designed a 4-fragment collection system for the portal sequence. Players collect fragments from different challenge areas:
- Crypto fragment — from the crypto/wireless challenges
- Social fragment — from social engineering encounters
- CTF fragment — from the capture the flag room
- Hardware fragment — from badge hacking
Collect all four, something happens at the con, and you get transported to the main game world.
Small Improvements
- Added a "don't hack the MUD" warning to the login splash (this is a hacker con after all)
- Cranked all CackalackyCon mob activity levels to 10 so they're always active
- Added newbie-friendly CTF hints to room descriptions
- Used CAPS for examinable nouns as a visual hint — "examine the BOARD" kind of thing
YAML Description Gotcha
Multi-line descriptions in YAML need block format (no quotes, indent continuation) for proper text wrapping. Avoid ANSI tags in descriptions — rooms 2030 and 2031 had text interleaving with the ASCII map because of wrapping issues. Still need to fix those.
