The Dawn of Time - Mud Codebase

Date News How to Patch All Downloads Home
1 Feb 2004 Dawn 1.69r released!

As explained on the main news page, the 1.69r code has finally been released.

There is no patch file at this stage, and I don't know if there will be (read the notes at the bottom if you are wanting a patch).

Full details about the development work are in the change log - follow the download page above.

- Kal

1 June 2002 Dawn 1.69q released! [change log] [src tarball] [support files - areas, helps and system files][win32 binary]

As explained on the main news page, the 1.69q code has finally been released.

There is no patch file at this stage, and I don't know if there will be (read the notes at the bottom if you are wanting a patch).

NOTE: VNUMS 0 to 500 are now officially reserved for the use of the codebase.

Full details about the development work are in the change log - see the link above.

Important notes if you are running an older copy of Dawn:  It is important that this update is done correctly otherwise you will get colour code corruption in your areas and helps.  I would prefer each mud contacted me for help in this process, but if you really want to go ahead and do it yourself that is up to you.  If you are wanting to patch your code up to the latest, I recommend approaching the patch the other way around (do a diff between your code and 1.69P, then manually apply the changes into Dawn1.69Q)... I can help anyone who needs help with this if they contact me.

29 Dec 2001 Dawn 1.69p released! [change log] [src tarball] [patchfile] [win32 binary]

New features:
- pload (a command for loading players who are currently not in the game)
- clan banking
- group prompt
- autoafk system
- area echoes (by daos)
- global socials (by balo)

Bug fixes:
- laston displaying reinstated deleted characters/remorted characters
- some compile warnings fixed
- adding people to clans now gives them the correct rank
- bug in goto fixed

Some additional more minor/technical changes and improvements have been made, most of which are documented in the change log for this version.

30 Nov 2001 Dawn 1.69o released [change log] [src tarball] [patchfile] [win32 binary]

New features:
- clantalk (can be disabled in gameedit)
- gain revert (works after level 9)
- switchprefix (allows imms to turn off the details shown when switched)
- by default mortals can see everyone on laston including imms.
- mobs no longer cast spells when muted, stunned or blind.
- integrated webserver uses a cascading style sheet.
- the scrambling of languages can be configured in gameedit.
- players are more suspicious about being backstabbed than mobs now.
- mxp enabled comedit.

Bug fixes:
- parts of the msp code have been rewritten, it now works correctly.
- bug fixed with switch (introduced in 1.69n), that prevented switched imms seeing act's.
- fixed it so if you get hp when leveling, it wont go past your racial max
- fixed (ooc off) showing in the wholist after a nochannel, relog and unnochannel.
- improved input checking in pdisable

Some additional more minor/technical changes and improvements have been made, most of which are documented in the change log for this version.

30 Sep 2001 Dawn 1.69n released [change log] [src tarball] [patchfile] [win32 binary]

The source for dawn 1.69n was put in the downloads areas a few days ago, just I haven't had time to update the website.

There have been a large number of changes in 1.69n... probably the biggest has been the replacement of pcedit and npcedit with a single mxp tab driven race editor - raceedit, an html output demo is available here.

A large number of other changes and improvements have been made, most of which are documented in the change log for this version.

31 July 2001 Dawn 1.69m released [change log] [src tarball] [patchfile] [win32 binary]

Dawn 1.69m has had some major changes and revamps in terms of the code which loads and saves areas - as can be seen in the size of the patch file (160KB compressed, as compared to 60KB compressed for 1.69l's patch).  A number of functions for loading mobs, objects and rooms have been consolidated into single functions taking a version number as a parameter.  Resets now load and save a text version of wear locations.  Some significant work has been done to enable dawn to easily  import and convert area files of different formats other than stock rom (which was already supported).  Area files now save with #DAWNAREADATA at the top as compared to #AREADATA.

The who list can now be sorted by level, and grouped with immortals or mortals at the top of the list (supported in gameedit).

Corpses now automatically save over hotreboots.

To aid in MXP client and server development, I wrote an integrated visual debugger - type visual within the game to see more options on it.

A significant amount of MXP has been rewritten... The rewrite has gone beyond pure MXP, and more into how Dawn manages new connections.  Dawn now performs mud client identification before displaying the greeting page to users... this enables the MXP login feature to be completely supported.   The actual detection process is invisible to the user and can currently detect client side support for MSP, MCCP1, MCCP2 and MXP.  If the client supports MXP (including the version tag), the particular version of a mud client can be determined (and can be seen using the immortal charinfo command).

If Dawn detects a buggy/old mxp implementation *cough*zmud*cough*6.16*cough* ;)... it advises them that there are issues with their client (while at the same time working around some of them).  It also recommends they upgrade to the latest version of their client or another client such as the excellent MuClient (which is what I now personally use as my mud client for gaming and development).

