[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4712: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3842)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4714: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3842)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4715: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3842)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4716: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3842)
Details about UoDemo+, Publish 14 | JoinUO Forums

Details about UoDemo+, Publish 14

The UO "Demo" is a slightly modified OSI UO Server and Client which was bundled on the Ultima Online Second Age retail CD. This forum seeks to reveal it's mysteries.

Site Admin
Posts: 372
Joined: Wed Apr 08, 2009 6:35 am
PostPosted: Thu Jan 14, 2010 2:47 pm
I've made a new UoDemo+ that allows you to log on to different accounts and create characters. Deleting characters won't work (yet!), because OSI disabled this in the demo.

This comes with two client-side patches and several server-side patches. The client-side patches will disable the automatic logon process so you can type an account number and create/select a character to log on with. The server-side patches are plenty and modify where the core stores the 'Account ID/Number' and how it is processed.

Because the new options may be confusing let me first explain the differences...


Game Logon: automatic
Account Password: ignored
Account Logon: 'Account ID' equals 'Client IP Address'
Account Creation: 'Account ID' equals 'Client-Side Logon Key'


Game Logon: automatic but can be disabled by using "MANUALLOGON"
Account Password: ignored
Account Logon: 'Account ID' equals 'Client IP Address'
Account Creation: 'Account ID' equals 'Client IP Address'


Game Logon: automatic but can be disabled by using "MANUALLOGON"
Account Password: ignored, but ...
... if the 'Account Name' is valid than the password must be empty
Account Logon: 'Account ID' defaults to 'Client IP Address' but ...
... if 'Account Name' inside the packets is set and non-zero and is a number then ...
... the 'Account Name' is converted to an 'Account ID'
Account Creation: 'Account ID' defaults to 'Client IP Address', but ...
... if 'Account Name' inside the packets is set and non-zero and is a number then ...
... the 'Account Name' is converted to an 'Account ID'

NOTE: Only the localhost is allowed to use 2130706433 (127.0.0.1) as an 'Account Name'.
This gives uodemo+ server operators the chance to have an account decidated to them.

I have modified the demo so that when an 'Account Name' is found in the packet it will be verified. The server will respond with error codes using previously unused server code already available in the uodemo.exe.

New accounts and characters will only be stored in the Dynamic0.mul.q file if you enabled SAVEDYNAMIC0. This is on exit only so if the Ultima Online demo crashes for some reason everything will be lost.

UoDmClnt, Publish 4 has the MANUALLOGON enabled by default and there is no way to disable it. Use an older version for older functionality.

I do plan to make CharacterDelete (packet 0x83) work again, the demo server is receiving the packet but is ignoring it:
HandlePacket83_CharacterDelete.jpg
HandlePacket83_CharacterDelete.jpg (108.85 KiB) Viewed 3417 times

The packet reply for this packet (packet 0x86) is in the demo server code too but unreferenced. I'm planning to link the two functions and provide a working CharacterDelete for the UO demo.

This patch is pretty experimental, some feedback would be nice ;-).
<Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything

Site Admin
Posts: 372
Joined: Wed Apr 08, 2009 6:35 am
PostPosted: Fri Jan 15, 2010 6:20 pm
Small update: with the help of Derrick a small video has been created demonstrating how to use those new options:
(Codec=MP4V)

NOTE: the Editor running around in Ocllo is missing frames, that's because my computer couldn't keep up with recording.
<Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything

Return to UO Demo

Who is online

Users browsing this forum: No registered users and 10 guests