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: 04 = Dynamic item 07 = NPC 0A = Static Item
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 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
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: 0x8 = enable popups 0x4 = server limits number of characters per account, (flags>>4 = number of characters)
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: The first 12 bits = the number of keywords present. The keywords are included right after this, each one is 12 bits also. The keywords are padded to the closest byte. For example, if there are 2 keywords, it will take up 5 bytes. 12bits for the number, and 12 bits for each keyword. 12+12+12=36. Which will be padded 4 bits to 40 bits or 5 bytes.
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) Bit 2 = Enable LBR Features (animations)
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