There are a number of other changes and improvements, most of which are documented in the change log for this version.  I would recommend looking at all the flag and value options in gameedit by typing showflags and showvalues.

30 May 2001 Dawn 1.69l has finally been released [change log] [src tarball] [patchfile] [win32 binary]

This release has been a long time in coming, it is almost an interim release in that some of the changes aren't completely finished.  It introduces a new helpfile system and the concept of help categories.  With the categories system you are able to list all the helps belonging to a category.  I call it an interim release because currently the helpcats are hard coded (in time this will be handled dynamically)

There is one new command - 'resolve'... the resolve command can be used to perform DNS lookups on IP addresses and domain names from within the mud.  The resolver binary had to be improved and is now version 1.2... dawn will refuse to work with older versions of the resolver.

A number of bugs have been fixed for this release as well... mxp has had a lot of improvements, I have now taken the approach which prevents players from sending mxp codes directly to each other... the < character is converted into &lt; and the > code is converted into &gt; (for mxp enabled connections). 

The change log documents other improvements plus any additional bug fixes.

12 Apr 2001 Dawn 1.69k has been released [change log] [src tarball] [patchfile] [win32 binary]

Another significant release, this release adds mxp support to a number of aspects of the game.  The typical things have been implemented like room exits, as well as a full mxp extensions to medit, redit and oedit.  These mxp extensions allow you to set all flags with the click of a mouse - note: mxp support requires zmud 6 or higher (or another client supporting the mxp protocol).

