Uodemo+
A list of supported environment variables:
Publish 15+: UODEMODLL = <filename (DLL file)>
Publish 14+: USEACCOUNTNAME = YES/NO
Publish 14+: MANUALLOGON = YES/NO
Publish 13+: IGNOREDYNIDX0 = YES/NO
Publish 12+: REGKEYNAME = <registry key name>
Publish 12+: LOCALCOUNSELOR = 1/2/3/Seer/Counselor/Senior Counselor
Publish 11: REALDAMAGE = YES/NO
Publish 8+: SAVEDYNAMIC0 = YES/NO
Publish 6+: LOGFILE = <filename> (Razor format)
Publish 4+: RUNDIR = <directory>
Publish 3+: DATFILE = <filename>
By default: SERVERNAME = <directory>
Contents
Publish 15
The fifteenth publish of the uodemo+ adds an option (UODEMODLL) allowing you to code your own DLL which will be added to the demo's address space. Considering the technical know-how required to produce a usefull DLL you can redirect your questions to the official UoDemo's forum : UO Demo Forum. Download UoDemo+ (Publish 15)
Publish 14
The fourteenth publish of the uodemo+ adds an option (USEACCOUNTNAME) to process the Account Name as if it were an AccountID! AccountID = atoi(AccountName). You can now also disable the automatic logon process by setting MANUALLOGON to YES. A possibility to redirect scripts has been introduced. The formula is "SET <scriptname>.m=<newscriptname>.m". The new Ultima Online Demo script still requires the .q extension at the end of its file name. Download UoDemo+ (Publish 14)
Publish 13
The thirteenth publish of the uodemo+ introduces the IGNOREDYNIDX0 environment variable, if set to YES then the file "dynidx0.mul.q" is ignored when parsing the "dynamic0.mul.q" file. Loading will take longer but you can now edit the DYNAMIC0 file without having to worry about corrupt indexes. If SAVEDYNAMIC0 is used (see Publish 11) then the DYNIDX0 file will still be saved! Download UoDemo+ (Publish 13)
Publish 12
The twelfth publish of the uodemo+ reinstates counselor support. Unreferenced code that activates counselor support was discovered and has been re-enabled. To become a counselor set LOCALCOUNSELOR to a number 1, 2 or 3, or a string indicating the counselor type you want to be: Seer/Counselor/Senior Counselor. Also, a bug preventing the demo server from loading when Kingdom Reborn (or 3D client) was installed has been fixed, along with a complete redesign of how the demo locates the client data files. You can now use REGKEYNAME to override the registry subkey, default is "1.0". The REALDAMAGE option has been removed. Download UoDemo+ (Publish 12)
Publish 11
The eleventh publish of the demo allows you to disable the server function by setting the port in server.txt to 0. Also a Sleep Patch was introduced. It was also discovered that the demo divides all damage done by two. Starting from this publish you can set REALDAMAGE to YES to disable this division. Download UoDemo+ (Publish 11)
EDIT: Turns out that that divide by two was intended [1]. Therefor the REALDAMAGE option will be removed in the next publish!
Publish 10
Publish ten introduced PvP possibilities. The original demo contained more than enough functions and support for multiple connections. Those functions were only taken binary space in the executable, publish 10 gave those functions their full glory again. If the server function cannot start the demo will exit, this was fixed in Publish 11. Download UoDemo+ (Publish 10)
Publish 9
Starting with publish nine you can run the normal Ultima Online Client and the Ultima Online Gold Demo concurrently, this was done by renaming the Window Title and the File Mapping object. Download UoDemo+ (Publish 9)
Publish 8
The eight publish re-enabled the saving of the dynamic0.mul file! The uodemo contains code to write back this file but the call to the function was left out when Origin Systems, Inc. made their final compile of the demo. Starting with this publish you can set an environment setting SAVEDYNAMIC0 to YES to enable a call to this function on exit. Be careful, the uodemo is even capable of modifying the DAT file without requiring extra patches. Download UoDemo+ (Publish 8)
Publish 7
The seventh publish added a patch to re-enable debug logging. The Ultima Online Gold demo contains many debug strings but the actual debug output function was not compiled in. To view this output you must use a utility like DebugView/DbgView. Leave the uodemo running for a few hours and enjoy the show. Also this patch corrects a bug found in the packet logger added in publish 6. Download UoDemo+ (Publish 7)
Publish 6
Starting with publish six you can use a environment setting LOGFILE to enable logging of the packets that are send between the uodemo client and uodemo server. The log file created follows the same structure as the popular UO Razor macroing utility. Warning, this version contains a bug and to avoid corrupt log files you must use publish 7. The log files proove that the server code is very authentic. Download UoDemo+ (Publish 6)
Publish 5
Publish five was a small release to accommodate for easier debugging of the ExtractScriptBytes function (or whatever you want to name the function at address 0x4283E4). The function extracts obfuscated tokens (or strings, quoted strings or constants) from the M script files. Download UoDemo+ (Publish 5)
Publish 4
With publish 4 an environment setting "RUNDIR" was added to override the default ".rundir" directory name. This way you can make different versions of the .rundir files. Starting with publish 4 the version identifier was modified to include uodemo+ and its publish number. Download UoDemo+ (Publish 4)
Publish 3
Publish three added an environment setting DATFILE, which you can use to override to default "uodemo+.dat" file. This way, you can place "uodemo+.dat" and force usage of the ".rundir" by setting DATFILE to a file that does not exist. Download UoDemo+ (Publish 3)
Publish 2
It was discovered that the uodemo contained code to load files directly from disk (without using uodemo.dat). The second publish of uodemo+ re-enabled this by analyzing and patching in the missing code. With success. Starting from publish 2 you can delete (or rename) the uodemo+.dat. You must extract all the files from the DAT archive to a "..\.rundir" directory and ensure each file has a ".Q" extension. Download not available!
Publish 1
The first publish of uodemo+.exe renamed the uodemo.dat to uodemo+.dat. This was done to allow working on a patched DAT archive while not touching the original one. Download UoDemo+ (Publish 1)