- Alpha 17 released. - Reverted default MALLOC to something that fancy new 64 bit computers like. - Retooled inet/server subsystem to accommodate RCP, added creremote and LIB_REMOTE to the extra/ dir of the distribution, as well as instructions. - Recompiled Windows driver to match current unix standard config. - Finally (I hope) nailed that pesky router connection problem. - Fixed bug in LIB_LOCK that prevented carried, lockable objects from working right. - "unsnoop" and "unsnoop all" now work. - Cleaned unwatched players from "snoopreport". - /log/catch messages now have time stamps. - Fixed errors/typos in groupmod and mudconfig help text. - There is an error in the help file for groupmod. It should look like this: Syntax: groupmod [-a|-r] GROUP NAME groupmod [-c|-d] GROUP - Alpha 16 released. - Fixed a bug in grep that made it choke and halt on binary files. It still chokes, but it continues grepping after reporting the runtime. - "decre" no longer removes all channels. Note that testing encre and decre repeatedly on the same character will probably generate problems eventually. - Added LOCAL_TIME parameter to config.h. Some OS'es use UTC and offsets for timekeeping, others use a "local time" setting. Rather than try to play offset games and fail miserably, this setting is meant to address that. - Added "mudconfig" command to enable the convenient changing of some config.h parameters. - LIB_CONNECT now checks CFG_IP_UNRESTRICT as well as SAME_IP_MAX to determine if the connection should be permitted. This allows you to specify ip's that are immune from "max connection" restrictions. - LIB_CONNECT now checks each incoming connection to determine whether it is the last known ip of a SECURE user. If it is, the connection is permitted regardless of SAME_IP_MAX. - It is now possible to use the "home" command to go to other creators' workrooms. - GetPlayerList(), GetCreatorList(), and GetUserList() in PLAYERS_D can now be trusted to provide correct information (for new installs). - It is now possible to get player data from users that are logged off, by specifying the variable to the player daemon. For example: eval return PLAYERS_D->GetPlayerData("cratylus","Properties") - Beefed up groupmod to handle group adding/deleting, and enable (some) use by ASSIST. - Alpha 15 released. - Added command: groupmod. - Added commands: pause, unpause. Used to remove/restore commands from a player with behavior problems. - Recurring reboots can now be disabled in config.h with DISABLE_REBOOTS. - Added command "chancolors" to toggle seeing colored channel messages. This is to limit the annoyingness of people who add pinkfish color codes to their channel messages. - Fixed a problem in LIB_SHOOT that prevented targeting specific victims, as well as a runtime bug when shooting things in your inventory. - Fixed a runtime in CHAT_D that mishandled unknown chans. - If EVENTS_LOGGING is set in config.h, new events added to the EVENTS_D will be logged to /log/secure/events. - If CALL_OUT_LOGGING is set in config.h, call_outs not created by privileged objects are logged (There shouldn't be any need to log call_outs initiated from within /secure). call_outs originating in /daemon are not logged either, due to the size of the resulting log growing too quickly. - Initiating flight while resting on furniture no longer corrupts a creature's short desc. - Fixed bug where "look at thing on blah" let you look at the thing even if it was invis. - Fixed bug in LIB_NPC that revealed carried invisible objects. - Alpha 13 released - Commented out annoying addr_init error in driver that spams STDERR when running on Solaris. - tc() now also prints to STDOUT. - SetItems() now works properly in tangible items (eg Orcslayer). - Fixed problem with out-of-sequence messages using TalkResponse in sentients. - Fixed incorrect behavior during automated reloads. - Fixed an incorrect inherited call in LIB_CHAIR. - local_options now has "ref" defined as a reserved word. This allows the use of "ref" as a keyword for passing variables by reference, instead of by value. For an example, see /domains/default/obj/pass_example.c - Fixed bug in router code that created problems when muds originating from the same ip connected and reconnected. - Added commands: files, doctool, showfuns, createfix, findfun, pk, find, chanremove, chancreate. - Got rid of confusing null long desc on doors when initfixed or reloaded. - Got rid of a null error message in reply command when the target is missing. - Fixed problem in help daemon that prevented race help from displaying. - Revolvers reimplemented. - Driver options now output verbose warnings about inherited function conflicts and unused variables if you use local_options.debug at compile time. - Eliminated various function conflicts in lib files. - Isolated unused variables in /lib file function arguments with true() and false(). - true() and false() now can take any number of arguments, and always return 1 and 0, respectively. - Fixed bug in "home" command. - mudos.cfg now has a time to swap value of 0, to disable swapping. I've seen now more than one driver crash due to a swap bug, and I'm not sure what the problem is, so until I do know, swapping will be disabled by default. - Added RELOAD_D for objects that need to somehow get themselves reloaded without incurring recursion problems. - ROUTER_D now resets every 25 hours or so. - The banish command now has an "-s" option to banish offensive substrings from names. - Corrected problem in addraces command that distorted which races could be used by players. - Modified make_workroom so that newbie creators who hose their workroom can "restore workroom" without first having backed it up. - Fixed bug in snoop command that caused bizarre situation when snooping yourself using your capitalized name. - "X looks around" and "checks possessions" messages are now suppressed in meeting rooms. - Fixed reporting of object mass so that both the mass of the container and its contents are returned. This corrects a LIB_MOUNT error. - Fixed archaic parse_* lines in some verbs that interfered with VERBS_D. - Fixed "say to". - Added new features to each race file. - The findfun command no longer fails with timeouts and it executes extremely fast due to the use of the new daemons. - Fixed QCS bug that prevented adding includes. - Added features to races: body type, size, average mass, whether they can swim, and what they breathe. - New daemon: FILE_D, traverses the lib hierarchy, compiles a list of all files, and maintains the cached data for querying. Full refreshes of the data happen relatively quickly, in under a minute, and does not lag the mud much. - New daemon: FUNCTION_D, uses FILE_D to determine inheritable lib filenames, then queries each for the names of functions defined. Full refreshes of this data happen slowly, several minutes or longer. However, the mud is not much lagged during this process except while processing very large files (e.g. /lib/body.c). - Fixed "first admin bug" that failed to add channels. - Implemented emotes bugfix provided by Aransus. - Modified the template realm somewhat. There are now flask examples, and each wiz gets their own toychest, rather than using one default file for all. - Added to QCS: Set/AddTerrainType, SetDefaultLanguage. - Added room terrain types. - Non-DS code no longer needs ::create() in the create() fun to work. - Campus meeting room no longer blocks teleports. - Added stable with mountable horse south of the town schoolhouse. "mount horse" and "dismount". - Mounts must now be befriended before being mounted. To end your ownership, "abandon" the mount. - Fixed QCS bug when running in Windows that turned '\n' into '/n' - Added DEFAULT_PARSING to config.h. If this is set to 1, commands that normally fail with an ambiguity error ("Which X do you mean?") will instead default to the first eligible object. - Fixed problem on i3 router that caused muds to share fd's. - Added MAX_COMMANDS_PER_SECOND to config.h to enable a cap on scripters. This affects players only. - Fixed race-based skills. See http://dead-souls.net/ds-creator-faq.html#2.45 - Added LIB_FLASK (for canteens, coffee cups, etc). Flasks can now be filled at the town's riverbank and at the shore. - Added verbs: pour, fill, empty. - Removed encre/decre from admintool. It was goofy and dangerous. - Added SetActionsMap() to LIB_ROOM, to enable room actions with variable frequencies. The old SetAction() method also still works. - Added RETAIN_ON_QUIT define in config.h, and SetRetain() and GetRetain() to LIB_PERSIST. Any object that returns 1 on GetRetain() is retained across logons, regardless of RETAIN_ON_QUIT. Any object that return 0 on GetRetain() is removed on quit, regardless of RETAIN_ON_QUIT. Changing RETAIN_ON_QUIT requires a reload of every object, or a restart of the mud. - Added sample potions to /domains/town/meals and to Oana's magic shop. - Empty bottles now behave properly across logons. - cp and mv now take -f as a flag to force overwriting. - Removed channels (except admin ones) stay removed. - Fixed double-logging in channel messages. - Recompiled windows binary with new options and fixed socket_efuns. - Added well-door system. - Changed stat command to handle economies that do not have gold. - Idle times now report in a human readable format. - SERVICES_D: unk-src error now triggers an INTERMUD_D reload. - Router verified to accept over 400 separate mud connections. - Default connection mud for the telnet room is now Dead Souls Demo. - Added cambot to conference room. - Added commands: files, doctool, showfuns, createfix, findfun, pk. - Fixed a sockets bug in the driver (thanks to Zac@StarMUD) - Removed intergossip as a default enabled channel. Added dchat as a default enabled channel. - Added Nimrod's recursive/numbered grep enhancements. - Added numerous back-compat funs and obs for TMI-2 porting. - Added numerous back-compat funs and obs for Nightmare 3 porting. - Added daemons: ESTATES_D, ALCHEMIST_D (materials properties). - Router admin commands will now also take ip+port. - It is now possible to mudlist, rwho, and tell to a mud using its ip address+port. For example: rwho 71.234.154.99 6666 - The muffing commands now also affect tells. "earmuff Tatianna" will prevent you from hearing channel messages *and* tells from tatianna. You can also muff ip address + port, example: earmuff @194.70.3.211 3000 - "tell history" now provides a limited history of your tell messages. - Fixed a problem adding currencies with admintool when there are fewer than 3 existing currencies. - Reverted to the old Nightmare calendar: mud time of day and sky events should make more sense now. - Added SAME_IP_MAX define in config.h, to help limit bot spam/abuse. Default limit is 4 connections per IP. - Fixed login problems in bots. - Raised ulimit in start script to 1024. - Dying creatures can no longer be observed to remove armor and weapons. - Ludicrously long environment descriptions no longer break when displayed. - "alias foo" no longer removes the "foo" alias, it merely displays it. To remove that alias, the new way is: unalias foo - New players are 100% proficient in the language Common, and it is set as their default language. - You may now "speak in LANGUAGE" to set your default "say" language to what you specify. To make it so that "say foo" comes out in Rigellian: speak in rigellian say foo - Creators don't lose stamina when moving around while invis. - Added sefuns check_string_length and print_long_string to handle Strings Of Unusual Size. - Removed call_outs from PING_D. - Added DeadMan switch to PING_D. - Added logon notification channel . - Added A_CUSTOM as an all-purpose armor type that can be worn on most body parts. - Enhanced channel and event logging to the router. - Fixed potential channel spoof and channel admin problems in the router. - Modified various commands to deal with Load-Addled Game Syndrome. - Modified LIB_BOOK to avoid tedious reload on init(). - Added player bots for load testing (tested on Linux with approx 250 player bots, all active, with no noticeable lag on a crappy 1.2GHz laptop). - Beefed up the router command. - Character creation now does not save the playerfile until the entire creation process has completed. - Made AUTO_WIZzing a choice for the user, rather than truly automatic. - Added privacy field to template workroom. - Added LIB_MESSAGES fix suggested by Memrosh. - Fixed a LastLocation bug in LIB_PLAYER. - Fixed shadow bug in the remote control. - Added catch_tell room to arch area. - Fixed reaper bug that destructed shadows. - Fixed a bug in room messages during eventMoveLiving(). - Added Praxis domain. - Fixed customdefs issue in QCS with files in /domains. - Added FILE_D. - Added LIB_MOUNT, LIB_DOMESTICATE. - Fixed carry leak in arches during shutdown. - Fixed save problem in arches during shutdown. - COMPAT BUSTER: changed GetCustomPath and GetCustomCommand to query_custom_path and query_custom_command. - Cleaned up strange formatting error in old sefun docs. - Added sefun: query_local_functions. ---- 2.1.1 --- - Fixed a bug in chat.c that sent comms on new local channels to the router (!!). - Fixed "return" command bug and various travel message bugs in LIB_CREATOR and LIB_PLAYER. - Eliminated savefile data leak in admins on shutdown. - Fixed overly aggressive reaper that killed shadows. - Admintool security flaw has been removed by removing encre and decre from its menu. - It's no longer possible to screw up admintool by removing too many currencies at once. - Updated verbs/commands: reload, gauge. - "Can't drop things in a no-teleport room" bug fixed. - Default channel removed: intergossip. - Default channel added: dchat. - Players can no longer use the force command. ---- 2.1 --- - Fixed relative include problem in QCS. - Fixed memcheck. - Added vis and invis to list of customizable messages with the message command. - Fixed bug in ls command with the -b flag. - Fixed index problems in chat.c with class channels. - Fixed a problem when looking at dummy items (e.g. buttons and doors). - Fixed color code problem in the arch room screen. - Fixed problem in look verb that caused problems looking at objects that inherit LIB_DUMMY. Tons of thanks to Daelas for this save. - Unused debug lines removed, general cleanup of ugly or unnecessary comments. - Miscellaneous tightening up of domain objects such as lowering the max health of newts, etc. - Miscellaneous tidying up of lib logic, such as preventing the fly command to commence flight whether already flying or not. - KNOWN ISSUES: o The blackjack table is officially on the "I'm not fixing it" list. It is left as an example of game code, but you are warned that it contains some subtle and not-so-subtle errors in its calculations. o addr_server.exe win32 binary removed, due to bugginess. Since it hasn't been working for a while, and it was only noticed by a bugtester, it's going away until post-2.1 o A peculiarity in grammar with multiple corpses can be seen. This is partly due to a MudOS idiosyncracy which will be addressed in the future. o In some cases combat events appear slighly out of order. This will be addressed in a rewrite of combat objects in the future. ---- 2.0r29 --- - Fixed finger daemon to not display ip addresses to players. - The verb copy now handles relative paths more gracefully. - LIB_TEACHER can now know all languages with SetAllLanguages(1) - Standard chairs and beds can no longer be taken when someone is using them. - Fixed church elevator buttons. - Fixed problem with "look at pile". - Fixed problem with examining objects on surfaces. - It is now also possible to look at things carried by others, e.g. "look at shirt on fighter". - Remote finger no longer betrays invisible people. - Added sefun: alpha_strip - Room descriptions now indicate which piece of furniture a creature is resting on, if applicable. - Objects on surfaces than can be sat or lain in are not visible or accessible if someone is lying or sitting on that surface. e.g., you can't examine or get the glasses under your butt on the chair. - SetMaxHealthPoints now works as one would expect. The kitchen rat is invincible no more. - Look at problem fixed. - Bank tellers (Zoe) now do a better job of retaining the correct surcharge on currency withdrawals. - Added /secure/obj/glasses.c as a creation object. Since you wear them, it's hard to lose them accidentally. Since few things are called "glasses", they won't get in the way of creating objects. New creators will have them automatically added to the table in their sample room. - One may now have a smiley in front of a channel message without it turning into an emote. - Fixed a conflict in the parsing system. - Verbified "force". - Fixed vendor bugs: appraising at zero, confusion with similar items. - Beefed up the answers_to sefun, to handle adjectives. - Fixed a couple of bugs in the lead/follow system. - Fixed null error when selling to non-vendors. - Fixed a channel log bug that logged to one of two files for some channels, depending on whether someone was logged on (!!). - Fixed bug in meals that prevented empty bottles replacing full ones. - Fixed a bug in the MudOS parser that screwed up things with apostrophes. ---- 2.0r28 --- - Fixed minor bug in body.c that interfered with collapsing. - Fixed message boards. - Added command: snoopreport - Fixed bug that caused players to be essentially immortal. - Player death history is now accurately recorded. - The command mudlist now ignores colors. ---- 2.0r27 --- - Fixed currency problem in dying NPC's. - Added commands: env, polyglottize - Fixed "about" verb. - Tweaked snoop daemon and snoop objects. - Added pay-for-lessons feature in language teachers. - Fixed bug in LIB_EXITS that hosed various things, including wandering NPC's. - mv command no longer overwrites an existing destination file. - Fixed campus rooms with hosed CanReceive()'s that horked logins. - Turned "move" command into "transfer", to address a conflict with the "move" verb. - Fixed bug in admintool that prevented assistant admins from using it. - Fixed bug in eval that prevented assistant admins from using it. - i3router: dynamic channel data is now persistent (newly created channels won't disappear when the router resets). - i3router: fixed a bug in chanlist-reply that stopped the channel list being sent to LPUni lib muds. - Modified install process to handle compiling on Wolfpaw servers. - Added code example domain that was donated by Daelas @ Moraelinost. - Added new podium, conference room, and margins command that were donated by Daelas @ Moraelinost. - i3router: correct password is now honored. - Fixed help daemon bug that displayed race help twice. - QCS: creating an enter no longer wipes exits from an existing target room. - Fixed bug in rescue login (Thanks, Nulvect). - Fixed bug in tell command that mishandled mud name ambiguity. - Fixed bug in CHAT_D that failed to return remote channel listeners. - i3router: fixed bug that incorrectly rejected targeted emotes. - Killing a creature super-ultra-extremely fast no longer generates multiple corpses. - QCS: Fixed some money problems with both how much things cost and how much money they have. - Modified encumbrance to be rather less cumbersome. - Mailer default behavior now is to notify you when you receive new mail. Already created characters do not have this default. - Fixed opacity problem in worn storage. - Fixed message board in arch room. ---- 2.0r26 --- - Plugged some serious security holes ( http://dead-souls.net/news.html#16jun06 ) - Cleaned up some unnecessary call_outs in lib objects. - Added LIB_PULL. - Added Virtual Campus domain. - Fixed qcs problem that screwed LIB_DUMMY. - Fixed local channel emote problem in RESTRICTED_INTERMUD mode. - Added sefun: alpha_crypt. - Added conference room east of the Adventurer's Hall. - admintool no longer lets you remove the last currency. - COMPAT BUSTER: UNIX version now uses MD5 crypt, like the Windows version. Character files created prior to using this driver will not work with this driver. - rwho no longer cares if the issuer of the command is invisible. ---- 2.0r25 --- - r24 had some unfortunate licensing problems attached. r25 includes a Win32 native binary that does not depend on any GPL code to run. - This release is hereby dedicated to Saquivor, who was instrumental in getting this binary compiled. - r25 lib does not differ from r24 or r23. Unless you need the native Win32 binary, you should skip this release if you have r23 or r24. ---- 2.0r24 --- - Ran into some trouble when releasing r23. For technical reasons, it's being re-released as r24. ---- 2.0r23 --- - Fixed a bug that sent local channel data to the i3 router. Sorry about this, guys. As soon as I found this, I killed it. It appears to have affected r22 only. - Fixed a conflict between room SetActions and LIB_FISHING. - It is no longer possible to fish while asleep. - Admins can no longer decre themselves. - Modified MudOS source to compile on IRIX using Nekoware. - Fixed PK bug. Added PLAYER_KILL to config.h . - Fixed problem with monitor failures and runaway snooper generation. - Fixed gate command, renamed it stargate.c. - Added Administrator's Guidebook. Initial draft available at http://dead-souls.net/guide/ - Added downloads.html to doc pages. - Added verbs.html to doc pages. - Added i3who command to list who data on all muds. - Fixed a germ bug that triggered a combat message. - Fixed an invalid index bug in STARGATE_D and in LIB_STARGATE. ---- 2.0r22 --- - Changed UNIX config and start scripts to assume Bourne shell rather than bash. - Fixed "look in" bug in transparent containers. - Added stargate lab east of the Creators' Hall. - Added sefun: compare_array. - Fixed divide-by-zero bug in net worth calculator. - Fixed "look in" bug in opaque containers. - Fixed snoop and monitoring bugs. - Added SetAction to rooms, for time-based events. See /domains/town/room/shore.c for an example. - Fixed plural limb problem in RACES_D help. - Worn/wielded items must be removed/unwielded before they can be dropped with "drop all". - Worn/wielded items must be removed/unwielded before they can be sold with "sell all". - Consolidated Windows and UNIX distributions into a single download file. - Converted class variables in STARGATE_D to mappings, and fixed "inbound/idle gate" bug, as well as room message bug. - Updated FAQs and miscellaneous documentation. - Fixed bug in RESTRICTED_CHANNELS. - Cleaned up odd function names in LIB_LEAD. - Tightened up earmuffing, added muffing of entire muds. - Fixed a bug in look verb that prevented looking at dummy items. - Fixed a few bugs in trainers. Added a SetNoSpells() lfun to control whether a trainer automatically can teach the spells she knows. - Fixed noisy index error in LIB_GERM. - Fixed CHAT_D bug that prevented talking on some channels. - Fixed problem in LIB_FISHING that made one's catch disappear. - Fixed opacity for containers. If an item's opacity is about 33 or below, its contents are visible on casual examination. Otherwise, you have to "look in" it.