| 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 |