UO Protocol Guide
This packet guide was created by Wyatt and contains description of all Ultima
Online protocol’s packets since T2A until KR.
Note: I don't know If Wyatt continue updating this file on his Site, anyway we found many errors in Original file and fix them, Kons.
Contacts:
Wyatt: wyatter@gmail.com, www.ruosi.org
Kons: www.kingdomreborn.it | http://www.uodev.de/viewforum.php?f=66
Last Update Date: 16/07/2009 ( See end of file for changes )
0x00 – Character Creation | |
Create a new character | |
| |
byte | ID (00) |
dword | 0xedededed |
dword | 0xffffffff |
byte | 0 |
char[30] | Character Name |
byte | Gender and Race: (0=human male,1=human female, 2=elf male,3=elf female) |
byte | Strength |
byte | Dexterity |
byte | Intelligence |
byte | Skill 1 |
byte | Skill 1 Amount |
byte | Skill 2 |
byte | Skill 2 Amount |
byte | Skill 3 |
byte | Skill 3 Amount |
word | Skin Color |
word | Hair Style |
word | Hair Color |
word | Beard Style |
word | Beard Color |
word | Starting City |
word | 0 |
word | Slot |
dword | Client IP |
word | Shirt color |
word | Pants Color |
0x01 - Logout | |
Character returns to main menu from character select menu. | |
| |
byte | ID (01) |
dword | 0xffffffff |
0x02 - Req Move | |
Ask the server if we can walk. | |
| |
byte | ID (02) |
byte | Direction |
byte | Sequence Number |
dword | Fastwalk Prevention Key |
0x03 - Speech | |
Send speech to the server | |
| |
byte | ID (03) |
word | Size of Packet |
byte | Mode (0=say,1=system,2=emote,6=label,7=focus, 8=whipser,9=yell,10=spell,13=guild,14=alliance,15=GM,0xc0=encoded commands) |
word | Text Color |
word | Font |
byte[*] | Text |
0x04 - God Mode Toggle | |
Toggles god mode on/off | |
| |
byte | ID (04) |
byte | God mode on/off |
0x05 – Attack/Last Attack | |
Send attack to server | |
| |
byte | ID (05) |
dword | Serial of character to attack. If Last Attack and character is null, serial is own serial. |
0x06 - Req Obj Use | |
Ask the server if we can use an object (double click) | |
| |
byte | ID (06) |
dword | Serial of item double clicked |
0x07 - Req Get Obj | |
Ask the server for item | |
| |
byte | ID (07) |
dword | Serial of item |
word | Amount of item |
0x08 - Req Drop Obj | |
Ask the server to drop an item Grid Index only since 6.0.1.7 2D and 2.45.5.6 KR 0x0F bytes | |
| |
byte | ID (08) |
dword | Item Serial |
word | X |
word | Y |
сhar byte | Z Grid Index |
dword | Container Serial (-1 = ground) |
0x09 - Req Look | |
Ask the server to look at an item (single click) | |
| |
byte | ID (09) |
dword | Serial of item single clicked |
0x0A - Edit | |
Edit dynamics and statics Types are: | |
| |
byte | ID (0A) |
byte | Type |
word | X |
word | Y |
word | ID |
char | Z |
word | Hue |
0x0B - Edit Area – Old Client | |
Edit Area | |
| |
byte | ID (0B) |
byte[9] | Unknown |
0x0B – Damage Packet : since 4.0.7a client | |
Damage Packet 0x7 bytes | |
| |
byte | ID (0B) |
dword | Serial |
word | Amount of damage |
0x0C - Tile Data | |
Alter tiledata (send new tiledata to the server) | |
| |
byte | ID (0C) |
word | Packet Size |
word | Tile ID |
byte[37] | New Tile data (see tiledata.mul) |
word | F777 |
0x0D - NPC Data | |
Send new NPC data to the server | |
| |
byte | ID (0D) |
byte[2] | Unknown |
0x0E - Template Data | |
Edit template data | |
| |
Byte | ID (0E) |
byte[2] | Packet Size |
byte[*] | Unknown |
0x0F - Paperdoll | |
Paperdoll | |
| |
Byte | ID (0F) |
byte[0x3C] | Unknown |
0x10 - Hue Data | |
Modify Hue Data | |
| |
Byte | ID (10) |
byte[0xD6] | Unknown |
0x11 - Mobile Stat | |
The status of a character | |
| |
byte | ID (11) |
word | Packet Size |
Dword char[30] word word | Serial Character Name Hit Points Max Hit Points |
byte | Allow Name change (1 = yes,0=no) |
byte | Supported features from various expansions (sf) |
byte | Gender |
Word word word word word Word word dword word word | Strength Dexterity Intelligence Stamina Max Stamina Mana Max Mana Gold Armor Rating(Physical Resistance) Weight |
word byte | Max. Weight ( if sf = 0x5) Race ( if sf = 0x5) |
word | Stat Cap ( if sf = 0x2) |
byte byte | Followers ( if sf = 0x3) Max. Followers ( if sf = 0x3) |
word word word word word word word dword | Fire Resistance ( if sf = 0x4) Cold Resistance ( if sf = 0x4) Poison Resistance ( if sf = 0x4) Energy Resistance ( if sf = 0x4) Luck ( if sf = 0x4) Min. Weapon Damage ( if sf = 0x4) Max. Weapon Damage ( if sf = 0x4) Tithing Points ( if sf = 0x4) |
word word word word word word word word word word word word word word word word word word word word word word word | Hit Chance Increase ( if sf = 0x6) Swing Speed Increase ( if sf = 0x6) Damage Chance Increase ( if sf = 0x6) Lower Reagent Cost ( if sf = 0x6) Hit Points Regeneration ( if sf = 0x6) Stamina Regeneration ( if sf = 0x6) Mana Regeneration ( if sf = 0x6) Reflect Physical Damage ( if sf = 0x6) Enhance Potions ( if sf = 0x6) Defense Chance Increase ( if sf = 0x6) Spell Damage Increase ( if sf = 0x6) Faster Cast Recovery ( if sf = 0x6) Faster Casting ( if sf = 0x6) Lower Mana Cost ( if sf = 0x6) Strength Increase ( if sf = 0x6) Dexterity Increase ( if sf = 0x6) Intelligence Increase ( if sf = 0x6) Hit Points Increase ( if sf = 0x6) Stamina Increase ( if sf = 0x6) Mana Increase ( if sf = 0x6) Maximum Hit Points Increase ( if sf = 0x6) Maximum Stamina Increase ( if sf = 0x6) Maximum Mana Increase ( if sf = 0x6) |
0x12 - God Command | |
External command, use skill, magic, etc
Following Command Types currently not used, it’s from old clients: 0x00 = Go 0x27 = Cast Spell From Spellbook 0x56 = Macro Spell 0x6b = God Mode Command 0xDA = GM Page Query | |
| |
byte | ID (12) |
word | Packet Size |
byte | CommandType |
byte[*] | Arguments, may be not present |
byte | 0 |
0x12.24 – Use Skill/Last Skill | |
External command Use Skill/Last Skill | |
| |
byte | ID (12) |
word | Packet Size |
byte | CommandType(24) |
byte byte byte byte byte | 30+Skill ID (ID: from 1 to 55 at present time, if Skill ID = 0, this means that it’s last skill) Unkown, may be argument, not always presents 20 30 0 |
0x12.43 – Open Spellbook | |
External command
Spellbook Type: 31 – Mage Spellbook, 32 – Necromancer Spellbook, 33 – Book Of Chivalry, 34 – Book Of Bushido, 35 – Book Of Ninjitsu, 36 – Spellweaving Spellbook | |
| |
byte | ID (12) |
word | Packet Size |
byte | CommandType(43) |
byte byte | Spellbook Type 0 |
0x12.58 – Open Door | |
External command Open Door | |
| |
byte | ID (12) |
word | Packet Size |
byte | CommandType(58) |
byte | 0 |
0x12.C7 – Action | |
External command Action | |
| |
byte | ID (12) |
word | Packet Size |
byte | CommandType(C7) |
char[*] byte | Action Name 0 |
0x12.F4 – Invoke Virtue | |
External command Invoke Virtue
Virtue ID: 0x1 = Honor Virtue, 0x2= Sacrifice Virtue, 0x3 = Valor Virtue, 0x4 = Compassion Virtue, 0x5 = Honesty Virtue, 0x6 = Humility Virtue, 0x7 = Justice Virtue, 0x8 = Spirituality. | |
| |
byte | ID (12) |
word | Packet Size |
byte | CommandType(F4) |
Byte byte | 30+Virtue ID (if Virtue ID = 0, this means none virtue invokes) 0 |
0x13 - Req Obj Equip | |
Equip an item | |
| |
byte | ID (13) |
dword | Item Serial |
byte | Layer |
dword | Container Serial |
0x14 - Elev Change | |
Change Z value of item | |
| |
byte | ID (14) |
word | X |
word char | Y Z |
0x15 - Follow | |
Follow character | |
| |
byte | ID (15) |
dword | Serial1 |
dword | Serial2 |
0x16 - Req Script Names | |
Get a list of script names | |
| |
byte | ID (16) |
0x17 – KR Health Bar Status Update | |
KR Health Bar Status Update. Notes: Server sends this packet both to 2D and KR. When character is poisoned (green health bar), flag is determined as: 0 – remove poison, > 0 – poison level | |
| |
byte | ID (17) |
byte[2] | Packet Size |
dword word word byte | Mobile Serial 1 Status Color (1 = Green, 2 = Yellow, others = Red) Flag (0 = Remove Status Color, 1 = Enable Status Color, N = PoisonLevel) |
0x18 - Script Attach | |
Add new script to server | |
| |
byte | ID (18) |
byte[2] | Packet Size |
byte[*] | Unknown |
0x19 - NPC Convo Data | |
Modify NPC Speech data | |
| |
byte | ID (19) |
byte[2] | Packet Size |
byte[*] | Unknown |
0x1A – Move | |
Move or place an item on the ground | |
| |
byte | ID (1A) |
word | Packet Size |
dword | Item Serial |
word | Item ID |
word | Item Amount (if Serial&0x8000) |
byte | Stack ID (if Item ID&0x8000) add to Item ID |
word | X |
word | Y |
byte | Direction (if X&0x8000) |
char | Z |
word | Hue (if Y&0x8000) |
byte | Status if (y&0x4000) |
0x1B - Login Confirm | |
Player initialization | |
| |
byte | ID (1B) |
dword | Serial |
dword | 0 |
word | ID |
word | X |
word | Y |
Byte | 0 |
Char | Z |
Byte | Direction |
dword | 7Fh |
dword | 0 |
word | 7 |
Byte | Status |
word | Highlight Color |
word | 0 |
dword | 0 |
0x1C - Text | |
Someone is speaking, or the server is sending us info | |
| |
Byte | ID (1C) |
word | Packet Size |
dword | Character Serial |
word | Character ID |
Byte | Type |
word | Text Color |
word | Font |
Char[30] | Name |
Char[*] | Text |
0x1D - Destroy Object | |
Remove Object from scene ( Mobiles, Items ..) | |
| |
Byte | ID (1D) |
dword | Object Serial |
0x1E - Animate | |
Control Animation | |
| |
Byte | ID (1E) |
Byte[3] | Unknown |
|
|
0x1F - Explode | |
Cause explosion | |
| |
Byte | ID (1F) |
Byte[7] | Unknown |
|
|
0x20 - Z Move | |
Character is being moved by the server | |
| |
Byte | ID (20) |
dword | Serial |
word | ID |
Byte | 0 |
word | Skin Color |
Byte | Status |
word | X |
word | Y |
word | 0 |
Byte | Direction |
Char | Z |
|
|
0x21 - Blocked Move | |
Server rejected our walk request | |
| |
byte | ID (21) |
byte | Sequence Rejected |
word | X location to jump back to |
word | Y |
byte | Direction |
char | Z |
|
|
0x22 - OK Move | |
Server accepted our walk request | |
| |
byte | ID (22) |
byte | Sequence accepted |
byte | Status |
|
|
0x23 - Obj Move | |
Drag Item | |
| |
byte | ID (23) |
word | Item ID |
byte | 0 |
word | 0 |
word | Item Amount |
dword | Source Serial |
word | Source X |
word | Source Y |
char | Source Z |
dword | Target Serial |
word | Target X |
word | Target Y |
char | Target Z |
|
|
0x24 - Open Gump | |
Open a gump | |
| |
byte | ID (24) |
dword | Serial |
word | Gump |
word | Packet Size |
word | Number of Items |
loop | Item |
dword | Item Serial |
word | Item ID |
byte | 0 |
word | Item Amount |
word | Item X |
word | Item Y |
dword | Container Serial |
word | Item Hue |
endloop | Item |
|
|
0x25 - Obj to Obj | |
Add Object to an Object | |
| |
byte | ID (25) |
dword | Item Serial |
word | Item ID |
byte | 0 |
word | Item Amount |
word | Item X |
word byte | Item Y Grid Index (only since 6.0.1.7 2D and 2.45.5.6 KR) |
dword | Container Serial |
word | Item Color |
|
|
0x26 - Old Client | |
Old Client, kick | |
| |
byte | ID (26) |
dword | Serial of GM who kicked |
|
|
0x27 - Get Obj Failed | |
Unable to pick up object 2 bytes Types of reason: 0x0 – cannot lift item, 0x1 – out of range 0x2 – out of sight 0x3 – try to steal 0x4 – are holding 0x5 – inspecific | |
| |
byte | ID (27) |
byte | Reason of failing get obj |
|
|
0x28 - Drop Obj Failed | |
Unable to drop object | |
| |
byte | ID (28) |
dword | Serial |
|
|
0x29 - Drop Obj OK | |
Object dropped ok | |
| |
byte | ID (29) |
|
|
0x2A - Blood | |
Blood mode | |
| |
byte | ID (2A) |
dword | Serial |
|
|
0x2B - God Mode | |
God Mode is on/off (server response to packet 04) | |
| |
byte | ID (2B) |
byte | God mode on/off |
|
|
0x2C - Death | |
Choose resurrection Choice = 0=server ask, 1=resurrect, 2=ghost | |
| |
byte | ID (2C) |
byte | Choice |
|
|
0x2D - Health | |
Health | |
| |
Byte | ID (2D) |
dword | Serial |
word word word word word word | Max Hit Points Hit Points Max Mana Mana Max Stamina Stamina |
0x2E - Equip Item | |
Character is wearing an item | |
| |
Byte | ID (2E) |
dword | Item Serial |
Word | Item ID |
Byte | 0 |
Byte | Layer |
dword | Container Serial |
Word | Item Color |
|
|
0x2F - Swing | |
Fight, swing | |
| |
Byte | ID (2F) |
Byte | 0 |
dword | Attacker Serial |
dword | Defender Serial |
|
|
0x30 - Attack OK | |
Attack granted | |
| |
Byte | ID (30) |
Dword | Serial |
|
|
0x31 - Attack End – Old Client | |
Attack ended – No more used | |
| |
byte | ID (31) |
|
|
0x31 — Pet Window | |
New KR packet that shows Pet's gump. | |
| |
Byte | ID(31) |
Word | Packet Size |
Dword | Player Serial |
Byte | Animals count |
Dword byte
| Loopstart Pet Serial 1 endloop |
0x32 - Hack Mover | |
God mode admin command | |
| |
byte | ID (32) |
byte | Unknown |
0x33 - Group | |
Group command | |
| |
byte | ID (33) |
byte | Command |
0x34 - Client Query | |
Get Status Types: 0x00=God Client 0x04=Basic Status (Packet 0x11) 0x05=Request Skills (Packet 0x3A) | |
| |
byte | ID (34) |
dword | 0xedededed |
byte | Type |
dword | Serial |
0x35 - Resource Type | |
Get resource type | |
| |
byte | ID (35) |
byte[0x8C] | Unknown |
|
|
0x36 - Resource Tile Data | |
Resource tile data | |
| |
byte | ID (36) |
word | Packet Size |
byte[*] | Unknown |
0x37 - Move Object | |
Move an object to new location. God Client packet. | |
| |
byte | ID (37) |
dword byte | Item Serial Z Offset |
byte byte | Y Offset X Offset |
0x38 - Follow Move | |
Follow move | |
| |
byte | ID (38) |
word word word | X Y Z |
|
|
0x39 – Groups | |
Groups | |
| |
Byte | ID (39) |
byte[8] | Unknown |
|
|
0x3A - Skills | |
Update skills Client version is only ID, Packet Size, Skill ID, and Lock Status. | |
| |
Byte | ID (3A) |
Word | Packet Size |
Byte | List Type (ff=no loop, else loop till ID=0) |
Loop | Skill |
Word | Skill ID |
Word | Skill Value |
Word | Base Value |
Byte | Lock Status |
endloop | Skill |
|
|
0x3B - Offer Accept | |
Accept Offer | |
| |
byte | ID (3B) |
word | Packet Size |
dword | Vendor Serial |
byte | Num of Items (0=clear message) |
loop | Item |
byte | Layer |
dword | Item Serial |
word | Item Amount |
endloop | Item |
|
|
0x3C - Multi Obj to Obj | |
Add objects to object | |
| |
byte | ID (3C) |
word | Packet Size |
word | Number of Items |
loop | Item |
dword | Item Serial |
word | Item ID |
byte | 0 |
word | Item Amount |
word | Item X |
word byte | Item Y Grid Index (only since 6.0.1.7 2D and 2.45.5.6 KR) |
dword | Container Serial |
word | Item Color |
endloop | Item |
0x3D - Ship | |
Ship | |
| |
byte | ID (3D) |
byte | Unknown |
|
|
0x3E - Versions | |
Version retrieval | |
| |
byte | ID (3E) |
byte[0x24] | Unknown |
|
|
0x3F - Upd Obj Chunk | |
Update object chunk | |
| |
byte | ID (3F) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x40 - Upd Terr Chunk | |
Update terrain chunk | |
| |
byte | ID (40) |
byte[0xC8] | Unknown |
|
|
0x41 - Update Tile Data | |
Send an updated tiledata.mul entry to the client. | |
| |
byte | ID (41) |
word | Packet Size |
word | Tile ID |
byte[37] | Tile Data (see tiledata.mul) |
word | F777 |
|
|
0x42 - Update Art | |
Send updated art to client | |
| |
byte | ID (42) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x43 - Update Anim | |
Send new animation data to client | |
| |
byte | ID (43) |
byte[0x28] | Unknown |
|
|
0x44 - Update Hues | |
Send new hue information to the client | |
| |
byte | ID (44) |
byte[0xC8] | Unknown |
|
|
0x45 - Ver Ok | |
Ver Ok | |
| |
byte | ID (45) |
byte[4] | Unknown |
|
|
0x46 - New Art | |
Send new artwork | |
| |
byte | ID (46) |
word | Packet Size |
dword | Tile ID |
byte[*] | Art Data (see art.mul) |
|
|
0x47 - New Terr | |
Send new terrain to the server | |
| |
byte | ID (47) |
word | X |
word | Y |
word | Art ID |
word word | Width Height |
|
|
0x48 - New Anim | |
Send new animation data (static tile animation) | |
| |
byte | ID (48) |
dword | Tile ID |
byte[64] | Frames |
byte | Unknown |
byte | Numer of Frames Used |
byte | Frame Interval |
byte | Start Interval |
|
|
0x49 - New Hues | |
Send new hues | |
| |
byte | ID (49) |
dword | Hue ID |
word[32] | Hue Values |
word | Start |
word | End |
char[20] | Hue Name |
|
|
0x4A - Destroy Art | |
Destroy artwork | |
| |
Byte | ID (4A) |
Dword | Art ID |
|
|
0x4B - Check Ver | |
Check client version | |
| |
Byte | ID (4B) |
byte[8] | Unknown |
|
|
0x4C - Script Names | |
Modify script names | |
| |
byte | ID (4C) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x4D - Script File | |
Edit script file | |
| |
byte | ID (4D) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x4E – Set Personal Light Level | |
Set the personal light level | |
| |
byte | ID (4E) |
dword | Serial |
char | Level |
|
|
0x4F – Set global light level | |
Set light level. | |
| |
Byte | ID (4F) |
Char | Level |
|
|
0x50 - Board Header – Old Client | |
Bulletin Board Header | |
| |
Byte | ID (50) |
Byte[2] | Packet Size |
Byte[*] | Unknown |
|
|
0x51 - Board Msg – Old Client | |
Bulletin Board Message | |
| |
Byte | ID (51) |
Byte[2] | Packet Size |
Byte[*] | Unknown |
|
|
0x52 - Post Msg – Old Client | |
Post Bulletin Board Message | |
| |
byte | ID (52) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x53 - Login Reject | |
Login Rejected (1=no character, 2=char exists, 3-4=Can't connect, 5=character already in world,6=login problem,7=idle, 8=can't connect, 9 = character transfer) | |
| |
byte | ID (53) |
byte | Message |
0x54 - Sound | |
Play a sound effect | |
| |
byte | ID (54) |
byte | Flags |
word | Effect |
word | Volume |
word | X |
word | Y |
word | Z |
|
|
0x55 - Login Complete | |
Begin Game | |
| |
byte | ID (55) |
|
|
0x56 - Map Command | |
Plot course for ships | |
| |
byte | ID (56) |
dword | Serial |
byte | Action (1=add,2=insert,3=change,4=remove,5=clear,6=toggle edit) |
byte | Pin Number |
word | Pin X |
word | Pin Y |
|
|
0x57 - Upd Regions | |
Update regions | |
| |
byte | ID (57) |
byte[0x6D] | Unknown |
|
|
0x58 - New Region | |
Create a new region | |
| |
byte | ID (58) |
char[40] | Area Name |
dword | 0 |
word | X |
word | Y |
word | Width |
Word | Height |
Word | Z1 |
Word | Z2 |
char[40] | Description |
Word | Sound FX |
Word | Music |
Word | Night Sound FX |
Byte | Dungeon |
Word | Light |
|
|
0x59 - New Context FX | |
Create a new effect | |
| |
Byte | ID (59) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x5A - Upd Context FX | |
Update effect | |
| |
byte | ID (5A) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x5B - Game Time | |
Set the time of day | |
| |
byte | ID (5B) |
byte | Hours |
byte | Minutes |
byte | Seconds |
|
|
0x5C - Restart Ver | |
Resart Ver | |
| |
byte | ID (5C) |
byte | Unknown |
|
|
0x5D - Pre Login | |
Select the character to play | |
| |
byte | ID (5D) |
dword | 0xEDEDEDED |
char[32] | Character Name |
dword[7] | Unknown |
dword | Character Index |
dword | Client IP |
|
|
0x5E - Server List | |
Server List | |
| |
byte | ID (5E) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x5F - Server Add | |
Add server | |
| |
byte | ID (5F) |
byte[0x30] | Unknown |
|
|
0x60 - Server Remove | |
Delete a server | |
| |
Byte | ID (60) |
byte[4] | Unknown |
|
|
0x61 - Destroy Static | |
Delete a static. God Client Packet. | |
| |
Byte | ID (61) |
Word | X |
Word | Y |
Word | Z |
Word | ID |
|
|
0x62 - Move Static | |
Move a static. God Client packet. 0x0F bytes | |
| |
Byte | ID (62) |
word word word word word word word | Old X Old Y Old Z Item ID Z Offset Y Offset X Offset |
|
|
0x63 - Area Load | |
Load an area | |
| |
Byte | ID (63) |
byte[0x0C] | Unknown |
|
|
0x64 - Area Load Req | |
Attempt to load area | |
| |
byte | ID (64) |
|
|
0x65 - Weather Change | |
Set current weather Type: 0x00 = "It starts to rain" 0x01 = "A fierce storm approaches" 0x02 = "It begins to snow" 0x03 = "A storm is brewing." 0xfe = set temperature 0xff = Stop all weather. | |
| |
byte | ID (65) |
byte | Weather Type |
byte | Number of weather effects |
byte | Temperature |
|
|
0x66 - Book Page | |
Show book | |
| |
byte | ID (66) |
word | Packet Size |
dword | Item Serial |
word | Number of Pages |
loop | Page |
word | Page Index |
word | Number of Lines |
loop | Line |
byte[*] | Text |
endloop | Line |
endloop | Page |
|
|
0x67 – Simped | |
Simped | |
| |
byte | ID (67) |
byte[0x14] | Unknown |
|
|
0x68 - Script LS Attach | |
Add LS script | |
| |
Byte | ID (68) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x69 - Friends | |
Unknown | |
| |
Byte | ID (69) |
Word | Packet Size |
byte[*] | Unknown |
|
|
0x6A - Friend Notify | |
Notify Friend | |
| |
Byte | ID (6A) |
byte[2] | Unknown |
|
|
0x6B - Key Use | |
Use Key | |
| |
Byte | ID (6B) |
byte[8] | Unknown |
|
|
0x6C - Target | |
Bring up targeting cursor | |
| |
Byte | ID (6C) |
Byte | Target Type |
Dword | Character Serial |
Byte | Check Crime |
Dword | Item Serial |
Word | X (ffff=cancel) |
Word | Y (ffff=cancel) |
Word | Z |
Word | Graphic |
|
|
0x6D - Music | |
Play a midi music file | |
| |
Byte | ID (6D) |
Word | Midi Song |
|
|
0x6E - Anim | |
Show an animation | |
| |
byte | ID (6E) |
dword | Serial |
word | Action |
word | Frame Count |
word | Repeat Times |
byte | Forward (0=forward 1= backward) |
byte | Repeat Flag |
byte | Delay (0=fast, 0xff=slow) |
|
|
|
|
0x6F - Trade | |
Open trade window Type: 0 = Start Trading 1 = Cancel Trade 2 = Reset Checkmarks | |
| |
byte | ID (6F) |
word | Packet Size |
byte | Type (0=start,1=cancel,2=change checkmarks) |
dword | Character Serial |
dword | Item 1 Serial (type0 only) |
dword | Item 2 Serial (type0 only) |
byte | Name Included (type 0 only) |
char[30] | Name (type 0 only, only if Name Included) |
|
|
0x70 – Effect | |
Play a special effect (like magic) Type: 00 = Go from source to destination 01 = Lightning strike 02 = Stay at location 03 = Stay with source | |
| |
byte | ID (70) |
byte | Type |
dword | Character Serial |
dword | Target Serial |
word | Object ID |
word | X |
word | Y |
char | Z |
word | Target X |
word | Target Y |
char | Target Z |
byte | Speed |
byte word byte | Duration 0 Fixed Duration |
byte | Explode |
|
|
0x71 - BBoard | |
Display a message board Type: 0=draw board, 1=get posts, 2-3=get body, 4=ack dl, 5=post, 6=delete
| |
| |
Byte | ID (71) |
Word | Packet Size |
Byte | Type |
0x71.0 - Draw Board | |
Draw the Bulletin board | |
| |
Byte | ID (71) |
Word | Packet Size |
Byte | Type (0) |
Dword | Board Serial |
char[22] | Board Name |
Dword | ID |
Dword | 0 |
0x71.1 - Message List | |
List of bulletin board messages | |
| |
Byte | ID (71) |
Word | Packet Size |
Byte | Type (1) |
Dword | Board Serial |
Dword | Message Serial |
Dword | Container Serial (0 = top level) |
Byte | Name Length |
char[*] | Name |
Byte | Subject Length |
char[*] | Subject |
Byte | Time Length |
char[*] | Time |
0x71.2 - Message | |
A single message on a bulletin board | |
| |
Byte | ID (71) |
Word | Packet Length |
Byte | Type (2) |
Dword | Board Serial |
Dword | Message Serial |
byte | Name Length |
char[*] | Name |
byte | Subject Length |
char[*] | Subject |
byte | Time Length |
char[*] | Time |
byte[29] | Unknown |
byte | Num Lines |
loop | Line |
byte | Line Length |
char[*] | Line Text |
endloop | Line |
0x71.3 - Get Message | |
Ask the server for a message | |
| |
byte | ID (71) |
word | Packet Size |
byte | Type (3) |
dword | Board Serial |
dword | Message Serial |
0x71.4 - Get Summary | |
Get a bulletin board's message summary | |
| |
byte | ID (71) |
word | Packet Size |
byte | Type (4) |
dword | Board Serial |
dword | Message Serial |
|
|
0x71.5 - Post Message | |
Post a message to a bulletin board | |
| |
byte | ID (71) |
word | Packet Size |
byte | Type (5) |
dword | Board Serial |
dword | Reply Message Serial (0 if no reply) |
byte | Subject Length |
char[*] | Subject |
byte | Num Lines |
loop | Line |
byte | Line Length |
char[*] | Line Text |
endloop | Line |
0x71.6 - Delete Message | |
Delete a posted message | |
| |
Byte | ID (71) |
Word | Packet Size |
Byte | Type (6) |
Dword | Board Serial |
Dword | Message Serial |
|
|
0x72 - Combat | |
Set war mode and stuff | |
| |
Byte | ID (72) |
Byte | War Mode |
Byte | 0 |
Byte byte | 0x32 0 |
|
|
0x73 - Ping | |
Ping and Pong | |
| |
Byte | ID (73) |
Byte | Value |
|
|
0x74 - Shop Data | |
Purchase details | |
| |
Byte | ID (74) |
Word | Packet Size |
Dword | Vendor Serial |
Byte | Number of Items |
Loop | Item |
Dword | Price |
byte | Name Length |
char[*] | Name |
endloop | Item |
0x75 - Rename MOB | |
Rename character | |
| |
byte | ID (75) |
dword | Serial |
char[30] | Name |
0x76 - Server Change | |
Server change | |
| |
byte | ID (76) |
word word word byte word word word word | X Y Z 0 0 0 Width Height |
0x77 - Naked MOB | |
Another character or monster is walking (why is this called Naked MOB?) | |
| |
Byte | ID (77) |
dword | Serial |
Word | ID |
Word | X |
Word | Y |
Char | Z |
Byte | Direction |
Word | Skin Color |
Byte | Status |
Byte | Notoriety (Murderer, Friend etc) |
0x78 - Equipped MOB | |
Add a character to the scene | |
| |
Byte | ID (78) |
word | Packet Size |
dword | Serial |
word | ID |
word | Amount/Corpse (if Serial&0x80000000) |
word | X |
word | Y |
Char | Z |
Byte | Direction |
word | Skin Color |
Byte | Status |
Byte | Notoriety |
Loop | Item (while Serial!=0) |
dword | Item Serial |
word | Item ID |
Byte | Item Layer |
word | Item Color (if Item ID&0x8000) |
endloop dword | Item 0 |
0x79 - Resource Query | |
Get Resource | |
| |
byte | ID (79) |
dword | Unknown |
dword | Unknown |
0x7A - Resource Data | |
Resource Data | |
| |
byte | ID (7A) |
byte[2] | Packet Size |
byte[*] | Unknown |
0x7B - Sequence | |
Sequence | |
| |
byte | ID (7B) |
byte | Key |
0x7C - Obj Picker | |
Display a Gump with options (like the Add menu) | |
| |
byte | ID (7C) |
word | Packet Size |
dword | Gump Serial |
word | Gump ID |
byte | Title Length |
byte[*] | Title |
byte | Number of Lines |
loop | Line |
word | Choice ID |
word | Hue |
byte | Line Length |
char[*] | Text |
endloop | Line |
0x7D - Picked Obj | |
Choose an option from 7C | |
| |
byte | ID (7D) |
dword | Gump Serial |
word word | Gump ID Index |
word | Item ID |
word | Hue |
0x7E - God View Query | |
Get god view data | |
| |
byte | ID (7E) |
byte | God view stat id |
0x7F - God View Data | |
God view data | |
| |
byte | ID (7F) |
byte[2] | Packet Size |
byte[*] | Unknown |
0x80 - Acct Login Req | |
Login to the login server. | |
| |
byte | ID (80) |
char[30] | Name |
char[30] | Password |
byte | Unknown |
0x81 - Acct Login Ok | |
Login ok 5+(Max Characters Per Account)*60 bytes | |
| |
byte | ID (81) |
byte[2] | Packet Size |
byte | Number of Characters |
byte loop byte[30] byte[30] | 0 Max Number of Characters Name Password |
0x82 - Acct Login Fail | |
There was an error logging in 0=No Account, 1=Account in Use, 2=Account Blocked, 3=No Password, 6 = IGR, 9 = Character Transfer, 0xFE=Idle, 0xFF=Bad Communication | |
| |
byte | ID (82) |
byte | Error |
0x83 - Acct Del Char | |
Delete a player | |
| |
byte | ID (83) |
byte[30] | Password |
dword | Character Index |
dword | Client IP |
0x84 - Chg Char PW | |
Change password | |
| |
Byte | ID (84) |
byte[0x44] | Unknown |
0x85 - Chg Char Result | |
Result of Change character request Result Types: 0=Invalid password,1=character not exist,2=character in game,3=character too young,4=character in queue,5=bad result | |
| |
Byte | ID (85) |
Byte | Result Type |
0x86 - All Characters | |
Resend Characters after delete | |
| |
Byte | ID (86) |
Word | Packet Size |
Byte | Number of Characters |
Loop | Character |
char[30] | Name |
char[30] | Password |
Endloop | Character |
0x87 - Send Resources | |
Send resources | |
| |
Byte | ID (87) |
Word | Packet Size |
Word | 0x101 |
Word | 0 |
Byte | Unknown |
Dword | X |
Dword | Y |
dword | X2 |
dword | Y2 |
byte | Name Length |
char[*] | Name |
0x88 - Open Paper Doll | |
Display paper doll | |
| |
byte | ID (88) |
dword | Character Serial |
char[60] | Name |
byte | Status |
0x89 - Corpse EQ | |
Corpses backpack | |
| |
byte | ID (89) |
word | Packet Size |
dword | Container Serial |
loop | Item (while Layer!=0) |
byte | Layer |
dword | Item Serial |
endloop | Item |
byte | 0 |
0x8A - Trigger Edit | |
Edit Trigger | |
| |
byte | ID (8A) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x8B - Display Sign | |
Show Sign | |
| |
byte | ID (8B) |
byte[2] dword | Packet Size Serial |
word | Gump ID |
word byte[*] word byte[*] | Text Length Text Caption Length Caption |
0x8C - User Server | |
Relay to the game server. | |
| |
byte | ID (8C) |
dword | Server IP |
word | Server Port |
dword | Auth ID |
0x8D – KR Character Creation | |
Create a new character in KR client, 146 bytes Note: Client Flags = 0x41. It’s wrong flags value, must be 0x3F, possibly we need to use offset value from 0xE1 packet. | |
| |
byte word | ID (8D) Packet Size |
dword | 0xedededed |
dword | Character Index |
char[30] char[30] | Character Name “Unknown” |
byte byte byte byte | Profession Client Flags Gender (male = 0, female = 1) Race (human = 0, elf = 1) |
byte | Strength |
byte | Dexterity |
byte | Intelligence |
word dword dword | Skin Color 0 0 |
byte | Skill 1 Amount |
byte | Skill 2 |
byte | Skill 2 Amount |
byte | Skill 3 |
byte | Skill 3 Amount |
byte byte byte[25] byte | Skill 4 Skill 4 Amount 0 0x0B |
word | Hair Style |
word byte dword byte word word byte word word byte | Hair Color 0x0C 0 0x0D Shirt Color Shirt ItemID 0x0F Face Color Face ID 0x10 |
word | Beard Style |
word | Beard Color |
0x8E - Move Character | |
Move Character | |
| |
byte | ID (8E) |
byte[2] | Packet Size |
byte[*] | Unknown |
0x8F - Unused4 | |
Unused | |
| |
byte | ID (8F) |
byte[2] | Packet Size |
byte[*] | Unknown |
0x90 - Open Course Gump | |
Show map, for plotting etc. | |
| |
byte | ID (90) |
dword | Serial |
word | Corner Image |
word | X1 |
word | Y1 |
word | X2 |
word | Y2 |
word | Width |
word | Height |
0x91 - Post Login | |
Login to the game server | |
| |
byte | ID (91) |
dword | Auth ID |
char[30] | Name |
char[30] | Password |
0x92 - Upd Multi | |
Update Multi | |
| |
byte | ID (92) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0x93 - Book Header – Old Client | |
Open a book | |
| |
byte | ID (93) |
dword | Item Serial |
byte | Editable |
byte | 1 |
word | Number of Pages |
char[60] | Title |
char[30] | Author |
0x94 - Upd Skill | |
Alter skill | |
| |
Byte | ID (94) |
word | Packet Size |
Byte dword
| Unknown Unknown Unk |
0x95 - Hue Picker | |
Dye | |
| |
Byte | ID (95) |
Dword | Item Serial |
Word | Item ID |
Word | Color |
0x96 - Game Cent Mon | |
Monitor game, mostly through godview | |
| |
Byte | ID (96) |
Word | Packet Size |
Byte | Command |
byte[*] | Unknown |
0x97 - Player Move | |
Player move | |
| |
Byte | ID (97) |
Byte | Direction |
0x98 - MOB Name | |
Alter name 37 bytes | |
| |
Byte | ID (98) |
byte[2] dword | Packet Size Serial |
byte[30] | Name |
0x99 - Target Multi | |
Targeting cursor for multis | |
| |
Byte | ID (99) |
Byte | Allow Ground |
Dword Byte | Deed Serial Status |
Byte[11] | 0 |
Word | Multi ID |
Word | X |
Word | Y |
Word | Z |
0x9A - Text Entry | |
Text Entry | |
| |
byte | ID (9A) |
byte[2] | Packet Size |
Dword dword | Serial Prompt |
Dword byte[*] | Type Text |
0x9B - Request Assist | |
Page a GM | |
| |
Byte | ID (9B) |
Byte | Unknown |
0x9C - Assist Request | |
Assistance response | |
| |
Byte | ID (9C) |
byte[0x34] | Unknown |
0x9D - GM Single | |
GM Single | |
| |
Byte | ID (9D) |
byte[0x32] | Unknown |
|
|
0x9E - Shop Sell | |
Details for sales | |
| |
Byte | ID (9E) |
Word | Packet Size |
Dword | Vendor Serial |
word | Number of Items |
loop | Item |
dword | Item Serial |
word | Item ID |
word | Item Color |
word | Item Amount |
word | Value |
word | Name Length |
char[*] | Name |
endloop | Item |
0x9F - Shop Offer | |
Sell window | |
| |
byte | ID (9F) |
word | Packet Size |
dword | Vendor Serial |
word | Number of Items |
loop | Item |
dword | Item Serial |
word | Item Amount |
endloop | Item |
0xA0 - Britannia Select | |
Select a shard to play on | |
| |
byte | ID (A0) |
word | Server Index |
|
|
0xA1 - HP Health | |
Adjust strength and Hit Points | |
| |
byte | ID (A1) |
dword | Serial |
word | Max Hit Points |
word | Hit Points |
A2 - Mana Health | |
Update Intelligence and Mana | |
| |
byte | ID (A2) |
dword | Serial |
word | Max Mana |
word | Mana |
|
|
A3 - Fat Health | |
Update Dexterity and Stamina | |
| |
byte | ID (A3) |
dword | Serial |
word | Max Stamina |
word | Stamina |
|
|
A4 - Hardware Info | |
Send system info to the server | |
| |
byte | ID (A4) |
byte[0x94] | Unknown |
|
|
A5 - Web Browse | |
Launch a browser and to URL | |
| |
byte | ID (A5) |
word | Packet Size |
char[*] | URL |
|
|
A6 - Message | |
Show a scroll on the screen | |
| |
byte | ID (A6) |
word | Packet Size |
byte | Font |
dword | Tip Number |
word | Text Length |
char[*] | Text |
|
|
|
|
A7 - Req Tip | |
Get a tooltip | |
| |
Byte | ID (A7) |
word | Tip |
byte | 0 = tip, 1 = notice |
|
|
0xA8 - Britannia List | |
List the available shards | |
| |
byte | ID (A8) |
word | Packet Size |
byte | FFh |
word | Number of Servers |
loop | Server |
word | Server Index |
char[32] | Server Name |
byte | Percent Full |
byte | Timezone |
dword | Server IP |
endloop | Server |
|
|
0xA9 - Cities and Chars | |
List of characters as well as starting cities Flags (each flag is for each feature, if you need to combine features, you need to summ flags): | |
| |
byte | ID (A9) |
word | Packet Size |
byte | Number of Characters |
loop | Character |
char[30] char[30] | Character Name Password |
endloop | Character |
Byte | Number of Cities |
Loop | City |
Byte | Index |
char[31] | City Name |
char[31] | Area of Town |
endloop | City |
dword | Flags (May not be present) |
|
|
AA - Current Target | |
Current attack target | |
| |
byte | ID (AA) |
dword | Serial (0 = attack invalid) |
|
|
AB - String Query | |
Text Entry | |
| |
byte | ID (AB) |
word | Packet Size |
dword | Serial |
byte | Parent ID |
byte | Buttom ID |
word | Text Length |
char[*] | Text |
byte | Style (0=none, 1=normal, 2=numerical) |
dword | Max Length |
word | Label Length |
char[*] | Label |
|
|
AC - String Response | |
Text Entry Response | |
| |
byte | ID (AC) |
word | Packet Size |
dword | Serial |
byte | Type |
byte | Index |
byte | Mode (0=cancel,1=ok) |
word | Text Length |
char[*] | Text |
|
|
0xAD - Speech Unicode | |
Speak in unicode
Keywords are using in UO since 2.0.7 client Keywords: | |
| |
Byte | ID (AD) |
Word | Packet Length |
Byte | Mode(0=say,2=emote,8=whisper,9=yell,10=spell,13=guild,14=alliance,15=GM,0xc0=encoded commands) |
Word | Text Color |
Word | Font |
char[4] | Language |
byte[*] | Keywords (Only present if mode&0xc0) |
char[*] | Text |
|
|
AE - Text Unicode | |
Someone is speaking in Unicode | |
| |
Byte | ID (AE) |
Word | Packet Size |
Dword | Serial |
Word | ID |
Byte | Type |
Word | Text Color |
Word | Font |
char[4] | Language |
char[30] | Name |
char[*] | Text |
|
|
AF - Death Anim | |
Death Anim | |
| |
byte | ID (AF) |
dword | Character Serial |
dword | Corpse Serial |
dword | 0 |
|
|
B0 - Generic Gump – Old Client | |
Show Gump | |
| |
byte | ID (B0) |
word | Packet Size |
dword | Serial |
dword | Gump ID |
dword | X |
dword | Y |
word | Layout Length |
char[*] | Layout |
word | Number of Lines |
loop | Line |
word | Line Length |
word[*] | Text |
endloop | Line |
|
|
0xB1 - Gen Gump Trig | |
Generic Gump Choice | |
| |
byte | ID (B1) |
word dword dword dword dword loop dword endloop dword loop word word byte[*] endloop dword dword | Packet Size Gump Serial Gump ID Button ID Switches Count Switch Switch ID Switch Text Entry Count Text Entry Text Entry ID Text Entry Length Text Entry Text Text Entry Switches Count (Only if Gump ID = 461) Beheld Serial (Only if (Gump ID = 461 && Button ID = 1 && Switches Count > 0)) |
|
|
|
|
0xB2 - Chat Msg | |
Chat Message | |
| |
byte | ID (B2) |
byte[2] word char[4] | Packet Size Message Number Language |
char[*] char[*] | Param1 Param2 |
|
|
0xB3 - Chat Text | |
Chat Text | |
| |
byte | ID (B3) |
byte[2] char[4] word | Packet Size Language Action |
byte[*] | Parameters |
|
|
B4 - Target Obj List | |
Target object list | |
| |
byte | ID (B4) |
byte[2] | Packet Size |
byte[*] | Unknown |
|
|
0xB5 - Chat Open | |
Chat open | |
| |
byte | ID (B5) |
byte[0x39] | Chat Name |
|
|
B6 - Help Request | |
Show Popup Help | |
| |
byte | ID (B6) |
dword | Help Serial |
byte | Langauge Number |
char[3] | Language |
|
|
B7 - Help Unicode Text | |
Display Popup help | |
| |
byte | ID (B7) |
word | Packet Size |
dword | Help Serial |
word[*] | Unicode Text |
|
|
0xB8 - Char Profile | |
Profile(Client version) Mode: 0x00=display request,0x01=edit request, | |
| |
byte | ID (B8) |
word | Packet Size |
byte | Mode |
dword word word | Serial Unknown ( if Mode = 0x01 ) Length ( if Mode = 0x01 ) |
byte[*] | Unicode text ( if Mode = 0x01 ) |
0xB8 - Char Profile | |
Profile(Server version) Mode: 0x00=display request,0x01=edit request, | |
| |
byte | ID (B8) |
word | Packet Size |
dword | Serial |
byte[*] byte[*] byte[*] | Header Body Footer |
0xB9 — Features OldClient | |
Expansions Features Enabling 3 bytes
Flags (each flag is for each feature, if you need to combine features, you need to summ flags): 0x01 = enable T2A features: chat button, regions; 0x02 = enable renaissance features; 0x04 = enable third down features; 0x08 = enable LBR features: skills, map; 0x10 = enable AOS features: skills, spells, map, fightbook; 0x20 = enable 6th character slot; 0x40 = enable SE features: spells, skills, map; 0x80 = enable ML features: elven race, spells, skills; 0x100 = enable The Eight Age splash screen; 0x200 = enable The Ninth Age splash screen; 0x1000 = enable 7th character slot; 0x2000 = enable The Tenth Age KR faces Note1: this packet is send immediately after login. | |
| |
byte | ID (B9) |
word | Flags |
0xB9 - Features | |
New packet's format since Client: 2D: 6.0.14.2 / KR:2.59.0.2 5 bytes Increased space for new flags. See above packet for old flags. | |
byte | ID (B9) |
Dword | Flags |
0xBA - Pointer | |
Display Quest Pointer | |
| |
byte | ID (BA) |
byte | Active |
word | X |
word | Y |
BB – Ultima Messenger | |
Ultima Messenger | |
| |
byte | ID (BB) |
byte[8] | Unknown |
BC - Game Season | |
Season | |
| |
byte | ID (BC) |
byte | Season (0=spring, 1=summer, 2=fall, 3=winter, 4 = desolation) |
byte | Play Sound( 1=yes, 0=no) |
BD – Client/Server Version | |
Send client version to the server. Note: This packet works only in 2D client. KR client hasn’t any version’s determination algorithm. | |
| |
byte | ID (BD) |
word | Packet Size |
char[*] | Version String |
|
|
BE - Assist Version | |
Assist Version | |
| |
Byte | ID (BE) |
byte[2] dword | Packet Size Serial |
byte[*] | Version String |
|
|
BF - Generic Command | |
Miscellaneous Commands | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command |
|
|
BF.1 - Fast Walk | |
Cycle's through the keys in the stack when walking. | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (1) |
dword[6] | Key Stack |
|
|
BF.10 – OPLInfo – Old Client | |
OPLInfo packet. | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (10) |
dword dword | Serial Hash |
BF.10 – Display Equipment Info | |
Display Equipment Info (Server version) Client version is Query Properties and has only Serial. | |
| |
byte | ID (BF) |
word | Size |
word | Command (10) |
dword dword dword word char[*] dword loop dword word endloop dword | Serial Info Number -3 ( if Owner of equipment != null ) Owner Name Length ( if Owner of equipment != null ) Owner Name ( if Owner of equipment != null ) -4 ( if equipment is unidentified ) Attribute Number Charges Attribute -1 |
BF.13 – Context Menu Request | |
Context Menu Request | |
| |
byte | ID (BF) |
word | Size |
word | Command (13) |
dword | Serial |
|
|
BF.14 – Display Context Menu in 2D client | |
Display Context Menu
Flags: 0x00 = Enabled, 0x01 = Disabled, 0x20 = Colored | |
| |
byte | ID (BF) |
word | Size |
word | Command (14) |
word dword byte loop word word word word endloop | 1 Serial Length Context Menu Entry Index of Entry Number Flags Hue (if Flags = 0x20) Context Menu Entry |
BF.14 – Display Context Menu in KR client | |
Display Context Menu
Flags: 0x00 = Enabled, 0x01 = Disabled, 0x04 = Highlighted | |
| |
Byte | ID (BF) |
Word | Size |
Word | Command (14) |
Word dword byte loop dword word word endloop | 2 Serial Length Context Menu Entry Number Index of Entry Flags Context Menu Entry |
BF.15 – Context Menu Response | |
Context Menu Response | |
| |
Byte | ID (BF) |
Word | Size |
Word | Command (15) |
dword word | Serial Index (if Serial != 0) |
BF.17 – Display Help Topic | |
Display Help Topic | |
| |
Byte | ID (BF) |
Word | Size |
Word | Command (17) |
byte dword byte | 1 Topic ID Display (1=yes,0=no) |
BF.18 - Enable Map Diffs | |
This packet is sent by the server to the client, telling the client to use the mapdif* and stadif* files to patch the map and statics. Usually there are 5 maps in this packet, 0 = fellucca, 1 = trammel, 2 = ilshenar, 3 = malas, and 4 = tokuno | |
| |
byte | ID (BF) |
word | Size |
word | Command (18) |
dword | Number of Maps |
loop[map] |
|
dword | Number of Map patches in this map |
dword | Number of Static patches in this map |
endloop[map] |
|
|
|
BF.19 – Miscellaneous status | |
Miscellaneous status is BF Command 19 | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (19) |
byte | Party Command |
BF.19.0 – Bonded Status | |
Bonded Status | |
| |
byte | ID (BF) |
word | Size |
word | Command (19) |
byte | Subcommand(0) |
dword | Serial |
byte | 1 |
|
|
BF.19.2 – Stat Lock Info | |
Stat Lock Info | |
| |
byte | ID (BF) |
word | Size |
word | Command (19) |
byte | Subcommand(2) |
dword | Serial |
byte | 0 |
byte | Lock Flags |
|
|
BF.19.5 – Stat Lock Info KR | |
Stat Lock Info KR | |
| |
byte | ID (BF) |
word | Size |
word | Command (19) |
Byte | Subcommand(5) |
Dword | Serial |
Byte | 0 |
Byte | Lock Flags |
byte dword | 0 0 |
BF.19.5 –Update Mobile Status Animation | |
Update Mobile Status Animation (Uses for character statues) | |
| |
byte | ID (BF) |
word | Size |
word | Command (19) |
Byte | Subcommand(5) |
Dword | Serial |
Byte | 0 |
Byte | FF |
Byte Byte Byte Byte byte | Status 0 Animation 0 Frame |
BF.1A – Stat Lock Change | |
Stat Lock Change Stat Type: 0x0 = strength, 0x1 = dexterity, 0x2 = intelligence Lock Value: 0x0 = up, 0x1 = down, 0x2 = locked | |
| |
byte | ID (BF) |
word | Size |
word | Command (1A) |
byte | Stat Type |
byte | Lock Value |
|
|
|
|
BF.1B – New Spellbook Content | |
New Spellbook Content | |
| |
byte | ID (BF) |
word | Size |
word | Command (1B) |
word | 1 |
dword | Serial |
word | Graphic |
word byte[8] | Offset Content |
BF.1C – Cast Spell/Last Spell | |
Cast Spell/Last Spell
Expansions Flag: 0x0 = LBR&AOS: Mage, Necromancer and Paladin spells; 0x1 = SE: Samurai and Ninja Spells; 0x2 = ML: Spellweaving Spells;
Spell ID: 0x1 – 0x40 – Mage Spells, 0x65 – 0x75 – Necromancer Spells, 0xC9 – 0xD2 – Paladin Spells, 0x91 – 0x96 – Samurai Spells, 0xF5 – 0xFC – Ninja Spells, 0x59 – 0x68 – Spellweaving Spells | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (1C) |
word dword byte byte | Has Spellbook or Spell(2=no spell,1=has spellbook,0=no spellbook, but has spell) Serial ( if Has Spellbook ) Expansions Flag Spell ID (if Spell ID = 0, this means last spell) |
BF.1D – Design House | |
Design House | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (1D) |
dword dword
| House Serial Revision
|
BF.1E – Query Design Details | |
Query Design Details | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (1E) |
dword
| House Foundation Serial
|
BF.2 - Add Walk Key | |
Add a key to the top of the Walk Stack | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2) |
dword | Key |
|
|
BF.20 – House Customization | |
House Customization is BF Command 20 | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (20) |
byte | Party Command |
BF.20.4 – Begin House Customization | |
Begin House Customization | |
| |
byte | ID (BF) |
word | Packet Size |
word dword byte word word word byte | Command (20) House Serial Subcommand(4) 0 0xFFFF 0xFFFF 0xFF |
BF.20.5 – End House Customization | |
End House Customization | |
| |
Byte | ID (BF) |
word | Packet Size |
word dword byte word word word byte | Command (20) House Serial Subcommand(5) 0 0xFFFF 0xFFFF 0xFF |
BF.21 – Clear Weapon Ability | |
Clear Weapon Ability | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (21) |
|
|
|
|
BF.22 – Damage Packet – Old Client | |
Damage Packet | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (22) |
byte dword | 1 Serial |
byte | Amount |
BF.24 – Unknown | |
Unknown packet, possible it works as OSI detector of ‘third-party’ programs, like sniffers, assistants and etc. | |
| |
byte | ID (BF) |
word | Packet Size |
word byte | Command (24) unknown |
BF.25 – Enable/Disable SE Spell Icons | |
Enable/Disable SE Spell Icons | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (25) |
byte byte byte | 1 Spell ID Enable/Disable |
BF.26 – Set speed mode for movement | |
Set speed mode for movement
Speed Mode: 0x0 = Normal movement, 0x1 = Fast movement, 0x2 = Slow movement, 0x3 and above = Hybrid movement | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (26) |
byte
| Speed Mode
|
BF.27 – Unknown (UpdateStatLock?) | |
Server-side Unknown packet | |
| |
byte | ID (BF) |
Word | Packe Size |
Word | Command (27 ) |
Dword byte dword | Serial Unk Unk |
0xBF.2A – Change Race Request | |
Change Race Server packet. Note: Currently works only in 2D client | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2A) |
byte byte | Female (1 = true, 0 = false) Race (1 = human, 2 = elf, 255 = error) |
BF.2A – Change Race Response | |
Change Race Client packet | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2A) |
word word word word word | Skin Color Hair Style Hair Color Beard Style Beard ID |
BF.2B – Set Mobile Animation | |
Change Mobile Animation Pose, server side packet | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2B) |
word byte byte | Serial (last two bytes of serial, may be OSI mistake) Animation ID Frame Count |
BF.2C – Use Targeted Item | |
Use Targeted Item, client side packet | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2C) |
dword dword | Item Serial Target Serial |
BF.2D – Cast Targeted Spell | |
Cast Targeted Spell client side packet
Spell ID: 0x1 – 0x40 – Mage Spells, 0x65 – 0x75 – Necromancer Spells, 0xC9 – 0xD2 – Paladin Spells, 0x91 – 0x96 – Samurai Spells, 0xF5 – 0xFC – Ninja Spells, 0x59 – 0x68 – Spellweaving Spells | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2D) |
word dword | Spell ID Target Serial |
BF.2E – Use Targeted Skill | |
Use Targeted Skill client side packet | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2E) |
word dword | Skill ID (ID: from 1 to 55 at present time, if Skill ID = 0, this means that it’s last skill) Target Serial |
0xBF.2F – KR House Menu Gump Response | |
KR House Menu Gump Response | |
| |
byte | ID (BF) |
word | Packet Size |
word dword dword word dword | Command (2F) Mobile Serial House Serial Subcommand Miscellaneous |
0xBF.2F.63 – KR Default House Menu Gump Response | |
Default response, also sends in initial house gump | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (63) 0 |
0xBF.2F.65 – KR Change Public/Private House Menu Gump Response | |
Change public / private response, sends on toggle public/private button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (65) 0 |
0xBF.2F.66 – KR Convert into the customizable House Menu Gump Response | |
Convert into the customizable response, sends on press ‘convert into the customizable’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (66) 0 (1 for server-side packet) |
0xBF.2F.68 – KR Relocate Moving Crate House Menu Gump Response | |
Relocate moving crate response, sends on press ‘relocate moving crate’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (68) 0 (1 for server-side packet) |
0xBF.2F.69 – KR Change Sign House Menu Gump Response | |
Change sign response, sends on press on sign images. Note: server-side is sending with default response (63) | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (69) Sign Item ID |
0xBF.2F.6A – KR Change Sign Hanger House Menu Gump Response | |
Change sign hanger response, sends on press on sign hanger images. Note: server-side is sending with default response (63) | |
| |
Byte | ID (BF) |
Word | Packet Size |
Word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (6A) Sign Hanger Item ID |
0xBF.2F.6B – KR Change Sign Post House Menu Gump Response | |
Change sign post response, sends on press on sign post images. Note: server-side is sending with default response (63) | |
| |
Byte | ID (BF) |
Word | Packet Size |
Word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (6B) Sign Post Item ID |
0xBF.2F.6C – KR Change Foundation Style House Menu Gump Response | |
Change foundation style response, sends on press on foundation images. Note: server-side is sending with default response (63) | |
| |
Byte | ID (BF) |
Word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (6C) Foundation Item ID |
0xBF.2F.6D – KR Rename House Menu Gump Response | |
Rename house response, sends on press ‘rename house’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (6D) 0 (1 for server-side packet) |
0xBF.2F.6E – KR Demolish House Menu Gump Response | |
Demolish house response, sends on press ‘demolish house’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (6E) 0 (1 for server-side packet) |
0xBF.2F.6F – KR Trade House Menu Gump Response | |
Trade house response, sends on press ‘trade house’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (6F) 0 (1 for server-side packet) |
0xBF.2F.70 – KR Make Primary House Menu Gump Response | |
Make primary house response, sends on press ‘make primary’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (70) 0 (1 for server-side packet) |
0xBF.2F.71 – KR Change To Co-Owner House Menu Gump Response | |
Change player to co-owner response, sends on press ‘change to co-owner’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (71) Player Serial |
0xBF.2F.72 – KR Change To Friend House Menu Gump Response | |
Change player to friend response, sends on press ‘change to friend’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (72) Player Serial |
0xBF.2F.73 – KR Change To Access House Menu Gump Response | |
Change player to access response, sends on press ‘change to access’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (73) Player Serial |
0xBF.2F.74 – KR Ban House Menu Gump Response | |
Ban player response, sends on press ‘ban’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (74) 0 |
0xBF.2F.75 – KR Remove Co-Owner House Menu Gump Response | |
Remove player from co-owners list response, sends on press ‘remove co-owner’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (75) Player Serial |
0xBF.2F.76 – KR Remove Friend House Menu Gump Response | |
Remove player from friends list response, sends on press ‘remove friend’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (76) Player Serial |
0xBF.2F.77 – KR Remove Access House Menu Gump Response | |
Remove player from access list response, sends on press ‘remove access’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (77) Player Serial |
0xBF.2F.78 – KR Remove Ban House Menu Gump Response | |
Remove player from ban list response, sends on press ‘remove ban’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (78) Player Serial |
0xBF.2F.79 – KR Clear Co-Owners List House Menu Gump Response | |
Clear co-owners list response, sends on press ‘clear co-owners list’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (79) 0 (1 for server-side packet) |
0xBF.2F.7A – KR Clear Friends List House Menu Gump Response | |
Clear friends list response, sends on press ‘clear friends list’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (7A) 0 (1 for server-side packet) |
0xBF.2F.7B – KR Clear Access List House Menu Gump Response | |
Clear access list response, sends on press ‘clear access list’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (7B) 0 (1 for server-side packet) |
0xBF.2F.7C – KR Clear Bans List House Menu Gump Response | |
Clear bans list response, sends on press ‘clear bans list’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (7C) 0 (1 for server-side packet) |
0xBF.2F.7D – KR Add Access House Menu Gump Response | |
Add access response, sends on press ‘add access’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (7D) 0 |
0xBF.2F.7E – KR Valid Add Access House Menu Gump Response | |
Valid add access response, sends on valid targeting for ‘add access’. Only server-side packet. | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (7E) Player Serial |
0xBF.2F.7F – KR Invalid Add Access House Menu Gump Response | |
Invalid add access response, sends on invalid targeting for ‘add access’. Only server-side packet. | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (7F) 0 |
0xBF.2F.80 – KR Customize House Menu Gump Response | |
Customize house response, sends on press ‘customize house’ button | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (2F) |
dword dword word dword | Mobile Serial House Serial Subcommand (80) House Foundation Serial (0 for client-side packet) |
BF.30 – KR Target By Resource Macro | |
KR Macro ‘Target By Resource’ since 2.46.0.3 Resource Type values: 0 – ore, 1 – sand, 2- wood, 3 – graves, 4 – red mushrooms | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (30) |
dword word | Tool Serial Resource Type |
BF.31 – KR Start Hotbar Slot Timer | |
KR Start Hotbar Slot Timer since 2.48.0.3 Start timer for hotbar slot with object having ItemID from packet Note 1: Timer will work for all slot with objects having ItemID from packet Note 2: Currently (2.48.0.7) only bandages itemid work. ItemIDs are 0xE21 and 0xEE9 | |
| |
byte | ID (BF) |
word | Packet Size |
word word | Command (31) 0x1 |
dword dword | ItemID Duration |
BF.4 - Close Gump | |
Close gump | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (4) |
dword dword | Type ID Button ID |
|
|
BF.5 – Screen Size | |
Screen Size | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (5) |
dword dword | Width Height |
BF.6 – Party | |
Party system is BF Command 6 | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command |
BF.6.1 – Add Member | |
Add member to party | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (1) |
dword | Serial |
BF.6.1 – Displays members list | |
Displays members list of the party | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (1) |
byte loop | Number of Members Member |
dword endloop | Serial Member |
BF.6.2 - Remove Member | |
Remove a member from your party | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (2) |
byte | Number of Members |
dword loop dword endloop | Serial of removed member Member Serial Member |
BF.6.3 - Party Private Msg | |
Tell a party member a message | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (3) |
dword | Serial |
word[*] | Unicode Message |
|
|
BF.6.4 - Party Chat | |
Send a message to entire party. (Serial not present in Client Msg) | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (4) |
dword | Serial of source |
word[*] | Unicode Text |
|
|
BF.6.6 - Party Loot | |
Party can loot me | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (6) |
byte | Can Loot |
|
|
BF.6.7 - Party Invitation | |
Party Invitation | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (7) |
dword | Party Leader Serial |
BF.6.8 - Accept | |
Accept a join invitation | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (8) |
dword | Party Leader Serial |
|
|
BF.6.9 - Decline | |
Decline join invitation | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (9) |
dword | Party Leader Serial |
|
|
BF.7 – Quest Arrow | |
Quest Arrow | |
| |
byte | BF |
word | Packet Size |
word | Command (7) |
byte | Right Click (1=yes, 0=no) |
BF.8 – Map Change | |
Map Change | |
| |
byte | BF |
word | Packet Size |
word | Command (8) |
byte | Map ID (0=felucca, 1= trammel, 2=ilshenar, 3=malas, 4=tokuno) |
|
|
BF.9 – Disarm Request | |
Disarm Request | |
| |
byte | BF |
word | Packet Size |
word | Command (9) |
byte dword word | 2 6 0 |
BF.A – Stun Request | |
Stun Request | |
| |
byte | BF |
word | Packet Size |
word | Command (A) |
Byte[*] | Unknown |
BF.B - Client Language | |
Set client language | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (B) |
byte[4] | Language |
|
|
BF.C - Close Status | |
Close status gump | |
| |
Byte | ID (BF) |
Word | Packet Size |
Word | Command (C) |
Dword | Serial |
|
|
BF.E - Animate | |
Animate | |
| |
Byte | ID (BF) |
Word | Packet Size |
Word | Command (E) |
Dword | Action |
BF.F - Empty | |
Empty. Real purpose is unknown. | |
| |
Byte | ID (BF) |
Word | Packet Size |
Word | Command (F) |
|
|
C0 - Effect Hued FX | |
Hued effect Type: 00 = Go from source to destination 01 = Lightning strike 02 = Stay at location 03 = Stay with source | |
| |
byte | ID (C0) |
byte dword dword word word word char | Type Serial Source Serial Destination Item ID X Source Y Source Z Source |
word word char byte byte word byte byte dword dword | X Destination Y Destination Z Destination Speed Duration 0 Fixed Duration Explode Hue Render Mode |
0xC1 – Localized Message | |
Display a cliloc message Type: 0=say,1=system,2=emote,6=label,7=focus, 8=whipser,9=yell,10=spell,13=guild,14=alliance,15=GM,0xc0=encoded commands | |
| |
byte | ID (C1) |
word | Packet Size |
dword | Serial |
word | Body |
byte | Type |
word | Hue |
word | Font |
dword | Message Number |
char[30] | Name |
char[*] | Arguments |
C2 - Text Entry Unicode | |
Unicode text entry | |
| |
byte | ID (C2) |
byte[2] | Packet Size |
dword dword dword dword word | Serial1 Serial2 0 0 0 |
|
|
C3 - GQ Request | |
GQ Request | |
| |
byte | ID (C3) |
byte[2] | Packet Size |
dword dword dword dword | 1 ID Customer ID Serial |
dword word char[length] dword dword dword dword dword dword dword dword dword byte byte char[3] byte[*] | 0 length Server Name Call time (in seconds) Map (0=felucca,1=trammel,2=ilshenar,3=malas,4=tokuno) X Y Z Volume Rank -1 Type 1 1 Language Text |
C4 - Semi Visible | |
Semivisible | |
| |
byte | ID (C4) |
byte[5] | Unknown |
|
|
C5 - Invalid Map | |
Invalid map | |
| |
byte | ID (C5) |
byte[0xCA] | Unknown |
|
|
C6 - Invalid Map Enable | |
Enable invalid map | |
| |
byte | ID (C6) |
|
|
C7 - Particle Effect | |
Particle Effect | |
| |
byte | ID (C7) |
byte | Type (00 = moving effect, 01 = lightning effect, 02 = item effect, 03 = static effect) |
dword | Serial Source |
dword | Serial Destination |
word | Tile ID |
word | X Source |
word | Y Source |
byte | Z Source |
word | X Destination |
word | Y Destination |
byte | Z Destination |
byte | Speed |
byte | Duration |
byte | 0 |
byte | 0 |
byte | Fixed Duration |
byte | Explode |
dword | Hue |
dword | Render Mode |
word | Effect ID |
word | Explode Effect ID |
word | Explode Sound |
dword | Serial |
byte | Layer |
word | unknown |
C8 - Update Range Change | |
Update range change This packet says how far away the client wants to see.. that allows slower modems to not get items and MOBs that are over a certain distance away. | |
| |
byte | ID (C8) |
byte | Distance |
|
|
C9 - Trip Time | |
Trip time | |
| |
byte | ID (C9) |
byte | Unknown |
dword | Unknown |
CA - UTrip time | |
Utrip time | |
| |
byte | ID (CA) |
byte | Unknown |
dword | Unknown |
CB - GQ Count | |
GQ Count | |
| |
byte | ID (CB) |
word | Unknown |
dword | Count |
0xCC – Localized Message Plus String | |
Cliloc Message and String
Type: 0=say,1=system,2=emote,6=label,7=focus, 8=whipser,9=yell,10=spell,13=guild,14=alliance,15=GM,0xc0=encoded commands
Affix Type: 0x0 = Append, 0x1 = Prepend, 0x2 = System | |
| |
byte | ID (CC) |
word | Packet Size |
dword word | Serial Graphic |
byte word word dword byte char[30] char[*] char[*] | Type Hue Font Number Affix Type Name Affix Arguments |
CD - Unknown | |
Unknown Packet | |
| |
byte | ID (CD) |
byte[*] | Unknown |
CE - Unknown | |
Unknown Packet | |
| |
byte | ID (CE) |
byte[*] | Unknown |
CF – Account Login 2 | |
Login to the login server. At present, OSI really uses 0x80 packets, but this one absolutely identified to 0x80. | |
| |
byte | ID (CF) |
char[30] char[30] byte | Name Password Unknown |
D0 – Configuration File | |
Send to server configuration file 2 bytes | |
| |
byte | ID (D0) |
byte[*] | Unknown |
|
|
D1 - Logout Status | |
Logout Status (Server version) Client version not send anything except packet ID (D1): it’s Logout Request. Answer to this request is this server-side packet. 2 bytes | |
| |
byte | ID (D1) |
byte | 1 |
|
|
D2 - Unknown | |
Unknown packet | |
| |
byte | ID (D2) |
byte[*] | Unknown |
D3 - Unknown | |
Unknown packet | |
| |
byte | ID (D3) |
byte[*] | Unknown |
D4 – Book Header | |
Book Header | |
| |
byte | ID (D4) |
word dword byte byte word word char[*] byte word char[*] byte | Packet Size Serial 1 Writeable Pages Count Title Length + 1 Title 0 Author Length + 1 Author 0 |
D5 - Unknown | |
Unknown packet | |
| |
byte | ID (D5) |
byte[*] | Unknown |
0xD6 – Batch Query Properties | |
Batch Query Properties (Client version) Client sends serials of items from 0x3C packet and server sends Object Properties packet as answer | |
| |
byte | ID (D6) |
word loop dword endloop | Packet Size Item Info; count = (Packet Size-3)/4 Serial Item Info |
0xD6 – Object Properties | |
Object Properties (Server version) | |
| |
byte | ID (D6) |
word word dword word loop dword word byte[*] endloop dword | Packet Size 1 Serial 0 Property Number Arguments Length Arguments Property Hash |
0xD7 - Generic Command | |
Miscellaneous Commands | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command |
|
|
D7.10 – Designer Clear | |
Designer Clear | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command (10) |
byte | 0xA |
D7.12 – Designer Level | |
Designer Level | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word byte dword | Command (12) 0 Level |
byte | 0xA |
D7.13 – Designer Roof | |
Designer Roof | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word byte dword byte dword byte dword byte dword | Command (13) 0 Item ID 0 X 0 Y 0 Z |
byte | 0xA |
D7.14 – Designer Roof Delete | |
Designer Roof Delete | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word byte dword byte dword byte dword byte dword | Command (14) 0 Item ID 0 X 0 Y 0 Z |
byte | 0xA |
D7.19 – Set Weapon Ability | |
Set Weapon Ability | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word byte | Command (19) 0 |
dword | Ability Index |
byte | 0xA |
D7.1A – Designer Revert | |
Designer Revert | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command (1A) |
byte | 0xA |
D7.1E – Equip Last Weapon | |
Equip Last Weapon | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command (1E) |
byte | 0xA |
D7.2 – Designer Backup | |
Designer Backup | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command (2) |
byte | 0xA |
D7.3 – Designer Restore | |
Designer Restore | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command (3) |
byte | 0xA |
D7.4 – Designer Commit | |
Designer Commit | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command (4) |
byte | 0xA |
D7.5 – Designer Delete | |
Designer Delete | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word byte dword byte dword byte dword byte dword byte | Command (5) 0 Item ID 0 X 0 Y 0 Z 0xA |
|
|
D7.6 – Designer Build | |
Designer Build | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word byte dword byte dword byte dword byte
| Command (6) 0 Item ID 0 X 0 Y 0xA
|
|
|
D7.28 – Guild Button Request | |
Guild Button Request | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command (28) |
byte | 0xA |
D7.32 – Quests Button Request | |
Quests Button Request | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command (32) |
byte | 0xA |
D7.C – Designer Close | |
Designer Close | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word | Command (C) |
byte | 0xA |
D7.D – Designer Stairs | |
Designer Stairs | |
| |
byte | ID (D7) |
word dword | Packet Size Serial |
word byte dword byte dword byte dword | Command (D) 0 Stair ID 0 X 0 Y |
byte | 0xA |
D7.E – Designer Synch | |
Designer Synch | |
| |
byte | ID (D7) |
word | Packet Size |
dword word | Serial Command (E) |
byte | 0xA |
D7.F – Unk | |
Byte | ID (D7) |
Word | Packet Size |
Dword word | Serial Command (F) |
Dword dword | Unk Unk |
D8 – Design State Detailed | |
Design State Detailed Server sends to client design data: tiles and stairs in compression mode. OSI uses ZLib.dll with Z_DEFAULT_COMPRESSION compression level.
Flags = (((Size >> 4) & 0xF0) | ((Length >> 8) & 0xF)) ) | |
| |
byte | ID (D8) |
word byte | Packet Size Compression Type (at present time, it’s 0x03) |
byte dword dword | 0 Serial Revision |
word word byte loop byte byte byte byte byte[*] endloop loop byte byte byte byte byte[*] endloop | Tiles Length Buffer Length Plane Count Plane (0x20 | Plane Index) Plane Size Plane Length Flags Plane Buffer Plane Stairs (9+Plane Index) Stairs Size Stairs Length Flags Stairs Buffer Stairs |
0xD9 – Hardware Info | |
Hardware Info
Client Type: 1 = client version < 4.0.1a; 0 = client version >= 4.0.1a | |
| |
byte | ID (D9) |
word byte dword dword dword dword byte dword dword dword byte dword dword dword dword word word char[64] dword dword dword byte byte byte byte char[4] char[64] | Packet Size Client Type Instance ID OS Major OS Minor OS Revision CPU Manufacturer CPU Family CPU Model CPU Clock Speed CPU Quantity Physical Memory Screen Width Screen Height Screen Depth DirectX Major DirectX Minor Video Card Description Video Card Vendor ID Video Card Device ID Video Card Memory Distribution Clients Running Clients Installed Partial Installed Language Unknown |
DA – Mahjong Game Commands | |
Mahjong Game Commands. Note: Currently works only in 2D client. | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word | Command |
DA.10 – Mahjong Game Open Seat | |
Mahjong Game Open Seat | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word byte | Command(10) Seat Position |
DA.11 – Mahjong Game Change Options | |
Mahjong Game Change Options
Options: 0x1 = Show Scores, 0x2 = Spectator Vision | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word dword | Command(11) Options |
DA.15 – Mahjong Game Move Wall Break Indicator | |
Mahjong Game Move Wall Break Indicator | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word word word | Command(15) Y X |
DA.16 – Mahjong Game Toggle Public Hand | |
Mahjong Game Toggle Public Hand | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word dword
| Command(16) Public Hand (1=yes, 0=no)
|
DA.17 – Mahjong Game Move Tile | |
Mahjong Game Move Tile | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word byte byte byte byte byte word word byte word word byte
| Command(17) Number Current Direction New Direction 0 Flip Current Y Current X 1 New Y New X 0
|
DA.18 – Mahjong Game Move Dealer Indicator | |
Mahjong Game Move Dealer Indicator | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word byte byte word word | Command(18) Direction Wind Y X |
DA.19 – Mahjong Game Join Game | |
Mahjong Game Join Game | |
| |
byte | ID (DA) |
word dword word | Packet Size Game Serial Command(19) |
DA.1A – Mahjong Game Relieve | |
Mahjong Game Relieve | |
| |
byte | ID (DA) |
word dword word | Packet Size Game Serial Command(1A) |
DA.2 – Mahjong Game Players Info | |
Mahjong Game Players Info | |
| |
byte | ID (DA) |
word dword word word loop dword byte byte dword word word char[30] byte endloop | Packet Size Game Serial Command(2) Player Seats Count Players Player Serial Dealer Position (1=yes,2=no) Player Index Player Score 0 Public (0x1=yes,0x0=no) Player Name Player In Game(1=no,0=yes) Players |
DA.3 – Mahjong Game Tile Info | |
Mahjong Game Tile Info | |
| |
byte | ID (DA) |
word dword word byte byte word word byte byte byte | Packet Size Game Serial Command(3) Tile Number Tile Value Y X Stack Level Direction Flipped (0x10=yes,0x0=no) |
DA.4 – Mahjong Game Tiles Info | |
Mahjong Game Tiles Info | |
| |
byte | ID (DA) |
word dword word byte loop byte byte word word byte byte byte endloop | Packet Size Game Serial Command(4) Tiles Length Tiles Tile Number Tile Value Y X Stack Level Direction Flipped (0x10=yes,0x0=no) Tiles |
DA.5 – Mahjong Game General Info | |
Mahjong Game General Info
Options = Show Scores (0x1=yes,0x0=no) | Spectator Vision (0x2=yes,0x0=no) | |
| |
byte | ID (DA) |
word dword word word word byte byte byte word word byte word word
| Packet Size Game Serial Command(5) 0 Options First Dices Second Dices Dealer Indicator Wind Dialer Indicator Y Dialer Indicator X Dialer Indicator Direction Wall Break Indicator Y Wall Break Indicator X
|
DA.6 – Mahjong Game Leave Game | |
Mahjong Game Leave Game | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word | Command(6) |
DA.A – Mahjong Game Give Points | |
Mahjong Game Give Points | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word byte dword | Command(A) Position Points |
DA.B – Mahjong Game Roll Dices | |
Mahjong Game Roll Dices | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word | Command(B) |
DA.C – Mahjong Game Build Walls | |
Mahjong Game Build Walls | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word | Command(C) |
DA.D – Mahjong Game Reset Scores | |
Mahjong Game Reset Scores | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word | Command(D) |
DA.F – Mahjong Game Assign Dealer | |
Mahjong Game Assign Dealer | |
| |
byte | ID (DA) |
word dword | Packet Size Game Serial |
word byte | Command(F) Position |
DB - Unknown | |
Unknown packet | |
| |
byte | ID (DB) |
byte[*] | Unknown |
0xDC – OPLInfo – since 4.0.5a client | |
OPLInfo packet. | |
| |
byte | ID (DC) |
dword dword | Serial Hash |
0xDD – Generic Gump – since 5.0.0a client | |
Generic Gump packet.
OSI uses this one since launching of ML expansion. They use ZLib.dll with Z_BEST_SPEED compression level. | |
| |
byte | ID (DD) |
word dword dword dword dword dword dword byte[*] dword dword dword byte[*] | Packet Size Gump Serial Gump Type ID Gump X Gump Y Gump Entries Length + 4 Layout Length Compressed Gump Entries Lines Count Gump Strings Length + 4 Uncompressed Gump Strings Length Compressed Gump Strings |
DE – Update Mobile Status | |
Update Mobile Status packet
OSI uses this one since launching of buff/debuff system. | |
| |
byte | ID (DE) |
word dword byte
dword | Packet Size Mobile Serial Status (0 if endcombat, 1 if StartCombat ) if Status == 1 Attacker Serial |
0xDF – Update Attribute | |
Update Attribute packet
Attributes: BonusStr = 0x01, BonusDex = 0x02, BonusInt = 0x03, BonusHits = 0x07, BonusStamina = 0x08, BonusMana = 0x09, RegenHits = 0x0A, RegenStam = 0x0B, RegenMana = 0x0C, NightSight = 0x0D, Luck = 0x0E, ReflectPhysical = 0x10, EnhancePotions = 0x11, AttackChance = 0x12, DefendChance = 0x13, SpellDamage = 0x14, CastRecovery = 0x15, CastSpeed = 0x16, ManaCost = 0x17, ReagentCost = 0x18, WeaponSpeed = 0x19, WeaponDamage = 0x1A, PhysicalResistance = 0x1B, FireResistance = 0x1C, ColdResistance = 0x1D, PoisonResistance = 0x1E, EnergyResistance = 0x1F, MaxPhysicalResistance = 0x20, MaxFireResistance = 0x21, MaxColdResistance = 0x22, MaxPoisonResistance = 0x23, MaxEnergyResistance = 0x24, AmmoCost = 0x26, KarmaLoss = 0x28,
OSI uses this one since 5.0.2b client. | |
| |
byte | ID (DF) |
word dword word word loop word dword word byte[9] dword byte[14] endloop | Packet Size Player Serial Attribute ID Items Count Items Base Value 0 Delta Value 0 Item Label Number 0 Items |
DF – Buff/Debuff | |
Buff/Debuff packet
OSI uses this one since 5.0.2b client. | |
| |
byte | ID (DF) |
word dword word word
dword word word dword word byte[3] dword dword dword word word
word char[length*2] word
word
| Packet Size Player Serial Buff Icon ID Type If ( Type = 0x01 ) 0 Buff Icon ID 1 0 Buff Duration in seconds 0 Buff Title Cliloc Buff Secondary Cliloc 0 Arguments Mode 0 If (Arguments Mode = 0x01) length Arguments 1 EndIf Arguments Mode 0 EndIf Type |
0xE0 – Bug Report | |
Bug Report packet, client side
Bug Category: 0x01 - World Environment; 0x02 – Wearables; 0x03 – Combat; 0x04 – UI; 0x05 – Crash; 0x06 – Stuck; 0x07 – Animations; 0x08 – Performance; 0x09 – NPCs; 0x0A – Creatures; 0x0B – Pets; 0x0C – Housing; 0x0D - Lost Item; 0x0E – Exploit; 0x0F – Other
Only KR packet | |
| |
byte | ID (E0) |
word byte[3] byte word char[*] | Packet Size Language 0 Bug Category Bug Description in Unicode |
0xE1 – KR Character List Update | |
KR Character List Update, client side, only in character list menu Only KR packet Notes: Probably KR Client Flags (always 0x2) is offset for 0x8D packet flags – character creation. | |
| |
byte | ID (E1) |
word word dword | Packet Size 1 KR Client Flags |
0xE2 – Mobile Status/Animation Update | |
Mobile Status/Animation Update, server side | |
| |
byte | ID (E2) |
dword word word byte | Mobile Serial Action SubAction Count? ( Osi sends it randomly from 0 to 59 ) |
0xE3 – KR Encryption Request | |
KR Encryption Request, server side
Notes: Packet Size must be 77 bytes. A[0] is always 0x2. B[0] = 0x2, B[1] = 0x11, B[2] = 0x0. A, B, C, D, E – parameters for KR game encryption – AES in CFB Mode
Only KR packet | |
| |
Byte | ID (E3) |
Dword byte[lengthA] dword byte[length B] dword byte[length C] dword dword byte[length E] | length A A length B B length C C D length E E |
E4 – KR Encryption Response | |
KR Encryption Response, client side
Notes: Reply to E3 packet from server A – parameter for KR game encryption – AES in CFB Mode
Only KR packet | |
| |
Byte | ID (E4) |
Word dword byte[lengthA] | Packet Size length A A |
E5 – Display Waypoint | |
Display Waypoint, server side
Notes: Server sends this packet both to 2D and KR, but only KR will display waypoint on the radar map. If Ignore Object Serial is true, client will use coordinates from packet and will ignore serial object coordinates. | |
| |
byte | ID (E5) |
word dword word word sbyte byte word word dword char[*] word | Packet Size Object Serial Object X Object Y Object Z Object Map ID Object Type Ignore Object Serial (1 = true, 0 = false) Object Cliloc Description Object Cliloc Description Arguments in Unicode 0 |
E6 – Hide Waypoint | |
Hide Waypoint, server side
Notes: Server sends this packet both to 2D and KR, but only KR will hide waypoint from the radar map | |
| |
byte | ID (E6) |
dword | Object Serial |
0xE7 – Continue Highlight KR UI Element | |
Continue Highlight KR UI Element, server side
Only KR packet | |
| |
byte | ID (E7) |
dword word dword byte | Mobile Serial UI Element ID Destination Object Serial 1 |
0xE8 – Remove Highlight KR UI Element | |
Remove Highlight KR UI Element, client side
Only KR packet. Client sends this packet only if server sent E7 packet before. | |
| |
byte | ID (E8) |
dword word dword byte byte | Mobile Serial UI Element ID Destination Object Serial 1 1 |
E9 – Toggle Highlight KR UI Element | |
Toggle Highlight KR UI Element, server side
Description types: ”ToggleInventory”, ”TogglePaperdoll”, ”ToggleMap”, ””
Only KR packet | |
| |
byte | ID (E9) |
dword word char[64] dword | Mobile Serial UI Element ID Description Command ID |
0xEA – Enable KR Hotbar | |
Enable KR Hotbar, server side
Only KR packet | |
| |
byte | ID (EA) |
word | Enable (1 = true, 0 = false) |
0xEB – Report Use KR Hotbar Icon | |
Report Use KR Hotbar Icon, client side
Only KR packet. Client sends this packet only if server sent EA packet before Type: 0x1 – spell, 0x2 – weapon ability, 0x3 – skill, 0x4 – item, 0x5 – scroll Object ID: serial for item, id for other types. Always in reversed mode. Note: since KR 2.46.*.* Object ID is serial for scroll too. | |
| |
Byte | ID (EB) |
word word byte byte dword | 1 6 Type 0 Object ID (reversed!!) |
0xEC – Equip Items KR Macro | |
Equip Items KR Macro, client side
Only KR packet | |
| |
Byte | ID (EC) |
word byte loop dword endloop | Packet Size Items Count Items Item Serial Items |
0xED – Unequip Items KR Macro | |
Unequip Items KR Macro, client side
Only KR packet | |
| |
Byte | ID (ED) |
word byte loop word endloop | Packet Size Layers Count Layers Layer ID Layers |
0xEE – Unknown | |
Unknown server-side packet | |
| |
byte | ID (EE) |
dword byte word word | Unk Unk Unk Unk |
0xEF – LoginServerSeed | |
Client sends Seed/Version Both KR and 2D client. | |
Byte | ID(EF) |
Dword dword dword dword dword | Seed Major Version Minor Version Revision Patch |
0xF0 – Unknown | |
Unknown client-side packet | |
Byte | ID(F0) |
Byte byte byte dword dword dword dword | Unk Unk Unk Unk Unk Unk Unk |
0xF1 - Unknown | |
Unknown client-side packet This packet should be sent as response to F2 packet. | |
Byte | ID(F1) |
Byte[8] | Unk |
0xF2 - Unknown | |
Unknown server-side packet. A, B and C – unknown values. A is increment value, so may be it’s global counter. Server sends this packet without client request.
Only KR packet since 2.48.0.3 | |
| |
byte | ID (F2) |
dword word word dword word word dword word word | 0x116 A B 0x116 A C 0x116 A C |
Changes:
16/07/2009
–.Added Unk packet D7.F
–.Updated packets' color
–.Added new B9 Packet
12/07/2009
–.Packet EF has been updated
09/07/2009
–.Added Unk packets EF F0 F1
–.Updated packets' color
–.Fixed ID in packet 8D
07/07/2009
–.Fix at packet 1D ( you can remove also mobiles, not only items)
06/07/2009
–.Fix at packet 11 ( Flags and layout )
–.Minor Fix at BF.2F Packet ( last dword was missing in general packet )
–.Updated Server Color Packets
–.Fix at packet 94 ( Is it still Upd skills ? )
05/07/2009
–.Added Pet Window packet 31
–.Cleaned some blank line
–.Unused/Old server sent packets will have this color
–.Updated Server Color Packets
04/07/2009
–.Server sent packets will now have this color. Notice: due to the large huge quantity of packets I've updated only recognized in ASM ones.
–.Client sent packets will now have this color
03/07/2009
–.Added packet EE
–.Added packet BF.27
–.Fixed packet E2
–.Fixed packer DE
–.Fixed packet 17
30/06/2009
–.Start of updating
–.Fix at layout
–.Guide will be now PDF format