This is a modified "UoDemo.exe" with the following patches applied:
  - using "UoDemo+.dat" instead of "UoDemo.dat".
  - reading directly from "..\.rundir" if file is not found in the .DAT file
  - added an environment variable DATFILE which allows you to specify which .DAT to use (default is UoDemo+.dat)
  - added an environment variable RUNDIR that allows you to override the ".rundir" subdirectory
  - replaced the version string with UoDemo+ and updated the publish identifier
  - re-organized FUNC_4283E4_ExtractScriptBytes to allow for easier debugging (and optional code insertion)
  - added an environment variable LOGFILE to log packets between "client" and "server" in Razor log format      
  - turned a "disabled" log function into a real log function using OutputDebugString (use DbgView or alike)
  - ensured a correct commit when writing to the packet log file
  - a bug in the packet log function (multi-threading problem) was fixed
  - set the environment variable SAVEDYNAMIC0 to YES to enable saving of this file (use with caution!)
  - renamed the class+window name to "Ultima Online Demo" (was Ultima Oline)
  - renamed the file mapping to "UoDemo+App" (was UoClientApp)
  - turned the uodemo into a real server, the port number in "server.txt" is used
    (use an old uo client to connect and apply a "standalone server" patch to connect without encryption)
    (WARNING: the uodemo will exit if it can't bind/listen to the defined port!)
    (to disable the bind/listen functionality please edit "server.txt" and set the port to 0)
  - added a Sleep patch to make the uodemo consume less power on modern PC's
  - REMOVED: set the environment variable REALDAMAGE to YES to disable the 'Divide Damage by Two' which OSI added to the demo
  - added an environment LOCALCOUNSELOR which will make the player running the server a counselor
      Valid String Values are: Seer, Counselor, Senior Counselor
      Valid Numerical Values are: 1, 2, 3
      Any other value will result in a non-existing, non-compliant counselor status/level
  - fixed the way the server locates the Ultima Online registry key
  - added an environment REGKEYNAME that allows you to override the Ultima Online registry key
    (HKLM\SOFTWARE\Origin Worlds Online\Ultima Online\%REGKEYNAME%)
    (defaults to 1.0 if not set)

Greetings.