00 - Login | |
---|---|
Create a new character 0x68 bytes | |
| |
byte | ID (00) |
dword | 0xedededed |
dword | 0xffffffff |
byte | 0 |
char[60] | Character Name |
byte | Gender |
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 |
01 - Logout | |
Character returns to main menu from
character select menu. 5 bytes | |
| |
byte | ID (01) |
dword | 0xffffffff |
02 - Req Move | |
Ask the server if we can walk. 7 bytes | |
| |
byte | ID (02) |
byte | Direction |
byte | Sequence Number |
dword | Fastwalk Prevention Key |
03 - Speech | |
Send speech to the server | |
| |
byte | ID (03) |
word | Size of Packet |
byte | Mode (0=say,2=emote,8=whipser,9=yell) |
word | Text Color |
word | Font |
byte[*] | Text |
04 - God Mode Toggle | |
Toggles god mode on/off 2 bytes | |
| |
byte | ID (04) |
byte | God mode on/off |
05 - Attack | |
Send attack to server 5 bytes | |
| |
byte | ID (05) |
dword | Serial of character to attack |
06 - Req Obj Use | |
Ask the server if we can use an object
(double click) 5 bytes | |
| |
byte | ID (06) |
dword | Serial of item double clicked |
07 - Req Get Obj | |
Ask the server for item 7 bytes | |
| |
byte | ID (07) |
dword | Serial of item |
word | Amount of item |
08 - Req Drop Obj | |
Ask the server to drop an item 0x0E bytes | |
| |
byte | ID (08) |
dword | Item Serial |
word | X |
word | Y |
char | Z |
dword | Container Serial (-1 = ground) |
09 - Req Look | |
Ask the server to look at an item (single
click) 5 bytes | |
| |
byte | ID (09) |
dword | Serial of item single clicked |
0A - Edit | |
Edit dynamics and statics 0x0B bytes Types are: | |
| |
byte | ID (0A) |
byte | Type |
word | X |
word | Y |
word | ID |
byte | Z |
word | Unknown |
0B - Edit Area | |
Edit Area 0x0A bytes | |
| |
byte | ID (0B) |
byte[9] | Unknown |
0C - 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 |
0D - NPC Data | |
Send new NPC data to the server 3 bytes | |
| |
byte | ID (0D) |
byte[2] | Unknown |
0E - Template Data | |
Edit template data | |
| |
byte | ID (0E) |
byte[2] | Packet Size |
byte[*] | Unknown |
0F - Paperdoll | |
Paperdoll 0x3D bytes | |
| |
byte | ID (0F) |
byte[0x3C] | Unknown |
10 - Hue Data | |
Modify Hue Data 0xD7 bytes | |
| |
byte | ID (10) |
byte[0xD6] | Unknown |
11 - Mobile Stat | |
The status of a character | |
| |
byte | ID (11) |
word | Packet Size |
dword | Serial |
char[30] | Character Name |
word | Hit Points |
word | Max Hit Points |
byte | Allow Name change (FFh = yes) |
byte | Valid stats (1 = yes) |
byte | Gender |
word | Strength |
word | Dexterity |
word | Intelligence |
word | Stamina |
word | Max Stamina |
word | Mana |
word | Max Mana |
dword | Gold |
word | Armor Rating |
word | Weight |
12 - God Command | |
External command, use skill, magic, etc CommandTypes: 0x24 = Use Skill 0x56 = Macro Spell 0x58 = Open Door 0x6b = God Mode Command 0xc7 = Action | |
| |
byte | ID (12) |
word | Packet Size |
byte | CommandType |
byte[*] | Command |
13 - Req Obj Equip | |
Equip an item 0x0A bytes | |
| |
byte | ID (13) |
dword | Item Serial |
byte | Layer |
dword | Container Serial |
14 - Elev Change | |
Change Z value of item 6 bytes | |
| |
byte | ID (14) |
byte[5] | Unknown |
15 - Follow | |
Follow character 9 bytes | |
| |
byte | ID (15) |
byte[8] | Unknown |
16 - Req Script Names | |
Get a list of script names 1 byte | |
| |
byte | ID (16) |
17 - Script Tree Cmd | |
Script Modification commands | |
| |
byte | ID (17) |
byte[2] | Packet Size |
byte[*] | Unknown |
18 - Script Attach | |
Add new script to server | |
| |
byte | ID (18) |
byte[2] | Packet Size |
byte[*] | Unknown |
19 - NPC Convo Data | |
Modify NPC Speech data | |
| |
byte | ID (19) |
byte[2] | Packet Size |
byte[*] | Unknown |
1A - 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&0x80000000) |
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) |
1B - Login Confirm | |
Player initialization 0x25 bytes | |
| |
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 |
1C - 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 |
1D - Destroy Object | |
Remove Item from scene 5 bytes | |
| |
byte | ID (1D) |
dword | Item Serial |
1E - Animate | |
Control Animation 4 bytes | |
| |
byte | ID (1E) |
byte[3] | Unknown |
1F - Explode | |
Cause explosion 8 bytes | |
| |
byte | ID (1F) |
byte[7] | Unknown |
20 - Z Move | |
Character is being moved by the
server 0x13 bytes | |
| |
byte | ID (20) |
dword | Serial |
word | ID |
byte | 0 |
word | Skin Color |
byte | Status |
word | X |
word | Y |
word | 0 |
byte | Direction |
char | Z |
21 - Blocked Move | |
Server rejected our walk request 8 bytes | |
| |
byte | ID (21) |
byte | Sequence Rejected |
word | X location to jump back to |
word | Y |
byte | Direction |
char | Z |
22 - OK Move | |
Server accepted our walk request 3 bytes | |
| |
byte | ID (22) |
byte | Sequence accepted |
byte | Status |
23 - Obj Move | |
Drag Item 0x1A bytes | |
| |
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 |
24 - Open Gump | |
Open a gump 7 bytes | |
| |
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 |
25 - Obj to Obj | |
Add Object to an Object 0x14 bytes | |
| |
byte | ID (25) |
dword | Item Serial |
word | Item ID |
byte | 0 |
word | Item Amount |
word | Item X |
word | Item Y |
dword | Container Serial |
word | Item Color |
26 - Old Client | |
Old Client, kick 5 bytes | |
| |
byte | ID (26) |
dword | Serial of GM who kicked |
27 - Get Obj Failed | |
Unable to pick up object 2 bytes | |
| |
byte | ID (27) |
byte | Where |
28 - Drop Obj Failed | |
Unable to drop object 5 bytes | |
| |
byte | ID (28) |
byte[4] | Unknown |
29 - Drop Obj OK | |
Object dropped ok 1 byte | |
| |
byte | ID (29) |
2A - Blood | |
Blood mode 5 bytes | |
| |
byte | ID (2A) |
byte[4] | Unknown |
2B - God Mode | |
God Mode is on/off (server response to
packet 04) 2 bytes | |
| |
byte | ID (2B) |
byte | God mode on/off |
2C - Death | |
Choose resurrection 2 bytes Choice = 0=server ask, 1=resurrect, 2=ghost | |
| |
byte | ID (2C) |
byte | Choice |
2D - Health | |
Health 0x11 bytes | |
| |
byte | ID (2D) |
byte[0x10] | Unknown |
2E - Equip Item | |
Character is wearing an item 0x0F bytes | |
| |
byte | ID (2E) |
dword | Item Serial |
word | Item ID |
byte | 0 |
byte | Layer |
dword | Container Serial |
word | Item Color |
2F - Swing | |
Fight, swing 0x0A bytes | |
| |
byte | ID (2F) |
byte | 0 |
dword | Attacker Serial |
dword | Defender Serial |
30 - Attack OK | |
Attack granted 5 bytes | |
| |
byte | ID (30) |
byte[4] | Unknown |
31 - Attack End | |
Attack ended 1 byte | |
| |
byte | ID (31) |
32 - Hack Mover | |
God mode admin command 2 bytes | |
| |
byte | ID (32) |
byte | Unknown |
33 - Group | |
Group command 2 bytes | |
| |
byte | ID (33) |
byte | Command |
34 - Client Query | |
Get Status 0x0A bytes Types: 0x04=Basic Status (Packet 0x11) 0x05=Request Skills (Packet 0x3A) | |
| |
byte | ID (34) |
dword | 0xedededed |
byte | Type |
dword | Serial |
35 - Resource Type | |
Get resource type 0x8D bytes | |
| |
byte | ID (35) |
byte[0x8C] | Unknown |
36 - Resource Tile Data | |
Resource tile data | |
| |
byte | ID (36) |
word | Packet Size |
byte[*] | Unknown |
37 - Move Object | |
Move an object 8 bytes | |
| |
byte | ID (37) |
byte[7] | Unknown |
38 - Follow Move | |
Follow move 7 bytes | |
| |
byte | ID (38) |
byte[6] | Unknown |
39 - Groups | |
Groups 9 bytes | |
| |
byte | ID (39) |
byte[8] | Unknown |
3A - 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 |
3B - 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 |
3C - 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 | Item Y |
dword | Container Serial |
word | Item Color |
endloop | Item |
3D - Ship | |
Ship 2 bytes | |
| |
byte | ID (3D) |
byte | Unknown |
3E - Versions | |
Version retrieval 0x25 bytes | |
| |
byte | ID (3E) |
byte[0x24] | Unknown |
3F - Upd Obj Chunk | |
Update object chunk | |
| |
byte | ID (3F) |
byte[2] | Packet Size |
byte[*] | Unknown |
40 - Upd Terr Chunk | |
Update terrain chunk 0xC9 bytes | |
| |
byte | ID (40) |
byte[0xC8] | Unknown |
41 - 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 |
42 - Update Art | |
Send updated art to client | |
| |
byte | ID (42) |
byte[2] | Packet Size |
byte[*] | Unknown |
43 - Update Anim | |
Send new animation data to client 0x29 bytes | |
| |
byte | ID (43) |
byte[0x28] | Unknown |
44 - Update Hues | |
Send new hue information to the
client 0xC9 bytes | |
| |
byte | ID (44) |
byte[0xC8] | Unknown |
45 - Ver Ok | |
Ver Ok 5 bytes | |
| |
byte | ID (45) |
byte[4] | Unknown |
46 - New Art | |
Send new artwork | |
| |
byte | ID (46) |
word | Packet Size |
dword | Tile ID |
byte[*] | Art Data (see art.mul) |
47 - New Terr | |
Send new terrain to the server 0x0B bytes | |
| |
byte | ID (47) |
word | X |
word | Y |
word | Art ID |
dword | Unknown |
48 - New Anim | |
Send new animation data (static tile
animation) 0x49 bytes | |
| |
byte | ID (48) |
dword | Tile ID |
byte[64] | Frames |
byte | Unknown |
byte | Numer of Frames Used |
byte | Frame Interval |
byte | Start Interval |
49 - New Hues | |
Send new hues 0x5D bytes | |
| |
byte | ID (49) |
dword | Hue ID |
word[32] | Hue Values |
word | Start |
word | End |
char[20] | Hue Name |
4A - Destroy Art | |
Destroy artwork 5 bytes | |
| |
byte | ID (4A) |
dword | Art ID |
4B - Check Ver | |
Check client version 9 bytes | |
| |
byte | ID (4B) |
byte[8] | Unknown |
4C - Script Names | |
Modify script names | |
| |
byte | ID (4C) |
byte[2] | Packet Size |
byte[*] | Unknown |
4D - Script File | |
Edit script file | |
| |
byte | ID (4D) |
byte[2] | Packet Size |
byte[*] | Unknown |
4E - Light Change | |
Set the personal light level 6 bytes | |
| |
byte | ID (4E) |
dword | Serial |
byte | Level |
4F - Sunlight | |
Set light level. 2 bytes 0 = Bright, 1F = Black | |
| |
byte | ID (4F) |
byte | Level |
50 - Board Header | |
Bulletin Board Header | |
| |
byte | ID (50) |
byte[2] | Packet Size |
byte[*] | Unknown |
51 - Board Msg | |
Bulletin Board Message | |
| |
byte | ID (51) |
byte[2] | Packet Size |
byte[*] | Unknown |
52 - Post Msg | |
Post Bulletin Board Message | |
| |
byte | ID (52) |
byte[2] | Packet Size |
byte[*] | Unknown |
53 - Login Reject | |
Login Rejected 2 bytes (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) | |
| |
byte | ID (53) |
byte | Message |
54 - Sound | |
Play a sound effect 0x0C bytes Flags = 0 repeating, 1 = single play | |
| |
byte | ID (54) |
byte | Flags |
word | Effect |
word | Volume |
word | X |
word | Y |
word | Z |
55 - Login Complete | |
Begin Game 1 byte | |
| |
byte | ID (55) |
56 - Map Command | |
Plot course for ships 0x0B bytes | |
| |
byte | ID (56) |
dword | Serial |
byte | Action (1=add,5=delete,6=toggle edit) |
byte | Pin Number |
word | Pin X |
word | Pin Y |
57 - Upd Regions | |
Update regions 0x6E bytes | |
| |
byte | ID (57) |
byte[0x6D] | Unknown |
58 - New Region | |
Create a new region 0x6A bytes | |
| |
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 |
59 - New Context FX | |
Create a new effect | |
| |
byte | ID (59) |
byte[2] | Packet Size |
byte[*] | Unknown |
5A - Upd Context FX | |
Update effect | |
| |
byte | ID (5A) |
byte[2] | Packet Size |
byte[*] | Unknown |
5B - Game Time | |
Set the time of day 4 bytes | |
| |
byte | ID (5B) |
byte | Hours |
byte | Minutes |
byte | Seconds |
5C - Restart Ver | |
Resart Ver 2 bytes | |
| |
byte | ID (5C) |
byte | Unknown |
5D - Pre Login | |
Select the character to play 0x49 bytes | |
| |
byte | ID (5D) |
dword | 0xEDEDEDED |
char[32] | Character Name |
dword[7] | Unknown |
dword | Character Index |
dword | Client IP |
5E - Server List | |
Server List | |
| |
byte | ID (5E) |
byte[2] | Packet Size |
byte[*] | Unknown |
5F - Server Add | |
Add server 0x31 bytes | |
| |
byte | ID (5F) |
byte[0x30] | Unknown |
60 - Server Remove | |
Delete a server 5 bytes | |
| |
byte | ID (60) |
byte[4] | Unknown |
61 - Destroy Static | |
Delete a static 9 bytes | |
| |
byte | ID (61) |
word | X |
word | Y |
byte | Unknown |
char | Z |
word | ID |
62 - Move Static | |
Move a static 0x0F bytes | |
| |
byte | ID (62) |
byte[0x0E] | Unknown |
63 - Area Load | |
Load an area 0x0D bytes | |
| |
byte | ID (63) |
byte[0x0C] | Unknown |
64 - Area Load Req | |
Attempt to load area 1 byte | |
| |
byte | ID (64) |
65 - Weather Change | |
Set current weather 4 bytes Type: 0x00 = "It starts to rain" 0x01 = "A fierce storm approaches" 0x02 = "It begins to snow" 0x03 = "A storm is brewing." 0xff = Stop all weather. | |
| |
byte | ID (65) |
byte | Weather Type |
byte | Number of weather effects |
byte | Temperature |
66 - Book Page | |
Show book As a client message, this writes to the 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 |
67 - Simped | |
Simped 0x15 bytes | |
| |
byte | ID (67) |
byte[0x14] | Unknown |
68 - Script LS Attach | |
Add LS script | |
| |
byte | ID (68) |
byte[2] | Packet Size |
byte[*] | Unknown |
69 - Friends | |
Unknown | |
| |
byte | ID (69) |
word | Packet Size |
byte[*] | Unknown |
6A - Friend Notify | |
Notify Friend 3 bytes | |
| |
byte | ID (6A) |
byte[2] | Unknown |
6B - Key Use | |
Use Key 9 bytes | |
| |
byte | ID (6B) |
byte[8] | Unknown |
6C - Target | |
Bring up targeting cursor 0x13 bytes | |
| |
byte | ID (6C) |
byte | Target Type |
dword | Character Serial |
byte | Check Crime |
dword | Item Serial |
word | X (ffff=cancel) |
word | Y (ffff=cancel) |
byte | Unknown |
byte | Z |
6D - Music | |
Play a midi music file 3 bytes | |
| |
byte | ID (6D) |
word | Midi Song |
6E - Anim | |
Show an animation 0x0E bytes | |
| |
byte | ID (6E) |
dword | Serial |
word | Action |
word | 5 |
word | Direction |
word | Repeat Times |
byte | Forward (0=forward 1= backward) |
byte | Repeat Flag |
byte | Delay (0=fast, 0xff=slow) |
6F - 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) |
70 - Effect | |
Play a special effect (like magic) 0x1C bytes Type: 00 = Go from source to dest 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 |
word | Speed |
word | 0 |
word | Explode |
71 - BBoard | |
Display a message boardType: 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 |
71.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 |
71.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 |
71.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 |
71.3 - Get Message | |
Ask the server for a message | |
| |
byte | ID (71) |
word | Packet Size |
byte | Type (3) |
dword | Board Serial |
dword | Message Serial |
71.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 |
71.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 |
71.6 - Delete Message | |
Delete a posted message | |
| |
byte | ID (71) |
word | Packet Size |
byte | Type (6) |
dword | Board Serial |
dword | Message Serial |
72 - Combat | |
Set war mode and stuff 5 bytes | |
| |
byte | ID (72) |
byte | War Mode |
word | Unknown |
byte | Unknown |
73 - Ping | |
Ping and Pong 2 bytes | |
| |
byte | ID (73) |
byte | Value |
74 - 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 |
75 - Rename MOB | |
Rename character 0x23 bytes | |
| |
byte | ID (75) |
dword | Serial |
char[30] | Name |
76 - Server Change | |
Server change 0x10 bytes | |
| |
byte | ID (76) |
byte[0x0F] | Unknown |
77 - Naked MOB | |
Another character or monster is walking (why
is this called Naked MOB?) 0x11 bytes | |
| |
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) |
78 - 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 | Item |
79 - Resource Query | |
Get Resource 9 bytes | |
| |
byte | ID (79) |
dword | Unknown |
dword | Unknown |
7A - Resource Data | |
Resource Data | |
| |
byte | ID (7A) |
byte[2] | Packet Size |
byte[*] | Unknown |
7B - Sequence | |
Sequence 2 bytes | |
| |
byte | ID (7B) |
byte | Unknown |
7C - 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 | Checked |
byte | Line Length |
char[*] | Text |
endloop | Line |
7D - Picked Obj | |
Choose an option from 7C 0x0D bytes | |
| |
byte | ID (7D) |
dword | Gump Serial |
word | Gump ID |
word | Item ID |
dword | Unknown |
7E - God View Query | |
Get god view data 2 bytes | |
| |
byte | ID (7E) |
byte | God view stat id |
7F - God View Data | |
God view data | |
| |
byte | ID (7F) |
byte[2] | Packet Size |
byte[*] | Unknown |
80 - Acct Login Req | |
Login to the login server. 0x3E bytes | |
| |
byte | ID (80) |
char[30] | Name |
char[30] | Password |
byte | Unknown |
81 - Acct Login Ok | |
Login ok | |
| |
byte | ID (81) |
byte[2] | Packet Size |
byte[*] | Unknown |
82 - Acct Login Fail | |
There was an error logging in 2 bytes 0=No Account, 1=Account in Use, 2=Account Blocked, 3=No Password | |
| |
byte | ID (82) |
byte | Error |
83 - Acct Del Char | |
Delete a player 0x27 bytes | |
| |
byte | ID (83) |
byte[30] | Password |
dword | Character Index |
dword | Client IP |
84 - Chg Char PW | |
Change password 0x45 bytes | |
| |
byte | ID (84) |
byte[0x44] | Unknown |
85 - Chg Char Result | |
Result of Change character request 2 bytes | |
| |
byte | ID (85) |
byte | Unknown |
86 - 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 |
87 - 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 |
88 - Open Paper Doll | |
Display paper doll 0x42 bytes | |
| |
byte | ID (88) |
dword | Character Serial |
char[60] | Name |
byte | Status |
89 - 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 |
8A - Trigger Edit | |
Edit Trigger | |
| |
byte | ID (8A) |
byte[2] | Packet Size |
byte[*] | Unknown |
8B - Display Sign | |
Show Sign | |
| |
byte | ID (8B) |
byte[2] | Packet Size |
byte[*] | Unknown |
8C - User Server | |
Relay to the game server. 0x0B bytes | |
| |
byte | ID (8C) |
dword | Server IP |
word | Server Port |
dword | Auth ID |
8D - Unused3 | |
Unsued | |
| |
byte | ID (8D) |
byte[2] | Packet Size |
byte[*] | Unknown |
8E - Move Character | |
Move Character | |
| |
byte | ID (8E) |
byte[2] | Packet Size |
byte[*] | Unknown |
8F - Unused4 | |
Unused | |
| |
byte | ID (8F) |
byte[2] | Packet Size |
byte[*] | Unknown |
90 - Open Course Gump | |
Show map, for plotting etc. 0x13 bytes | |
| |
byte | ID (90) |
dword | Serial |
word | Corner Image |
word | X1 |
word | Y1 |
word | X2 |
word | Y2 |
word | Width |
word | Height |
91 - Post Login | |
Login to the game server 0x41 bytes | |
| |
byte | ID (91) |
dword | Auth ID |
char[30] | Name |
char[30] | Password |
92 - Upd Multi | |
Update Multi | |
| |
byte | ID (92) |
byte[2] | Packet Size |
byte[*] | Unknown |
93 - Book Hdr | |
Open a book 0x63 bytes | |
| |
byte | ID (93) |
dword | Item Serial |
byte | Editable |
byte | 1 |
word | Number of Pages |
char[60] | Title |
char[30] | Author |
94 - Upd Skill | |
Alter skill | |
| |
byte | ID (94) |
byte[2] | Packet Size |
byte[*] | Unknown |
95 - Hue Picker | |
Dye 9 bytes | |
| |
byte | ID (95) |
dword | Item Serial |
word | Item ID |
word | Color |
96 - Game Cent Mon | |
Monitor game, mostly through godview | |
| |
byte | ID (96) |
word | Packet Size |
byte | Command |
byte[*] | Unknown |
97 - Player Move | |
Player move 2 bytes | |
| |
byte | ID (97) |
byte | Unknown |
98 - MOB Name | |
Alter name | |
| |
byte | ID (98) |
byte[2] | Packet Size |
byte[*] | Unknown |
99 - Target Multi | |
Targeting cursor for multis 0x1A bytes | |
| |
byte | ID (99) |
byte | Allow Ground |
dword | Deed Serial |
dword | 0 |
dword | 0 |
dword | 0 |
word | Multi ID |
dword | 0 |
word | 0 |
9A - Text Entry | |
Text Entry | |
| |
byte | ID (9A) |
byte[2] | Packet Size |
byte[*] | Unknown |
9B - Request Assist | |
Page a GM 2 bytes | |
| |
byte | ID (9B) |
byte | Unknown |
9C - Assist Request | |
Assistance response 0x35 bytes | |
| |
byte | ID (9C) |
byte[0x34] | Unknown |
9D - GM Single | |
GM Single 0x33 bytes | |
| |
byte | ID (9D) |
byte[0x32] | Unknown |
9E - 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 |
9F - Shop Offer | |
Sell window | |
| |
byte | ID (9F) |
word | Packet Size |
dword | Vendor Serial |
byte | Unknown |
byte | Number of Items |
loop | Item |
dword | Item Serial |
word | Item Amount |
endloop | Item |
A0 - Britannia Select | |
Select a shard to play on 3 bytes | |
| |
byte | ID (A0) |
word | Server Index |
A1 - HP Health | |
Adjust strength and Hit Points 9 bytes | |
| |
byte | ID (A1) |
dword | Serial |
word | Strength |
word | Hit Points |
A2 - Mana Health | |
Update Intelligence and Mana 9 bytes | |
| |
byte | ID (A2) |
dword | Serial |
word | Intelligence |
word | Mana |
A3 - Fat Health | |
Update Dexterity and Stamina 9 bytes | |
| |
byte | ID (A3) |
dword | Serial |
word | Dexterity |
word | Stamina |
A4 - Hardware Info | |
Send system info to the server 0x95 bytes | |
| |
byte | ID (A4) |
byte[0x94] | Unknown |
A5 - Web Browse | |
Launch a browser and to 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 |
word | 0 |
word | Tip Number |
word | Text Length |
char[*] | Text |
A7 - Req Tip | |
Get a tooltip 4 bytes | |
| |
byte | ID (A7) |
word | Tip |
byte | 0 = tip, 1 = notice |
A8 - 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 |
A9 - Cities and Chars | |
List of characters as well as starting
cities
Flags: | |
| |
byte | ID (A9) |
word | Packet Size |
byte | Number of Characters |
loop | Character |
char[60] | Character Name |
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 5 bytes | |
| |
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 |
AD - Speech Unicode | |
Speak in unicode If Mode&0xc0 then there are keywords (from speech.mul) present. Keywords: | |
| |
byte | ID (AD) |
word | Packet Length |
byte | Mode (0=say,2=emote,8=whisper,9=yell) * |
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 0x0D bytes | |
| |
byte | ID (AF) |
dword | Character Serial |
dword | Corpse Serial |
dword | 0 |
B0 - Generic Gump | |
Show Gump | |
| |
byte | ID (B0) |
word | Packet Size |
dword | Serial |
dword | Gump ID |
dword | 6Eh |
dword | 46h |
word | Layout Length |
char[*] | Layout |
word | Number of Lines |
loop | Line |
word | Line Length |
word[*] | Text |
endloop | Line |
B1 - Gen Gump Trig | |
Generic Gump Choice | |
| |
byte | ID (B1) |
word | Packet Size |
byte[*] | Button Data |
B2 - Chat Msg | |
Chat Message | |
| |
byte | ID (B2) |
byte[2] | Packet Size |
byte[*] | Unknown |
B3 - Chat Text | |
Chat Text | |
| |
byte | ID (B3) |
byte[2] | Packet Size |
byte[*] | Unknown |
B4 - Target Obj List | |
Target object list | |
| |
byte | ID (B4) |
byte[2] | Packet Size |
byte[*] | Unknown |
B5 - Chat Open | |
Chat open 0x40 bytes | |
| |
byte | ID (B5) |
byte[0x39] | Unknown |
B6 - Help Request | |
Show Popup Help 9 bytes | |
| |
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 |
B8 - Char Profile | |
Profile | |
| |
byte | ID (B8) |
word | Packet Size |
byte | Mode |
dword | Serial |
B9 - Features | |
Feature Enable 3 bytes Bit 1 = Enable T2A Features (chat) | |
| |
byte | ID (B9) |
word | Enable |
BA - Pointer | |
Display Quest Pointer 6 bytes | |
| |
byte | ID (BA) |
byte | Active |
word | X |
word | Y |
BB - Acct ID | |
Account ID 9 bytes | |
| |
byte | ID (BB) |
byte[8] | Unknown |
BC - Game Season | |
Season 3 bytes | |
| |
byte | ID (BC) |
byte | Season |
byte | Cursor |
BD - Client Version | |
Send client version to the server | |
| |
byte | ID (BD) |
word | Packet Size |
char[*] | Version String |
BE - Assist Version | |
Assist Version | |
| |
byte | ID (BE) |
byte[2] | Packet Size |
byte[*] | Unknown |
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.13 - Unknown | |
Unknown packet The client sends this packet just after it sends packet 09, for the same serial. | |
| |
byte | ID (BF) |
word | Size |
word | Command (13) |
dword | Serial |
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 3 maps in this packet, 0 = fellucca, 1 = trammel, and 2 = ilshenar. | |
| |
byte | ID (BF) |
word | Size |
word | Subcommand (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.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.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 a member to the party | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (1) |
dword | Serial (0 = target) |
BF.6.2 - Remove Member | |
Remove a member from your party | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (6) |
byte | Party Command (2) |
dword | Serial (0 = target) |
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.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.8 - Cursor Hue | |
Set cursor hue | |
| |
byte | BF |
word | Packet Size |
word | Command (8) |
byte | Hue (0=felucca, 1= trammel, 2=ilshenar) |
BF.B - Client Language | |
Set client language | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (B) |
byte[3] | Language |
BF.C - Close Status | |
Close status gump | |
| |
byte | ID (BF) |
word | Packet Size |
word | Command (C) |
dword | Serial |
C0 - Effect Hued FX | |
Hued effect 0x24 bytes | |
| |
byte | ID (C0) |
byte[0x23] | Unknown |
C1 - Text ID | |
Display a cliloc message Type: 6 = lower left 7 = on player | |
| |
byte | ID (C1) |
word | Packet Size |
dword | Serial |
word | Body |
byte | Type |
word | Hue |
word | Font |
word | 7 |
word | Message Number |
char[32] | Name |
C2 - Text Entry Unicode | |
Unicode text entry | |
| |
byte | ID (C2) |
byte[2] | Packet Size |
byte[*] | Unknown |
C3 - GQ Request | |
GQ Request | |
| |
byte | ID (C3) |
byte[2] | Packet Size |
byte[*] | Unknown |
C4 - Semi Visible | |
Semivisible 6 bytes | |
| |
byte | ID (C4) |
byte[5] | Unknown |
C5 - Invalid Map | |
Invalid map 0xCB bytes | |
| |
byte | ID (C5) |
byte[0xCA] | Unknown |
C6 - Invalid Map Enable | |
Enable invalid map 1 byte | |
| |
byte | ID (C6) |
C7 - Particle Effect | |
Particle Effect 0x31 bytes Effect ID and Explode Effect ID correspond directly to the pbg files in the Particles directory. | |
| |
byte | ID (C7) |
byte | Type (00 = moving effect, 02 = item effect, 03 = static effect) |
dword | Serial |
dword | Serial 2 |
word | Tile ID |
word | X |
word | Y |
byte | Z |
word | X 2 |
word | Y 2 |
byte | Z 2 |
word | Unknown Effect data |
word | 0 |
byte | Adjust |
byte | Explode |
dword | 0 |
dword | 0 |
word | Effect ID |
word | Explode Effect ID |
word | Unknown Effect Data |
dword | 0 |
byte | Layer (0-4, 0xff for moving) |
byte | Unknown Effect Data |
byte | 0 |
C8 - Update Range Change | |
Update range change 2 bytes 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 6 bytes | |
| |
byte | ID (C9) |
byte[5] | Unknown |
CA - UTrip time | |
Utrip time 6 bytes | |
| |
byte | ID (CA) |
byte[5] | Unknown |
CB - GQ Count | |
GQ Count 7 bytes | |
| |
byte | ID (CB) |
byte[6] | Unknown |
CC - Text ID Plus String | |
Text ID and String | |
| |
byte | ID (CC) |
word | Packet Size |
byte[*] | Unknown |
D1 - Logout Status | |
Logout Status 2 bytes | |
| |
byte | ID (D1) |
byte | 1 |
F0 - Custom Client Packet | |
Custom Client Packet | |
| |
byte | ID (F0) |
word | len |
byte | subcommand |
byte[len-4] | data |