About the Dawn of Time MUD Codebase
The Dawn of Time is a MUD codebase developed by Kalahn,
originally based on the ROM codebase.
Work began on the Dawn codebase in 1997, and it was first publically
released at the end of 2000. Thus it has a similar "look and
feel" to the Diku/ROM styles of MUD,
and of course it is free :).
Some of Dawns features include:
- Compiles and runs under Unix (Linux, FreeBSD,
OpenBSD), Windows (Cygwin and
Microsoft Visual C++), and OS X
- Full MXP (MUD eXtension
Protocol) support - probably the most advanced MXP
server on the net.
- MSP (MUD Sound Protocol) support
- MCCP (MUD Compression Protocol) support
- Fully Customizable Colour System, with mudwide
templates
- Support for ANSI, IRC and HTML colouring
conventions
- OLC (online construction),
many MXP driven - including
the following in game editors:
- Game editor (gameedit, customize the
behaviour of a number of game features - more on this later!)
- Area editor (aedit)
- Room editor (redit)
- Mobile editor (medit)
- Object editor (oedit)
- Help editor (hedit)
- Race editor (raceedit)
- Class editor (cedit)
- Clan editor (clanedit)
- Skill Group editor
(skgrpedit - for editing things like 'mage basics')
- Spells/Skills editor
(sedit)
- Social editor (socedit)
- Ban editor (banedit)
- Mix editor (mixedit)
- Deity editor (dedit)
- Herb editor (herbedit)
- Command editor (comedit)
-
Mobile Program editor (mpedit)
-
A number of aspects within the OLC editors are
automated:
- Automatic saving of olc work every 15 minutes and prior to
hotreboots, reboots and shutdowns
- Automatic
balancing of mobs when you set their level, (the stats can then be
overridden)
- The autobalance parameters are easily
customized for a muds requirements (see system/mob*.txt within the
support files download)
- Automatic adjustment of racial flags, body
parts, form etc when you set a mobs race
- Ability to rebalance all the mobs in an area/vnum
range with the autobalance command
- Ability to adjust room flags on a range of
vnums with the setrooms command.
- Ability to read and convert rom area files
-
GameEdit - The Game Settings Editor
-
Gameedit allows the editing of a large number of
game parameters, text fields and values.
- The game settings editor is fully MXP enabled,
every underlined word in the example
is a link that can be clicked to edit settings. The mxp feature
does require an MXP capable mudclient such as
mushclient to be used.
- Replay command works for
all channels as well as tells (e.g. replay immtalk) - imm only.
-
Separate DNS and Ident resolving process (meaning
DNS lookups don't lag the mud)
-
Laston database, with search criteria
-
Extensive helps (over 1000)
-
Player Help searching command - helplist <keyword>
-
Textsearch command, able to search for any text,
searching the following:
- helps
- socials
- roomname
- roomdescription
- roomextdescript
- objdescription
- objextdescript
- mobdescription
- mobprog
-
Mobprog debugging and development:
- Online mobile programming help using the
mobhelp command (with no parameters to list all).
- A 'token' object (which is invisible to
mortals, can optionally stay in a players inventory over death,
and can optionally degrade over time). Mobs can use this to tag
players and remember state - e.g. when a player kills a citizen in
mekali they are given a token. Guards and other citizens in
mekali change their behaviour depending on the number of 'I killed a
mekali citizen' tokens a character carries.
- Room progs are simulated by putting a mob in
the room with the unseen flag (with this flag, the mob can only be
seen with holylight and is unaffected by area attacks). Object
progs are currently not available, but are planned when a complete
scripting language will be fully embedded.
- Automatic logging of mobprog bugs and view the
call stack (log and callstack accessed with mpinfo).
- Help with the mobprog if checks using the
ifhelp command.
- Queued events using mob queue command: (e.g.
mobhelp queue)
- Extensive admin commands and information
- Extensive "wiznet" information services that lets you know of
ongoing events (such as players connecting)
- "Hot reboot" feature lets you update the server without players
having to disconnect
- Source code supplied (C++)
- Integrated web server
- lets players check who is on in their web
browser, before connecting, and other things, like viewing help
files.
- MudFTP/DawnFTP
support - lets you edit room descriptions etc. in your favourite
text editor
- Ability to disable mudftp, dawnftp and irc
connection support
- Automapper including support for maps of different scales - shows an text-based map of the current room and
surrounding rooms.
- Clans with ranks
- Personal and Clan banking
- Intergrated name generator into creation
- Spell system which supports creating new
spells by making an alias to an existing C++ spell function
- Arealist automatically sorted by level and
alphabetically (depending of the command used to access it).
- Letter writing
- Lockers and mail boxes
- Corpses autosave
- Option to have short descriptions in place of
player names
- Ability for players to introduce themselves
(so their name appears by their short for selected players)
- Support for different who list formattings
- Idle time shown in the wholist for all
formats
- Optional Remort support (support intergrated
into race, class and game edit), remort process integrated into the
mobprog system (mobhelp remort)
- Second weapon support - can be a skill or
free to all players
- Separate OOC rooms
- Generic channel system, making it easy to add
new channels
- Advanced note functions including forwarding,
respooling and wordwrapping.
- Advanced language systems including over
unique 10 languages
- Global socials
- Ability to subdue as an alternative to
killing
- XP is also awarded for roleplaying (by
default)
- Ability to bury and dig up items
- Ability to ride and tame pets
- Speedwalk and players leaving tracks/trails
- Directional yelling (i.e. you can hear the
direction the yell came from, and volume)
- Alias with parameter subsitution
- Dueling system for pkill combat (when enabled
in gameedit)
- Intelligent object manipulation (E.g. objects
automatically unlock when you attempt to open and have the key, when
you have key and attempt to lock, it will automatically be closed)
- Ability to load players into the game while
they aren't logged in, edit their pfile and resave or abort changes.
- ...
There are many many many more features, but
this list is just a start, to give you an idea. It is
interesting to comparing the size of the code with some other
popular codebases (.c, .cpp and .h files):
- ROM: 46,434 lines
- SMAUG: 134,650 lines
- Dawn: 190,872
lines
If you are interested in evaluating the Dawn
Codebase, you can log into one of the Dawn based muds listed on the
muds page, or download your own copy of the mud (further
instructions of the getting started page).
|