Category: Issues and Bugfixes

Issues and bugfixes for the Basternae/ModernMUD code.

Test Connection Up Again (Temporarily)

I put up the MUD server so I could do some development.  Telnet port 4502 and feel free to report anything you find.   I haven’t fixed everything since the last test run, but did fix a handful of things. I don’t have a restart script running, so if it crashes, that means it’s going

A Solid Batch of Fixes

Thanks to reports from the pre-testing test and from actually trying to use the MUD as a player, I’ve taken care of a bunch of things.  Here’s the list: — Fixed “look in object” command. — Fixes to damage messages.  Sometimes they wouldn’t print thanks to a stray ‘\0’ (null) character. — Kill message now

Test Port Turned Off Now

The experiment is over for now. I more-or-less have the data I was looking for — what the most major issues are, where the crashes happen, what’s super-broken, and what needs a lot of work.  If you have any other results from your experimentation, feel free to send them to xangis at the yahoo email

A Batch of Fixes

Between tester reports and the logs I’ve managed to track down and fix a handful of issues, some of which were so nasty as to make things untestable.  Here’s the list: 1 – Fix for removing an object from a room when that object points to a room but the room does not have the

Basternae 3 Test Port Currently Running

I have a test port of Basternae 3 running on port 4502.  This is only temporary for the purpose of testing. Here’s a list of things that need to be tested.  Feel free to spend as little as 1 minute testing, or as long as the server is up.  I only plan to have

Ready For Some Preliminary Testing Soon

Some time in the next few days I hope to put up the Basternae 3 codebase in its current state temporarily in the hope that a few folks will be willing to help with some testing. This isn’t a “beta” or anything like that.  It’s more of a “proof of concept” — to find out

Today’s Update

I spent a while working on the code today.  Nothing specific, just reorganizing some things, cleaning up some excessive logging, fixing a bug or three. I ran FxCop again and it came up with 961,407 checks and 9,557 issues, a ratio of 9.94 issues per 1000 checks.  This is an improvement of 6.49% over last

Mono 2.01 Doesn’t Like XmlElementAttribute

I have zone files loading on Mono now. I had a sneaking suspicion that it had something to do with the XmlElementAttribute that I used to keep the XML tags in the zone files compatible with the encapsulated, property-based classes.  I spent a few hours updating the zone converter application so I could remove the

Small FxCop Update

Down to 9,788 issues in 920,226 checks for a ratio of  10.63 issues per 1000 checks, an improvement of 4.23% over last time.  So slow.

Slight FxCop Improvements

Numbers are at 10,218 issues in 920,224 checks for a ratio of 11.10 issues per 1000 checks, an improvement of 3.31% over a day and a half ago.  There’s still a very long way to go here.

FxCop Still Wants To Shoot Me

Last time I ran FxCop two and a half months ago I had 10,850 issues from 778,249 checks for a ratio of 13.94 issues per 1000 checks.  That was just on the core MUD engine without the utilities included (screen editor, zone editor, etc.) Today I ran FxCop against the entire codebase.  The ratio has

Good News and Bad News

Good News:  The crash is fixed.  It happened because an object was being loaded from a zone that didn’t exist. Bad News:  The root cause of the crash was that zones don’t actually load — the files open, but data isn’t read.  They load fine on Windows, but Mono isn’t happy.

Almost Working on Mono

There’s apparently a strange quirk to the XmlElementAttribute where you have to specify the data type for any type that isn’t a string (you’d think it would auto-detect an int property!) So, with this: /// /// The id number of the race. /// [XmlElement(“_number”, typeof(int))] public int Number { get { return _number; } set

Not Working on Mono

I tried firing up the current Basternae 3 codebase using Mono on my Ubuntu server. It crashed. So, here are the errors I have to sort out before I can get to the next errors: 14:30:34 Trace: Loading spells. System.InvalidOperationException: Standard output has not been redirected or pro cess has not been started. at System.Diagnostics.Process.CancelErrorRead

No Null Checks

After running the automated tests generated by Pex, it’s amazing how many functions in the old codebase received various class or structure arguments and immediately started working with the data in them without ever checking for null. It was a paradigm followed by the old public code release of Diku, Envy, Merc, etc. and was

Unit Testing With MbUnit

In general either code works or it doesn’t and it’s easy to tell whether it does or doesn’t work. At least until you reach a certain level of complexity. At some point a project gets large enough that you can’t tell which project/dll your error is coming from, let alone which of the 100K or

Miscellaneous Fixes

I made a few changes to character creation today.  There were a few places where it was case-sensitive — you could create a “Troll” but not a “troll” and there were a few weird state changes.  For instance, when creating a character you would see the menu twice the first time it was displayed. I

Issue Code Is Working

I finished testing the issue code today.  We now have a functional ‘help desk database’ for the MUD.  It’s primitive, but it should do the trick and can be expanded/changed as necessary.  At least we’ve eliminated the bug, idea, typo, and ‘helps needed’ files that admins would rarely, if ever, look at.  Here’s an example

TODO List Added

I’ve added a to-do list under the ‘Pages’ section. It’s not quite complete and the formatting isn’t all that great, but it might be a useful way to keep track of what needs to be done. At the very least it’ll give readers some idea what I’m working on. So far I’ve been using simple

Fixes and More Fixes

I have the client and server running well enough that I’m able to create a character and log in to test all of the available commands. In the first pass, just logging in and typing the command name to see what happens, I’ve found a fixed quite a few glitches. I haven’t fixed all that