Building: BugTracker
Bug Severity
These are just guidelines to stop 'severity inflation', and aren't strictly enforced.- Cosmetic - there is a typo or other mistake in messaging.
- Minor - the default state for wrong behaviour bugs
- Major - causes a mission isn't completable. or a crash that can be triggered by immortals being evil.
- Severe - a crash that can be triggered easily, players can't log in, a minor subsystem is dead.
- Fatal - the mud doesn't work at all, major subsystems are dead
Bug States
These show how far along the fixing process a bug is. Generally speaking, an unconfirmed bug should not be fixed, although the bugtracker does not enforce this requirement. Otherwise, you should only change the state using the buttons at the bottom of the bug info page, as these only allow you to change to an appropriate state given the current state of the bug.- New - A bug submitted to the bug tracker starts in this state.
- Confirmed - the bug has been confirmed to be a bug by someone other than the submitter of the bug report.
- NotABug - the bug is not a valid bug report, either because it contains no useful information, the behaviour described is not a bug, or any other reason.
- Fixed - the bug has been fixed (on test).
- Verified - someone other than the person who claims to have fixed the bug has verified that in fact it has been fixed.
- Held - the bug is acknowledged but placed on the back-burner, fixing it will have to wait a while.
Bug Components
The component is where the bug has occurred, and should always be set if at all possible, to save the coders who will fix it a little time.
The component has two sections, a category chosen from a fixed table, and a string which can take more or less any value. Appropriate values for this string are listed in the right-hand column of the table below.
Component | Used when? | Set to? |
Action | An action (as seen in the actions command output) is broken, or has a typo. | The full name of the action (not the object id, if it is an action object!) |
Buglog | The buglog is broken somehow, or you wish to request a feature. | Leave this blank. |
Code | The internals of the mud written in C++. Use when a problem doesn't fit into any other category, usually. | The path to the sourcecode file, usually starting with src/ or include/ |
General | Something to do with the look and feel of the game as a whole. | You should probably leave this blank. |
Help | A helpfile is missing, misspelled, or broken in some way. | The full name of the helpfile. |
Info | An info file is missing, misspelled, or broken in some way. | The full name of the info file. |
Policy | A policy file is missing, misspelled, or broken in some way. | The full name of the policy file. |
Quest | A [mini]mission's design is flawed, or could be improved, or is broken in some way. Not to be confused with world below | The name of the [mini]mission. |
Web | A page on the website (including webmake and the bugtracker) is missing, misspelled, or broken in some way. | The URL of the page in question. |
World | An object in the mud world, or its associated lua, is missing, misspelled, or broken in some way. | The name of the zone the object belongs to. |
Verb | There is a problem with a lua verb, such as a bug, typo, or a flawed interface. | The name of the verb (not the object id, if it is a verb object!) |
Unknown | Only use this if you cannot possibly fit the bug into any other category. | Leave this blank. |
A large number of bugs are associated with a verb. If a command does not function as it should do, type verb -n x where x is the name of the command. The piece of information you need to know is displayed in the Module column.
- Intrinsic - A command not associated with a module. Component should be just set to code
- Luaverb - A lua command stored in a file. Component should be set to verb:verbname
- Verbobj - A lua command stored in an object. Set component as above.
- Modulename - A command associated with a specific C++ module.
In the latter case, the component should usually be set to code:src/extras/modulename.cc. There are a few odd exceptions such as the wizard module which is stored in wiz.cc
Please make an effort to set the component to something other than just unknown, or code, so as to make the job of the bugfixer a tiny bit simpler.