Protocol

Patch Server Protocol

To do connection and issue request in the patch server, you must follow procedure.
First [ please connect to the compassion.owo.com:8888 ].
And please send the HelloRequest.
The server reacts the PatchServerTransfer depending.
Compassion (sympathy? Pity? From please cut off connection.
And please connect to the IP and the Port which are returned to you. That time you send the HelloRequest to the new server.
That returns the NoticeBlock. There is a thing where that time you connect to the patch server, when communication is received, as for you it is possible to start searching the patch.
First please send the PatchListRequest.
Can Version information find from the midst of the verinfo.mul, probably will be.
There are two Version there. The PatchListRequest for first ones which grasp the 3uqf PatchListData should be sent.
And please send request because of the 2nd Version, grasp that data.
You are the expectation which acquires the list of the available patch in the past.
You sending the PatchDataRequest, can require the actual patch.
You receive the PatchData, probably will be.
When you finish downloading the available patch, it is possible to apply that patch.
Until and, the above that there is no patch of the new Version, please send the PatchListRequest.

HelloRequest
0x15 0x00 0x00 0x00
PatchServerTransfer
0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
IP Address Port NoticeBlock
0x01 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x02 0x00 0x00 0x00 TextLength
Notice data... (TextLength bytes)
PatchListRequest
0x01 0x00 0x00 0x00 VersionTextLength
VersionText... (the i.e. Win32_UO_Gold) Version
PatchListData
Filename Length (0=done) Filename... File size
Repeat until done...
PatchDataRequest
0x02 0x00 0x00 0x00 Filename Length Filename... (length bytes)
0x00 0x00 0x00 0x00
PatchData
Filename Length Filename... File size Block Length (0=done)
Block data... (Block Length bytes)
Read Block Length/Block Data until done

UOX Protocol

Create Character (00)
Byte 00h
Dword 0
Dword 0
Byte 0
Byte [ 60 ] Name
Byte Gender
Byte Strength
Byte Dexterity
Byte Intelligence
Byte Skill 1
Byte Value 1
Byte Skill 2
Byte Value 2
Byte Skill 3
Byte Value 3
Word Skin
Word Hair Style
Word Hair Color
Word Beard Style
Word Beard Color
Byte 0
Byte Starting City
Dword 0
Dword 0
Word Shirt Color
Word Pants Color
Walk (02)
Byte 02h
Byte Direction
Byte Sequence
Word Unknown
Talk Client (03)
Byte 03h
Word Data Size
Byte Mode (0=say,2=emote,8=whisper,9=yell)
Word Hue
Word Font
Byte [ ] Text
Attack (05)
Byte 05h
Dword Serial
Double Click (06)
Byte 06h
Dword Serial
Get Item (07)
Byte 07h
Dword Serial
Word Amount
Drop Item (08)
Byte 08h
Dword Item Serial
Word X
Word Y
Byte Z
Dword Container Serial
Single Click (09)
Byte 09h
Dword Serial
Status (11)
Byte 11h
Word 42h
Dword Serial
Byte [ 30 ] Name
Word HP
Word HP MAX
Byte FFh
Byte 00h
Byte Gender
Word Strength
Word Dexterity
Word Intelligence
Word Stamina
Word Stamina MAX
Word Mana
Word Mana MAX
Dword Gold
Word AR
Word Weight
External Command (12)
Byte 12h
Word Data Size
Byte [ ] Command
Equip Item (13)
Byte 13h
Dword Item Serial
Byte Layer
Dword Container Serial
Put Item (1a)
Byte 1ah
Word Data Size
Dword Item Serial
Word Item ID
Word Item Amount
Word X
Word Y
Byte Z
Word Hue
Byte Status
START (1b)
Byte 1bh
Dword Serial
Dword 0
Word ID
Word X
Word Y
Byte 0
Byte Z
Byte Direction
Dword 7fh
Dword 0
Word 7
Byte Status
Word 960h
Word 0
Dword 0
Talk Server (1C)
Byte 1Ch
Word Data Size
Dword Character Serial
Word Character ID
Byte Type
Word Hue
Word Font
Byte [ 30 ] Name
Byte [ ] Text...
Remove Item (1d)
Byte 1dh
Dword Item Serial
Teleport (20)
Byte 20h
Dword Serial
Word ID
Byte 0
Word Skin
Byte Status
Word X
Word Y
Word 0
Byte Direction
Byte Z
Walk Deny (21)
Byte 21h
Byte Sequence
Word X
Word Y
Byte Direction
Byte Z
Walk OK (22)
Byte 22h
Byte Sequence
Byte Status
Open Container (24)
Byte 24h
Dword Serial
Word Gump
Word Data Size
Word Number of Items
Loop
Dword Item Serial
Word Item ID
Byte 0
Word Item Amount
Word Item X
Word Item Y
Dword Container Serial
Word Hue
Endloop
Add Item (25)
Byte 25h
Dword Item Serial
Word Item ID
Byte 0
Word Item Amount
Word Item X
Word Item Y
Dword Container Serial
Word Item Hue
Bounce (27)
Byte 27h
Byte Where
Death Menu (2c)
Byte 2ch
Byte Choice
Wear Item (2E)
Byte 2Eh
Dword Item Serial
Word Item ID
Byte 0
Byte Layer
Dword Container Serial
Word Hue
Control (33)
Byte 33h
Byte Command (1=pausex and 2=restart)
Status Request (34)
Byte 34h
Dword Unknown
Byte Type
Dword Serial
Skill Update (3A)
Byte 3Ah
Word Data Size
Byte List Type (ff=single and No loop)
Loop
Word Index
Word Skill
Word Base
Byte LOCK Status
Endloop
Word 0
Vendor Buy (3b)
Byte 3bh
Word Data Size
Dword Serial
Byte Number of Items (0=clear message)
Loop
Byte Layer
Dword Item Serial
Word Item Amount
Endloop
Container Content (3c)
Byte 3ch
Word Data Size
Word Number of Items
Loop
Dword Item Serial
Word Item ID
Byte 0
Word Item Amount
Word Item X
Word Item Y
Dword Container Serial
Word Item Hue
Endloop
Set Light (4f)
Byte 4fh
Byte Level
Client Message (53)
Byte 53h
Byte Message (1=no char,2=char exists,3 & 4=can't connect,5=char IN world,6=login problem, 7=idle and 8=can't connect)
Sound Effect (54)
Byte 54h
Byte 1
Word Effect
Word 0
Word X
Word Y
Tech Stuff 2 (55)
Byte 55h
Byte 5bh
Byte 0ch
Byte 13h
Byte 03h
Plot Course (56)
Byte 56h
Dword Serial
Byte Action (1=add,5=delete,6=toggle edit)
Byte Pin Number
Word Pin X
Word Pin Y
Select Character (5d)
Byte 5dh
Dword EDEDEDh
Word 5661h
Byte 69h
Byte [ 60 ] Character Name
Byte Character Index
Dword 0
Set Weather (65)
Byte 65h
Byte Weather (FFh=Dry,0=rain,1=storm,2=snow,3=thunder
Byte Unknown
Byte 10h
Book Pages (66)
Byte 66h
Word Data Size
Dword Item Serial
Word Number of Pages
Loop
Word Page Index
Word Number of Lines
Loop2
Byte [ ] Text (0==EOL)
Endloop2
Endloop
Text Change (69)
Byte 69h
Word Data Size
Byte [ ] Unknown
Target Char (6c)
Byte 6ch
Byte Target Type
Dword Character Serial
Byte Check Crime
Dword Item Serial
Word X (ffff=cancel)
Word Y (ffff=cancel)
Byte Unknown
Byte Z
Play MIDI (6d)
Byte 6dh
Word MIDI
Do Action (6e)
Byte 6eh
Dword Serial
Word Action
Word 5
Word Direction
Word 0
Byte 0
Trade (6f)
Byte 6fh
Word Data Size
Byte Type (0=start,1=cancel,2=change checks
Dword Character Serial
Dword Item1 Serial (only exists for type0)
Dword Item2 Serial (only exists for type0)
Byte 1 (only exists for type0)
Byte [ 30 ] Name (only exists for type0)
Special Effect (70)
Byte 70h
Byte Type (0=moving)
Dword Character Serial
Dword Trigger Serial
Word Object ID
Word X
Word Y
Byte Z
Word Trigger X
Word Trigger Y
Byte Trigger Z
Word 906h
Word 0
Word Explode
Message Board (71)
Byte 71h
Word Data Size
Byte Type (0=draw,1=get posts,2 & 3=get body,4=ack dl,5=post,6=delete)
Dword Serial (only exists for type0)
Byte [ 20 ] Name (only exists for type0)
Mode Set (72)
Byte 72h
Byte War Mode
Word Unknown
Byte Unknown
Ping (73)
Byte 73h
Byte Value
Buy Details (74)
Byte 74h
Word Data Size
Dword Container Serial
Byte Number of Items
Loop
Dword Price
Byte Name Length
Byte [ ] Name
Endloop
Rename Character (75)
Byte 75h
Dword Serial
Byte [ 30 ] Name
External Move (77)
Byte 77h
Dword Serial
Word ID
Word X
Word Y
Byte Z
Byte Direction
Word Skin
Byte Status
Byte Text Color
Create Item (78)
Byte 78h
Word Data Size
Dword Serial
Word ID
Word X
Word Y
Byte Z
Byte Direction
Word Skin
Byte Status
Byte Text Color
Loop
Dword Item Serial
Word Item ID
Byte Item Layer
Word Item Hue
Endloop
Dword 0
Gump Message (7c)
Byte 7ch
Word Data Size
Dword Serial
Word Gump
Byte Title Length
Byte [ ] Title
Byte Number of Lines
Loop
Word Image ID
Word Checked
Byte Line Length
Byte [ ] Text
Endloop
Choice (7d)
Byte 7dh
Dword Unknown
Word Main Gump
Word Item
Dword Unknown
Login to Login Server (80)
Byte 80h
Byte [ 30 ] Name
Byte [ 30 ] Password
Byte Unknown
Login Error (82)
Byte 82h
Byte Error (0=no account,1=account IN use,2=account blocked, 3=no password)
Delete Character (83)
Byte 83h
Byte [ 33 ] Unknown
Byte Character Index
Dword Client IP
Paper Doll (88)
Byte 88h
Dword Character Serial
Byte [ 60 ] Name
Backpack (89)
Byte 89h
Word Data Size
Dword Container Serial
Loop
Byte Layer
Dword Item Serial
Endloop
Byte 0
Relay Server (8c)
Byte 8ch
Dword Server IP
Word Server Port
Dword Auth IP
Map1 (90)
Byte 90h
Dword Serial
Word Corner Image
Word X1
Word Y1
Word X2
Word Y2
Word Width
Word Height
Login to Game Server (91)
Byte 91h
Dword Crypt key
Byte [ 30 ] Name
Byte [ 30 ] Password
Open Book (93)
Byte 93h
Dword Item Serial
Byte Editable
Byte 1
Word Number of Pages
Byte [ 60 ] Title
Byte [ 30 ] Author
Dye Vat (95)
Byte 95h
Dword Item Serial
Word 0
Word Hue
Multi Target (99)
Byte 99h
Byte Allow Ground
Dword Serial
Dword 0
Dword 0
Dword 0
Word Multi ID
Dword 0
Word 0
GM Page (9b)
Byte 9bh
Byte [ 257 ] Unknown
Sell Details (9e)
Byte 9eh
Word Data Size
Dword Serial
Word Number of Items
Loop
Dword Item Serial
Word Item ID
Word Item Hue
Word Item Amount
Word Value
Word Name Length
Byte [ ] Name
Endloop
Sell to Vendor (9f)
Byte 9fh
Word Data Size
Dword Serial
Byte Unknown
Byte Number of Items
Loop
Dword Item Serial
Word Item Amount
Endloop
Select Server (A0)
Byte A0h
Word Server Index
Update Strength (A1)
Byte A1h
Dword Serial
Word Strength
Word HitPoints
Update Intelligence (A2)
Byte A2h
Dword Serial
Word Intelligence
Word Mana
Update Dexterity (A3)
Byte A3h
Dword Serial
Word Dexterity
Word Stamina
Spy (A4)
Byte A4h
Byte [ 148 ] Unknown
Launch Browser (A5)
Byte A5h
Word Data Size
Byte [ ] URL
Show Scroll (A6)
Byte A6h
Word Data Size
Byte Font
Word 0
Word Line
Word Text Length
Byte [ ] Text
Get Tip (A7)
Byte A7h
Word Tip
Byte Unknown
Server List (A8)
Byte A8h
Word Data Size
Byte FFh
Word Number of Servers
Loop
Word Server Index
Byte [ 32 ] Server Name
Byte Percent FULL
Byte Timezone
Dword Server IP
Endloop
Character List (A9)
Byte A9h
Word Data Size
Byte Number of Characters
Loop
Byte [ 60 ] Character Name
Endloop
Byte Number of Cities
Loop2
Byte Index
Byte [ 30 ] City Name
Byte [ 30 ] Area of Town
Endloop2
Attack OK (AA)
Byte AAh
Dword Serial
Text Entry (AB)
Byte ABh
Word Data Size
Dword Serial
Byte Type
Byte Index
Word Text Length
Byte [ ] Text
Word 101h
Word 0
Word MAX Length
Word Label Length
Byte [ ] Label
Text Entry Input (AC)
Byte ACh
Word Data Size
Dword Serial
Byte Type
Byte Index
Byte Mode (0=cancel and 1=ok)
Word Text Length
Byte [ ] Text
Unicode Talk Client (AD)
Byte ADh
Word Data Size
Byte Mode (0=say,2=emote,8=whisper,9=yell)
Word Hue
Word Font
Byte [ 4 ] Language
Byte [ ] Text
Unicode Talk Server (AE)
Byte AEh
Word Data Size
Dword Serial
Word ID
Byte Type
Word Hue
Word Font
Byte [ 4 ] Language
Byte [ 30 ] Name
Byte [ ] Text
Death (AF)
Byte AFh
Dword Character Serial
Dword Item Serial
Dword 0
Show Gump (B0)
Byte B0h
Word Data Length
Dword Serial
Dword Gump
Dword 6eh
Dword 46h
Word Layout Length
Byte [ ] Layout
Word Number of Lines
Loop
Word Line Length
Word [ ] Text
Endloop
Gump Choice (B1)
Byte B1h
Word Data Size
Byte [ ] Button Data
Popup Help (B6)
Byte B6h
Byte [ 8 ] Unknown
Profile (B8)
Byte B8h
Byte [ 7 ] Unknown
Arrow (BA)
Byte BAh
Byte Unknown
Word X
Word Y