The custom help link colour code {=_ has been enhanced, if you prefix any word with this code, the word will automatically be converted into a clickable help link for those with mxp support.  It is now possible using this system for helpfiles to link to each other.

The introduction system finally uses a caching mechanism for lookups, this leads to a huge performance increase for people that know the names of a lot of people.  You can also now 'forget' peoples names using the new forget command.

The total number of mobprogs are now listed in mudstats, text search can search help keywords and when you train mana the amount of mana you receive is randomised (less for non magic users).

Fixes include the removal of the rest of the duel system (missed a bit - oops), no more compilation errors when the configure scripts haven't detected zlib support and a number of improvements in the colour code systems.

The change log documents other bug fixes and improvements.

30 Mar 2001 Dawn 1.69j has been released [change log] [src tarball] [patchfile] [win32 binary]

The main features of this release includes a complete implementation of Mud Client Compression Protocol (MCCP) and some bug fixes.  

The implementation of MCCP includes a major redesign of socket output, descriptor_data is now a class which resides in descript.*.  DOT's  MCCP works around design flaws in ZMud and automatically shutdown MCCP at the start of a hotreboot, then starts it up after the hotreboot.  There should be no problems with ZMud or any other mud clients support mccp in general.

If you want to use MCCP but don't want to run ZMud, you can download a client proxy from

Comm.cpp has also had a make over while some of the descriptor related code was being extracted into decript.cpp, game_loop_unix() and game_loop_WIN32() have been combined into the new cleaner function game_loop().

The dns and ident resolver (extras/resolver.cpp) has been improved, connections to ident servers now timeout after 10 seconds - previously the resolver was being blocked  for up to 3 minutes while waiting for an ident connection to fail.  If running on Win32 you can download a the version 1.1 resolver binary from the download/old/win32 dir.

If you are wanting to compile a win32 binary with mccp support, you will need to use the zlib library, avaliable from here.  In order to get mccp compiling on linux, you will need to rerun the configure script, then do a clean recompile.  Email me (kalahn at dawnoftime) if you need help with any of this.

The change log documents other bug fixes and improvements.

25 Mar 2001 Dawn 1.69i has been released! [change log] [src tarball] [patchfile] [win32 binary]

Over a month since the last release, this release has a few new features and a large number of improvements + bug fixes.

The new features include:

  • 'show' - This player command can be used by players to show objects to others.  The existing show command has been renamed to 'showaffects'.
  • 'name_b4short' - Another player command, this one can be used to change the appearance of introduced players so their name appears before their short description.
  • The vnum command can now be used to locate mobs and objects of a particular level - e.g. level 20.
  • Gameedit can be used to remove karn loss when using bypassduel, or disable the duel system all together.
  • Skillgroupedit system - the ability to create and edit skill groupings online.  Skill groups used to be known as just groups, examples of these are 'mage default' and  'weaponsmaster'.

Improvements include:

  • Faerie fire's implementation now more accurately reflects the helpfiles explaination of the spell.
  • An objects wear flags - 'body' is now known as 'torso'... (same terminalogy as the equipment list)
  • Note system enhancements - system protects itself against various attacks including preventing players below level 20 posting/forwarding more than 5 notes in a 10 minute period.
  • OLC's displaying of skill groupings.
  • Bancode more tolerant of excess whitespace in multilined ban masks.
  • Redesign of the groups system, which lead to its conversion to the skillgroups system.
  • Intergrated webserver now has a /robots.txt page - which prevents search engines (e.g. google) reading  all the online helps.
  • A large number of bug and typo fixes more details in the change  log.

Read the change log more complete details of the changes above and a number not listed here.

NOTE: Patch files (including the 1.69h to 1.69i  patch) will no longer contain the information to change the version number at the top of each file.  It will however update the version details in version.h.  By removing this unnecessary information from the patch it is 173KB instead of 426KB.

11 Feb 2001 Dawn 1.69h has been released! [change log] [src tarball] [patchfile] [win32 binary]

This is becoming a habit, once every two days... normally I wouldn't have seen the need to release h so soon after g, only there are changes which are required for muds wanting to run the prerelease of the 'dawn 1.69 area set'.  This set is not avaliable for public download yet, but is usually avaliable upon request.

In light of that, there has still been some enhancements... most are building and debugging related, but compare has been completely rewritten... it now compares a single object to all comparable objects you are carrying.  Textsearch can search room and object extended descriptions.

When you upgrade to 1.69h the main thing to be aware of is the change in some of the directory and file locations... basically all directories containing pfiles are contained within the player directory.  arealist.txt is now in the area dir, and helplist.txt is in the help dir.

Read the change log for complete details.

9 Feb 2001 Dawn 1.69g released [change log] [src tarball] [patchfile(f2g)] [patchfile(e2g)] [win32 binary]

1.69g introduces level sorted versions of bmlist, and bolist.  A list of area short names (aslist), text searching of mob descriptions, autonoting of aborts from fwrite_wordflag(), plus a number of bug fixes (most minor).  Read change log for complete details.

7 Feb 2001 Dawn 1.69f released [change log] [src tarball] [patchfile] [win32 binary]

This release fixes a few typos/bugs and includes a number of significant playability enhancements.

Playability enhancements:
* Spinfo, cspinfo, sinfo... display spells and spell requirements to a player in bright/dim colours depending on if player has that spell or required realm/sphere/etc.
* Areas have a new field - shortname, the short name is displayed directly after the room name if enabled... this helps players know which areas they are in... if no shortname is set for an area, nothing is shown after the room name.
* The default prompt and prompt templates have been changed to use [ ]'s instead of < >'s as the less than and greater than symbols can interfer with MXP.
* The output of the inventory command can now be filtered... e.g. 'inv skin' shows only skins, 'inv food' shows only food.
* 'sell all' now will only attempt to sell items a shop keeper is interested in.
* olc can now delete mobs, objects, mobprogs and rooms.
* room echos can now be set to go over midnight boundaries, e.g. 'addecho 17 3 100 a bird sings' will echo 'a bird sings' 100% of the time on the tick between 5pm (17 hundred hours) thru 3am.
* textsearch can now search socials and helpfiles.
* new command 'socshow' to display socials in the same way 'rshow' displays rooms.
* Immortals have a new 'wiznetdefault' command to setup wiznet settings to a default config.

Bug fixes include a typo in the room delete command which removed the wrong room, and a typo preventing room bank flags from being setable in redit.

Read the changelog for complete details.

30 Jan 2001 Dawn 1.69e released [src tarball] [change log] [win32 binary]

A bug in save_area() has been fixed that was causing the mud to exit when saving a newly created area for the first time.  1.69e also introduces enhancements to riding - you can now type ride by itself to ride a rideable pet, and mounted mobs in your group no longer reduce your xp. 

28 Jan 2001 Dawn 1.69d released [src tarball] [change log] [win32 binary]

This release fixes a few issues with the new NAFF format... 1.69c was a bit rushed to get it released, and as a result a few bugs sneaked through without enough testing (the main one being relating to some affects not having an affect).  I have actually removed the 1.69c tarball and win32 binary due to the number of bug fixes and I am providing a diff from 1.69b to 1.69d.

New Features:
* scalemxp - an mxp version of scalemap with non grid perfect debugging.
* redit_rdelete - an olc command to delete unused rooms.
* mpedit_mpdelete - an olc command to delete unused mobprogs.
* textsearch - a command  to find words/vnums in mobprog code, room descriptions and object descriptions.

There have been a number of enhancements and changes, read the change log for more details.

18 Jan 2001 Dawn 1.69c released [change log] [28jan01 - the 1.69c source was removed] 

This is a significant upgrade from 1.69b.

New Features:
* Room Echo's - A system has been added to add any number of random echos to rooms - see redit's addecho.
* Oedit - AddModifer and AddFlag commands. 
* New Area File Format (NAFF) - NAFF greatly extends the flexiblity of the area file format.  Area files now look a lot more like a player file than the traditional area file.  Hard coded numbers are no longer saved to area files - instead word representations of values and flags are written. Look at the comments near the top of areas.cpp for more details on NAFF.  95% of NAFF's code is contained in areas.cpp.  Dawn's implementation of NAFF was started by Kerenos and completed/enhanced by myself.
* Ability to give mortals the immortal version of laston using game settings (intended for olc ports) - look at do_laston() for more.

Changes Include:
* The affects system has had a revamp with some of sections being redesigned... I expect object spells and skills will get some more work (only part of the affects system which hasn't changed much so far).  Oedit nolonger has addapply or addaffect.   Generic affects saving for pfiles, area files etc.
* There have been a large number of bugs and typos fixed as you will see by reading the change log.
* A number of enhancements have improved the readability of the code... for example the first table in bit.cpp you will notice the list of flag tables, if a flag table ends with _types then the bit flag system will pick 'one of', if it ends in flags then it is a bit flag table.
* Crash bugs have been fixed in the following systems:
damage() - mobprog trigger, medit_shop() - 'shop remove' with no shop, save_mobile() saving a NULL material,  set_rooms() - when last room in vnum range NULL.  Other bugs worth mentioning that have been fixed include scalemap, areamap, automap, WIN32 write_to_descriptor(),  memory leaks in oedit_show() and redit_oreset(), creation customisation and fwrite_wordflag().
* Read change log (link above) for full details.

If upgrading an existing mud:
* Backup all area files before you upgrade anything.
* Type 'dawn 2' to create the new directories.
* After mud has booted type 'asave world'.
* Reboot mud - the mud is now using NAFF.
* Shop keepers by default can no longer be killed... instead when they go below 1 hp, their hp and level is boosted... this can be disabled using one of the new gamesetting flags - disable this if you want.
* Banks are now set with a new room flag... set the bank flag on the rooms you were using as banks.

Please email me with any bugs you find.

22 Dec 2000 Dawn 1.69b has been released! 

This release has a number of changes in four areas:
* Portablity enhancements
* Removal of uncalled functions
* Removal of unused variables
* Addition of new features (cskinfo & webserver log generation (Combined Logfile Format))
Read the change log for specific details.

Dawn 1.69b related downloads:
Change log
dawnsrc-1.69a-1.69b.changelog.txt (4KB)
Full source as gzipped tarball  dawnsrc1.69b.tgz (1.1MB)  
Gzipped diff patchfile
dawnsrc-1.69a-1.69b.diff.gz (33KB) 
Diff patchfile dawnsrc-1.69a-1.69b.diff (234KB) 

10 Dec 2000 Dawn v1.69's source code has now been made publically avaliable!