(Added overview and packet alignment section) |
|||
Line 1: | Line 1: | ||
== Overview == | |||
=== Packet Alignment === | |||
The alignment of the data within the packet payload can cause additional overhead if the data is not properly aligned to word boundaries. For example, in a 32-bit application, a word is a sequence of four eight-bit bytes. Any data that occupies 4 bytes or larger on this platform should always start at a (4 * n) offset (0, 4, 8, etc). Any data that is less than 4 bytes can start at any offset, so long as it does not span multiple words. A 16-bit integer could start at offset 0, 2, or 4, but not at 3, 7, or 11 because the first byte would be in one word and the second byte would be in the next word. Single byte words will always fall on word boundaries. The last piece of data should end on a word boundary as well. | |||
To leverage the maximum efficiency, padding can be added between pieces of data to force subsequent data to be aligned to word boundaries. For example, if a packet contains a word, a half word, and a quarter word, either the data should be ordered as word, half word, quarter word, and a quarter word of padding that will be discarded by the recipient. The same data, ordered as quarter word, half word, word, then quarter word of padding would take up the same amount of space, but the word would span two different words of the packet and cause inefficient processing of that packet. | |||
The following colors are used to indicate the alignment of the packets: | |||
<table> | |||
<tr> | |||
<th> Color Meaning </th> | |||
<th> Examples </th> | |||
</tr> | |||
<tr> | |||
<td style="background: green;">The packet's contents and total size are properly aligned.</td> | |||
<td> 2; 2 2; 2 2 4; 2 2 2*N (when the total packet length is divisible by 4)</td> | |||
</tr> | |||
<tr> | |||
<td style="background: chartreuse;">The packet contents are aligned, but it contains a variable-length element that may cause the whole packet to be improperly aligned.</td> | |||
<td> 2 2 1*N</td> | |||
</tr> | |||
<tr> | |||
<td style="background: yellow;">The packet contents are properly aligned, but does not end on a word boundary.</td> | |||
<td> 2 1 ; 2 2 4 1 </td> | |||
</tr> | |||
<tr> | |||
<td style="background: red;">The packet contents are not properly aligned on word boundaries.</td> | |||
<td> 2 4 2 </td> | |||
</tr> | |||
</table> | |||
== Client Packets == | == Client Packets == | ||
This is a new table that steal information from individual packet pages. | This is a new table that steal information from individual packet pages. |
Revision as of 04:09, 21 June 2013
Overview
Packet Alignment
The alignment of the data within the packet payload can cause additional overhead if the data is not properly aligned to word boundaries. For example, in a 32-bit application, a word is a sequence of four eight-bit bytes. Any data that occupies 4 bytes or larger on this platform should always start at a (4 * n) offset (0, 4, 8, etc). Any data that is less than 4 bytes can start at any offset, so long as it does not span multiple words. A 16-bit integer could start at offset 0, 2, or 4, but not at 3, 7, or 11 because the first byte would be in one word and the second byte would be in the next word. Single byte words will always fall on word boundaries. The last piece of data should end on a word boundary as well.
To leverage the maximum efficiency, padding can be added between pieces of data to force subsequent data to be aligned to word boundaries. For example, if a packet contains a word, a half word, and a quarter word, either the data should be ordered as word, half word, quarter word, and a quarter word of padding that will be discarded by the recipient. The same data, ordered as quarter word, half word, word, then quarter word of padding would take up the same amount of space, but the word would span two different words of the packet and cause inefficient processing of that packet.
The following colors are used to indicate the alignment of the packets:
Color Meaning | Examples |
---|---|
The packet's contents and total size are properly aligned. | 2; 2 2; 2 2 4; 2 2 2*N (when the total packet length is divisible by 4) |
The packet contents are aligned, but it contains a variable-length element that may cause the whole packet to be improperly aligned. | 2 2 1*N |
The packet contents are properly aligned, but does not end on a word boundary. | 2 1 ; 2 2 4 1 |
The packet contents are not properly aligned on word boundaries. | 2 4 2 |
Client Packets
This is a new table that steal information from individual packet pages.
Packet:0x0061Packet:0x0062Packet:0x0063Packet:0x0064Packet:0x0065Packet:0x0066Packet:0x0067Packet:0x0068Packet:0x0069Packet:0x006APacket:0x006BPacket:0x006CPacket:0x006DPacket:0x006EPacket:0x006FPacket:0x0070Packet:0x0071Packet:0x0072Packet:0x0073Packet:0x0078Packet:0x007BPacket:0x007CPacket:0x007DPacket:0x007EPacket:0x007FPacket:0x0080Packet:0x0081Packet:0x0085Packet:0x0086Packet:0x0087Packet:0x0088Packet:0x0089Packet:0x008APacket:0x008CPacket:0x008DPacket:0x008EPacket:0x0090Packet:0x0091Packet:0x0092Packet:0x0094Packet:0x0095Packet:0x0096Packet:0x0097Packet:0x0098Packet:0x0099Packet:0x009APacket:0x009BPacket:0x009CPacket:0x009DPacket:0x009EPacket:0x009FPacket:0x00A0Packet:0x00A1Packet:0x00A2Packet:0x00A4Packet:0x00A6Packet:0x00A7Packet:0x00A8Packet:0x00A9Packet:0x00AAPacket:0x00ABPacket:0x00ACPacket:0x00AFPacket:0x00B0Packet:0x00B1Packet:0x00B2Packet:0x00B3Packet:0x00B4Packet:0x00B5Packet:0x00B6Packet:0x00B7Packet:0x00B8Packet:0x00B9Packet:0x00BBPacket:0x00BCPacket:0x00BDPacket:0x00BEPacket:0x00BFPacket:0x00C0Packet:0x00C1Packet:0x00C2Packet:0x00C3Packet:0x00C4Packet:0x00C5Packet:0x00C6Packet:0x00C7Packet:0x00C8Packet:0x00C9Packet:0x00CAPacket:0x00CBPacket:0x00CCPacket:0x00CDPacket:0x00E4Packet:0x00E5Packet:0x00E6Packet:0x00E7Packet:0x00E8Packet:0x00E9Packet:0x00EBPacket:0x00ECPacket:0x00EDPacket:0x00EEPacket:0x00EFPacket:0x00F0Packet:0x00F2Packet:0x00F3Packet:0x00F4Packet:0x00F5Packet:0x00F6Packet:0x00F7Packet:0x00F8Packet:0x00F9Packet:0x00FAPacket:0x00FBPacket:0x00FCPacket:0x00FDPacket:0x00FEPacket:0x00FFPacket:0x0100Packet:0x0101Packet:0x0102Packet:0x0103Packet:0x0104Packet:0x0105Packet:0x0106Packet:0x0107Packet:0x0108Packet:0x0109Packet:0x010CPacket:0x010EPacket:0x010FPacket:0x0110Packet:0x0112Packet:0x0113Packet:0x0116Packet:0x0119Packet:0x011BPacket:0x0139Packet:0x013APacket:0x013BPacket:0x013CPacket:0x0141Packet:0x0142Packet:0x0143Packet:0x0146Packet:0x0148Packet:0x0149Packet:0x014CPacket:0x014DPacket:0x014EPacket:0x014FPacket:0x0151Packet:0x0152Packet:0x0153Packet:0x0154Packet:0x0155Packet:0x0156Packet:0x0159Packet:0x015APacket:0x015BPacket:0x015CPacket:0x015DPacket:0x015EPacket:0x0160Packet:0x0161Packet:0x0162Packet:0x0163Packet:0x0165Packet:0x0166Packet:0x0167Packet:0x0168Packet:0x0169Packet:0x016APacket:0x016BPacket:0x016CPacket:0x016DPacket:0x016EPacket:0x016FPacket:0x0170Packet:0x0171Packet:0x0172Packet:0x0173Packet:0x0174Packet:0x017EPacket:0x017FPacket:0x0180Packet:0x0181Packet:0x0183Packet:0x0184Packet:0x018APacket:0x018BPacket:0x0190Packet:0x0195Packet:0x0196Packet:0x019BPacket:0x019CPacket:0x019DPacket:0x01B1Packet:0x01B6Packet:0x01C8Packet:0x01D4Packet:0x01D5Packet:0x01D7Packet:0x01D8Packet:0x01D9Packet:0x01DAPacket:0x01DEPacket:0x01EEPacket:0x01F0Packet:0x020CPacket:0x7530Packet:0x7531Packet | Length | Name | Client #define | Sent and Parsed Locations |
---|
ManaPlus Packets
These packets were originally added by ManaPlus to support Evol.
Packet:0x0212Packet | Length | Name | Client #define | Sent and Parsed Locations |
---|
Used packets
packet | len | client define | sent location(s) | parse location |
---|---|---|---|---|
0x0061 | 50 | CMSG_CHAR_PASSWORD_CHANGE | src/net/tmwa/loginhandler.cpp:264 | src/char/char.c:3036 |
0x0062 | 3 | SMSG_CHAR_PASSWORD_RESPONSE | src/char/char.c:2368 | src/net/tmwa/loginhandler.cpp:71 |
0x0063 | -1 | SMSG_UPDATE_HOST | src/login/login.c:3732 | src/net/tmwa/loginhandler.cpp:103 |
0x0064 | 55 | (hard-coded) | src/net/tmwa/loginhandler.cpp:298 | src/login/login.c:3644 |
0x0065 | 17 | CMSG_CHAR_SERVER_CONNECT | src/net/tmwa/charserverhandler.cpp:340 | src/char/char.c:3049 |
0x0066 | 3 | CMSG_CHAR_SELECT | src/net/tmwa/charserverhandler.cpp:283 src/char/char.c:3424 |
src/char/char.c:3142 |
0x0067 | 37 | CMSG_CHAR_CREATE | src/net/tmwa/charserverhandler.cpp:291 | src/char/char.c:3312 |
0x0068 | 46 | CMSG_CHAR_DELETE | src/net/tmwa/charserverhandler.cpp:306 | src/char/char.c:3387 |
0x0069 | -1 | SMSG_LOGIN_DATA | src/login/login.c:3795 | src/net/tmwa/loginhandler.cpp:114 |
0x006A | 23 | SMSG_LOGIN_ERROR | src/login/login.c:3683 src/login/login.c:3833 |
src/net/tmwa/loginhandler.cpp:149 |
0x006B | -1 | SMSG_CHAR_LOGIN | src/char/char.c:1660 | src/net/tmwa/charserverhandler.cpp:101 |
0x006C | 3 | SMSG_CHAR_LOGIN_ERROR | src/char/char.c:1948 src/char/char.c:1970 src/char/char.c:3110 src/char/char.c:3133 |
src/net/tmwa/charserverhandler.cpp:75 |
0x006D | 108 | SMSG_CHAR_CREATE_SUCCEEDED | src/char/char.c:3325 | src/net/tmwa/charserverhandler.cpp:118 |
0x006E | 3 | SMSG_CHAR_CREATE_FAILED | src/char/char.c:3318 | src/net/tmwa/charserverhandler.cpp:137 |
0x006F | 2 | SMSG_CHAR_DELETE_SUCCEEDED | src/char/char.c:3496 | src/net/tmwa/charserverhandler.cpp:144 |
0x0070 | 3 | SMSG_CHAR_DELETE_FAILED | src/char/char.c:3156 src/char/char.c:3401 src/char/char.c:3432 src/char/char.c:3504 |
src/net/tmwa/charserverhandler.cpp:153 |
0x0071 | 28 | SMSG_CHAR_MAP_INFO | src/char/char.c:3272 | src/net/tmwa/charserverhandler.cpp:158 |
0x0072 | 19 | CMSG_MAP_SERVER_CONNECT | src/net/tmwa/gamehandler.cpp:124 | src/map/clif.c:6729 |
0x0073 | 11 | SMSG_MAP_LOGIN_SUCCESS | src/map/clif.c:609 | src/net/tmwa/gamehandler.cpp:67 |
0x0078 | 54 | SMSG_BEING_VISIBLE | src/map/clif.c:823 src/map/clif.c:1060 src/map/clif.c:1185 src/map/clif.c:1382 |
src/net/tmwa/beinghandler.cpp:121 |
0x007B | 60 | SMSG_BEING_MOVE | src/map/clif.c:912 src/map/clif.c:1122 |
src/net/tmwa/beinghandler.cpp:122 |
0x007C | 41 | SMSG_BEING_SPAWN | src/map/clif.c:1279 src/map/clif.c:1347 src/map/clif.c:1372 src/map/clif.c:1414 |
src/net/tmwa/beinghandler.cpp:239 |
0x007D | 2 | CMSG_MAP_LOADED | src/net/tmwa/gamehandler.cpp:152 | src/map/clif.c:6786 |
0x007E | 6 | CMSG_CLIENT_PING | src/net/tmwa/gamehandler.cpp:166 | src/map/clif.c:6942 |
0x007F | 6 | SMSG_SERVER_PING | src/map/clif.c:1445 | src/net/tmwa/gamehandler.cpp:81 |
0x0080 | 7 | SMSG_BEING_REMOVE | src/map/clif.c:65 src/map/clif.c:791 |
src/net/tmwa/beinghandler.cpp:273 |
0x0081 | 3 | SMSG_CONNECTION_PROBLEM | src/login/login.c:3700 src/login/login.c:3824 src/char/char.c:3264 src/map/clif.c:628 |
src/net/tmwa/generalhandler.cpp:122 |
0x0085 | 5 | CMSG_PLAYER_CHANGE_DEST | src/net/tmwa/playerhandler.cpp:621 | src/map/clif.c:6955 |
0x0086 | 16 | SMSG_BEING_MOVE2 | src/net/tmwa/beinghandler.cpp:246 | |
0x0087 | 12 | SMSG_WALK_RESPONSE | src/map/clif.c:1463 | src/net/tmwa/playerhandler.cpp:177 |
0x0088 | 10 | SMSG_PLAYER_STOP | src/map/clif.c:1590 | src/net/tmwa/beinghandler.cpp:630 |
0x0089 | 7 | CMSG_PLAYER_CHANGE_ACT CMSG_PLAYER_ATTACK |
src/net/tmwa/playerhandler.cpp:635 src/net/tmwa/playerhandler.cpp:566 |
src/map/clif.c:7341 |
0x008A | 29 | SMSG_BEING_ACTION | src/map/clif.c:3761 src/map/clif.c:6563 |
src/net/tmwa/beinghandler.cpp:328 |
0x008C | -1 | CMSG_CHAT_MESSAGE | src/net/tmwa/chathandler.cpp:199 | src/map/clif.c:7173 |
0x008D | -1 | SMSG_BEING_CHAT | src/map/clif.c:7209 src/map/clif.c:7236 |
src/net/tmwa/chathandler.cpp:113 |
0x008E | -1 | SMSG_PLAYER_CHAT | src/map/clif.c:4603 src/map/clif.c:7219 |
src/net/tmwa/chathandler.cpp:158 |
0x0090 | 7 | CMSG_NPC_TALK | src/net/tmwa/npchandler.cpp:133 | src/map/clif.c:7738 |
0x0091 | 22 | SMSG_PLAYER_WARP | src/map/clif.c:1545 | src/net/tmwa/playerhandler.cpp:185 |
0x0092 | 28 | SMSG_CHANGE_MAP_SERVER | src/map/clif.c:1569 | src/net/tmwa/charserverhandler.cpp:179 |
0x0094 | 6 | (hard-coded) | src/net/tmwa/beinghandler.cpp:92 | src/map/clif.c:7047 |
0x0095 | 30 | SMSG_BEING_NAME_RESPONSE | src/map/clif.c:7057 | src/net/tmwa/beinghandler.cpp:484 |
0x0096 | -1 | CMSG_CHAT_WHISPER | src/net/tmwa/chathandler.cpp:215 | src/map/clif.c:7459 |
0x0097 | -1 | SMSG_WHISPER | src/map/clif.c:4771 | src/net/tmwa/chathandler.cpp:91 |
0x0098 | 3 | SMSG_WHISPER_RESPONSE | src/map/clif.c:4785 | src/net/tmwa/chathandler.cpp:72 |
0x0099 | -1 | CMSG_ADMIN_ANNOUNCE CMSG_CHAT_ANNOUNCE |
src/net/tmwa/adminhandler.cpp:84 | src/map/clif.c:7549 |
0x009A | -1 | SMSG_GM_CHAT | src/map/clif.c:4623 src/map/clif.c:8359 |
src/net/tmwa/chathandler.cpp:159 |
0x009B | 5 | CMSG_PLAYER_CHANGE_DIR | src/net/tmwa/playerhandler.cpp:614 | src/map/clif.c:7278 |
0x009C | 9 | SMSG_BEING_CHANGE_DIRECTION | src/map/clif.c:7293 | src/net/tmwa/beinghandler.cpp:499 |
0x009D | 17 | SMSG_ITEM_VISIBLE | src/map/clif.c:3815 | src/net/tmwa/itemhandler.cpp:47 |
0x009E | 17 | SMSG_ITEM_DROPPED | src/map/clif.c:671 | src/net/tmwa/itemhandler.cpp:48 |
0x009F | 6 | CMSG_ITEM_PICKUP | src/net/tmwa/playerhandler.cpp:607 | src/map/clif.c:7573 |
0x00A0 | 23 | SMSG_PLAYER_INVENTORY_ADD | src/map/clif.c:1855 src/map/clif.c:1876 |
src/net/tmwa/inventoryhandler.cpp:218 |
0x00A1 | 6 | SMSG_ITEM_REMOVE | src/map/clif.c:715 | src/net/tmwa/itemhandler.cpp:61 |
0x00A2 | 6 | CMSG_PLAYER_INVENTORY_DROP | src/net/tmwa/inventoryhandler.cpp:473 | src/map/clif.c:7613 |
0x00A4 | -1 | SMSG_PLAYER_EQUIPMENT | src/map/clif.c:2017 | src/net/tmwa/inventoryhandler.cpp:376 |
0x00A6 | -1 | SMSG_PLAYER_STORAGE_EQUIP | src/map/clif.c:2144 src/map/clif.c:2273 |
src/net/tmwa/inventoryhandler.cpp:187 |
0x00A7 | 8 | CMSG_PLAYER_INVENTORY_USE | src/net/tmwa/inventoryhandler.cpp:465 | src/map/clif.c:7640 |
0x00A8 | 7 | SMSG_ITEM_USE_RESPONSE | src/map/clif.c:2935 | src/net/tmwa/inventoryhandler.cpp:284 |
0x00A9 | 6 | CMSG_PLAYER_EQUIP | src/net/tmwa/inventoryhandler.cpp:446 | src/map/clif.c:7666 |
0x00AA | 7 | SMSG_PLAYER_EQUIP | src/map/clif.c:2819 | src/net/tmwa/inventoryhandler.cpp:401 |
0x00AB | 4 | CMSG_PLAYER_UNEQUIP | src/net/tmwa/inventoryhandler.cpp:456 | src/map/clif.c:7706 |
0x00AC | 7 | SMSG_PLAYER_UNEQUIP | src/map/clif.c:2839 | src/net/tmwa/inventoryhandler.cpp:412 |
0x00AF | 6 | SMSG_PLAYER_INVENTORY_REMOVE | src/map/clif.c:1943 | src/net/tmwa/inventoryhandler.cpp:253 |
0x00B0 | 8 | SMSG_PLAYER_STAT_UPDATE_1 | src/map/clif.c:2350 src/map/clif.c:2357 |
src/net/tmwa/playerhandler.cpp:234 |
0x00B1 | 8 | SMSG_PLAYER_STAT_UPDATE_2 | src/map/clif.c:2437 src/map/clif.c:2443 src/map/clif.c:2447 src/map/clif.c:2451 src/map/clif.c:2455 |
src/net/tmwa/playerhandler.cpp:333 |
0x00B2 | 3 | CMSG_PLAYER_RESTART | src/net/tmwa/charserverhandler.cpp:314 src/net/tmwa/playerhandler.cpp:642 |
src/map/clif.c:7411 |
0x00B3 | 3 | SMSG_CHAR_SWITCH_RESPONSE | src/map/clif.c:653 | src/net/tmwa/gamehandler.cpp:91 |
0x00B4 | -1 | SMSG_NPC_MESSAGE | src/map/clif.c:1696 | src/net/tmwa/npchandler.cpp:102 |
0x00B5 | 6 | SMSG_NPC_NEXT | src/map/clif.c:1716 | src/net/tmwa/npchandler.cpp:111 |
0x00B6 | 6 | SMSG_NPC_CLOSE | src/map/clif.c:1734 | src/net/tmwa/npchandler.cpp:106 |
0x00B7 | -1 | SMSG_NPC_CHOICE | src/map/clif.c:1752 | src/net/tmwa/npchandler.cpp:97 |
0x00B8 | 7 | CMSG_NPC_LIST_CHOICE | src/net/tmwa/npchandler.cpp:159 | src/map/clif.c:8194 |
0x00B9 | 6 | CMSG_NPC_NEXT_REQUEST | src/net/tmwa/npchandler.cpp:140 | src/map/clif.c:8206 |
0x00BB | 5 | CMSG_STAT_UPDATE_REQUEST | src/net/tmwa/playerhandler.cpp:581 | src/map/clif.c:7993 |
0x00BC | 6 | SMSG_PLAYER_STAT_UPDATE_4 | src/map/clif.c:2799 | src/net/tmwa/playerhandler.cpp:381 |
0x00BD | 44 | SMSG_PLAYER_STAT_UPDATE_5 | src/map/clif.c:2702 | src/net/tmwa/playerhandler.cpp:401 |
0x00BE | 5 | SMSG_PLAYER_STAT_UPDATE_6 | src/map/clif.c:2466 | src/net/tmwa/playerhandler.cpp:521 |
0x00BF | 3 | CMSG_PLAYER_EMOTE | src/net/tmwa/playerhandler.cpp:573 | src/map/clif.c:7308 |
0x00C0 | 7 | SMSG_BEING_EMOTION | src/map/clif.c:6469 src/map/clif.c:6488 src/map/clif.c:7317 |
src/net/tmwa/beinghandler.cpp:385 |
0x00C1 | 2 | CMSG_WHO_REQUEST CMSG_CHAT_WHO |
src/map/chathandler.cpp:264 | src/map/clif.c:7330 |
0x00C2 | 6 | SMSG_WHO_ANSWER | src/map/clif.c:7332 | src/net/tmwa/gamehandler.cpp:86 |
0x00C3 | 8 | SMSG_BEING_CHANGE_LOOKS | src/net/tmwa/beinghandler.cpp:400 | |
0x00C4 | 6 | SMSG_NPC_BUY_SELL_CHOICE | src/map/clif.c:1611 | src/net/tmwa/buysellhandler.cpp:64 |
0x00C5 | 7 | CMSG_NPC_BUY_SELL_REQUEST | src/net/tmwa/npchandler.cpp:193 src/net/tmwa/npchandler.cpp:200 |
src/map/clif.c:7756 |
0x00C6 | -1 | SMSG_NPC_BUY | src/map/clif.c:1631 | src/net/tmwa/buysellhandler.cpp:72 |
0x00C7 | -1 | SMSG_NPC_SELL | src/map/clif.c:1663 | src/net/tmwa/buysellhandler.cpp:88 |
0x00C8 | -1 | CMSG_NPC_BUY_REQUEST | src/net/tmwa/npchandler.cpp:207 | src/map/clif.c:7765 |
0x00C9 | -1 | CMSG_NPC_SELL_REQUEST | src/net/tmwa/npchandler.cpp:215 | src/map/clif.c:7784 |
0x00CA | 3 | SMSG_NPC_BUY_RESPONSE | src/map/clif.c:7775 | src/net/tmwa/buysellhandler.cpp:114 |
0x00CB | 3 | SMSG_NPC_SELL_RESPONSE | src/map/clif.c:7794 | src/net/tmwa/buysellhandler.cpp:124 |
0x00CC | 6 | CMSG_ADMIN_KICK | src/net/tmwa/adminhandler.cpp:104 | src/map/clif.c:8913 |
0x00CD | 6 | SMSG_ADMIN_KICK_ACK | src/map/clif.c:6605 | src/net/tmwa/adminhandler.cpp:62 |
0x00E4 | 6 | CMSG_TRADE_REQUEST | src/net/tmwa/tradehandler.cpp:241 | src/map/clif.c:7859 |
0x00E5 | 26 | SMSG_TRADE_REQUEST | src/map/clif.c:3180 | src/net/tmwa/tradehandler.cpp:86 |
0x00E6 | 3 | CMSG_TRADE_RESPONSE | src/net/tmwa/tradehandler.cpp:250 | src/map/clif.c:7876 |
0x00E7 | 3 | SMSG_TRADE_RESPONSE | src/map/clif.c:3198 | src/net/tmwa/tradehandler.cpp:120 |
0x00E8 | 8 | CMSG_TRADE_ITEM_ADD_REQUEST | src/net/tmwa/tradehandler.cpp:256 src/net/tmwa/tradehandler.cpp:268 |
src/map/clif.c:7887 |
0x00E9 | 19 | SMSG_TRADE_ITEM_ADD | src/map/clif.c:3218 | src/net/tmwa/tradehandler.cpp:159 |
0x00EB | 2 | CMSG_TRADE_ADD_COMPLETE | src/net/tmwa/tradehandler.cpp:275 | src/map/clif.c:7898 |
0x00EC | 3 | SMSG_TRADE_OK | src/map/clif.c:3320 | src/net/tmwa/tradehandler.cpp:218 |
0x00ED | 2 | CMSG_TRADE_CANCEL_REQUEST | src/net/tmwa/tradehandler.cpp:285 | src/map/clif.c:7907 |
0x00EE | 2 | SMSG_TRADE_CANCEL | src/map/clif.c:3338 | src/net/tmwa/tradehandler.cpp:223 |
0x00EF | 2 | CMSG_TRADE_OK | src/net/tmwa/tradehandler.cpp:280 | src/map/clif.c:7916 |
0x00F0 | 3 | SMSG_TRADE_COMPLETE | src/map/clif.c:3355 | src/net/tmwa/tradehandler.cpp:230 |
0x00F2 | 6 | SMSG_PLAYER_STORAGE_STATUS | src/map/clif.c:3375 src/map/clif.c:3459 |
src/net/tmwa/inventoryhandler.cpp:306 |
0x00F3 | 8 | CMSG_MOVE_TO_STORAGE | src/net/tmwa/inventoryhandler.cpp:508 | src/map/clif.c:8370 |
0x00F4 | 21 | SMSG_PLAYER_STORAGE_ADD | src/map/clif.c:3396 src/map/clif.c:3481 |
src/net/tmwa/inventoryhandler.cpp:331 |
0x00F5 | 8 | CSMG_MOVE_FROM_STORAGE | src/net/tmwa/inventoryhandler.cpp:514 | src/map/clif.c:8393 |
0x00F6 | 8 | SMSG_PLAYER_STORAGE_REMOVE | src/map/clif.c:3543 | src/net/tmwa/inventoryhandler.cpp:353 |
0x00F7 | 2 | CMSG_CLOSE_STORAGE | src/net/tmwa/inventoryhandler.cpp:500 | src/map/clif.c:8452 |
0x00F8 | 2 | SMSG_PLAYER_STORAGE_CLOSE | src/map/clif.c:3562 | src/net/tmwa/inventoryhandler.cpp:365 |
0x00F9 | 26 | CMSG_PARTY_CREATE | src/net/tmwa/partyhandler.cpp:313 | src/map/clif.c:8469 |
0x00FA | 3 | SMSG_PARTY_CREATE | src/map/clif.c:5231 | src/net/tmwa/partyhandler.cpp:79 |
0x00FB | -1 | SMSG_PARTY_INFO | src/map/clif.c:5249 | src/net/tmwa/partyhandler.cpp:88 |
0x00FC | 6 | CMSG_PARTY_INVITE | src/net/tmwa/partyhandler.cpp:324 | src/map/clif.c:8510 |
0x00FD | 27 | SMSG_PARTY_INVITE_RESPONSE | src/map/clif.c:5327 | src/net/tmwa/partyhandler.cpp:112 |
0x00FE | 30 | SMSG_PARTY_INVITED | src/map/clif.c:5299 | src/net/tmwa/partyhandler.cpp:139 |
0x00FF | 10 | CMSG_PARTY_INVITED | src/net/tmwa/partyhandler.cpp:352 | src/map/clif.c:8522 |
0x0100 | 2 | CMSG_PARTY_LEAVE | src/net/tmwa/partyhandler.cpp:359 | src/map/clif.c:8540 |
0x0101 | 6 | SMSG_PARTY_SETTINGS | src/map/clif.c:5358 | src/net/tmwa/partyhandler.cpp:157 |
0x0102 | 6 | CMSG_PARTY_SETTINGS | src/net/tmwa/partyhandler.cpp:402 src/net/tmwa/partyhandler.cpp:412 |
src/map/clif.c:8558 |
0x0103 | 30 | CMSG_PARTY_KICK | src/net/tmwa/partyhandler.cpp:364 src/net/tmwa/partyhandler.cpp:379 |
src/map/clif.c:8549 |
0x0104 | 79 | SMSG_PARTY_MOVE | src/map/clif.c:5485 | src/net/tmwa/partyhandler.cpp:220 |
0x0105 | 31 | SMSG_PARTY_LEAVE | src/map/clif.c:5383 | src/net/tmwa/partyhandler.cpp:232 |
0x0106 | 10 | SMSG_PARTY_UPDATE_HP | src/map/clif.c:5463 | src/net/tmwa/partyhandler.cpp:263 |
0x0107 | 10 | SMSG_PARTY_UPDATE_COORDS | src/map/clif.c:5443 | src/net/tmwa/partyhandler.cpp:283 |
0x0108 | -1 | CMSG_PARTY_MESSAGE | src/net/tmwa/partyhandler.cpp:386 | src/map/clif.c:8571 |
0x0109 | -1 | SMSG_PARTY_MESSAGE | src/map/clif.c:5424 | src/net/tmwa/partyhandler.cpp:290 |
0x010C | 6 | SMSG_MVP | src/map/clif.c:5708 | src/net/tmwa/chathandler.cpp:187 |
0x010E | 11 | SMSG_PLAYER_SKILL_UP SMSG_GUILD_SKILL_UP |
src/map/clif.c:4186 src/map/clif.c:6345 |
src/net/tmwa/specialhandler.cpp:115 src/net/tmwa/guildhandler.cpp:253 |
0x010F | -1 | SMSG_PLAYER_SKILLS | src/map/clif.c:4145 | src/net/tmwa/specialhandler.cpp:93 |
0x0110 | 10 | SMSG_SKILL_FAILED | src/map/clif.c:4259 | src/net/tmwa/specialhandler.cpp:129 |
0x0112 | 4 | CMSG_SKILL_LEVELUP_REQUEST | src/net/tmwa/playerhandler.cpp:597 | src/map/clif.c:8002 |
0x0113 | 10 | CMSG_SKILL_USE_BEING | src/net/tmwa/specialhandler.cpp:234 | src/map/clif.c:8011 |
0x0116 | 10 | CMSG_SKILL_USE_POSITION | src/net/tmwa/specialhandler.cpp:242 | src/map/clif.c:8088 |
0x0119 | 13 | SMSG_PLAYER_STATUS_CHANGE | src/map/clif.c:1268 src/map/clif.c:2885 |
src/net/tmwa/beinghandler.cpp:671 |
0x011B | 20 | CMSG_SKILL_USE_MAP | src/net/tmwa/specialhandler.cpp:251 | src/map/clif.c:8158 |
0x0139 | 16 | SMSG_PLAYER_MOVE_TO_ATTACK | src/map/clif.c:5510 | src/net/tmwa/beinghandler.cpp:662 |
0x013A | 4 | SMSG_PLAYER_ATTACK_RANGE | src/map/clif.c:2474 | src/net/tmwa/inventoryhandler.cpp:423 |
0x013B | 4 | SMSG_PLAYER_ARROW_MESSAGE | src/map/clif.c:2780 | src/net/tmwa/playerhandler.cpp:545 |
0x013C | 4 | SMSG_PLAYER_ARROW_EQUIP | src/map/clif.c:2761 | src/net/tmwa/inventoryhandler.cpp:427 |
0x0141 | 14 | SMSG_PLAYER_STAT_UPDATE_3 | src/map/clif.c:2482 src/map/clif.c:2489 src/map/clif.c:2496 src/map/clif.c:2503 src/map/clif.c:2510 src/map/clif.c:2517 |
src/net/tmwa/playerhandler.cpp:370 |
0x0142 | 6 | SMSG_NPC_INT_INPUT | src/map/clif.c:1772 | src/net/tmwa/npchandler.cpp:116 |
0x0143 | 10 | CMSG_NPC_INT_RESPONSE | src/net/tmwa/npchandler.cpp:166 | src/map/clif.c:8215 |
0x0146 | 6 | CMSG_NPC_CLOSE | src/net/tmwa/npchandler.cpp:146 | src/map/clif.c:8265 |
0x0148 | 8 | SMSG_BEING_RESURRECT | src/map/clif.c:4667 | src/net/tmwa/beinghandler.cpp:293 |
0x0149 | 9 | CMSG_ADMIN_MUTE | src/net/tmwa/adminhandler.cpp:137 | src/map/clif.c:9025 |
0x014C | -1 | SMSG_GUILD_ALIANCE_INFO | src/map/clif.c:5962 | src/net/tmwa/guildhandler.cpp:157 |
0x014D | 2 | CMSG_GUILD_CHECK_MASTER | src/map/clif.c:8661 | |
0x014E | 6 | SMSG_GUILD_MASTER_OR_MEMBER | src/map/clif.c:5842 | src/net/tmwa/guildhandler.cpp:134 |
0x014F | 6 | CMSG_GUILD_REQUEST_INFO | src/net/tmwa/guildhandler.cpp:457 | src/map/clif.c:8670 |
0x0151 | 6 | CMSG_GUILD_REQUEST_EMBLEM | src/map/clif.c:8760 | |
0x0152 | -1 | SMSG_GUILD_EMBLEM | src/map/clif.c:6135 | src/net/tmwa/guildhandler.cpp:243 |
0x0153 | -1 | CMSG_GUILD_CHANGE_EMBLEM | src/map/clif.c:8771 | |
0x0154 | -1 | SMSG_GUILD_MEMBER_LIST | src/map/clif.c:5996 | src/net/tmwa/guildhandler.cpp:171 |
0x0155 | -1 | CMSG_GUILD_CHANGE_MEMBER_POS | src/map/clif.c:8731 | |
0x0156 | -1 | SMSG_GUILD_MEMBER_POS_CHANGE | src/map/clif.c:6110 | src/net/tmwa/guildhandler.cpp:236 |
0x0159 | 54 | CMSG_GUILD_LEAVE | src/net/tmwa/guildhandler.cpp:425 | src/map/clif.c:8807 |
0x015A | 66 | SMSG_GUILD_LEAVE | src/map/clif.c:6252 | src/net/tmwa/guildhandler.cpp:322 |
0x015B | 54 | CMSG_GUILD_EXPULSION | src/net/tmwa/guildhandler.cpp:434 | src/map/clif.c:8817 |
0x015C | 90 | SMSG_GUILD_EXPULSION | src/map/clif.c:6270 | src/net/tmwa/guildhandler.cpp:327 |
0x015D | 42 | CMSG_GUILD_BREAK | src/map/clif.c:8907 | |
0x015E | 6 | SMSG_GUILD_BROKEN | src/map/clif.c:6453 | src/net/tmwa/guildhandler.cpp:384 |
0x0160 | -1 | SMSG_GUILD_POS_INFO_LIST | src/map/clif.c:6062 | src/net/tmwa/guildhandler.cpp:212 |
0x0161 | -1 | CMSG_GUILD_CHANGE_POS_INFO | src/map/clif.c:8704 | |
0x0162 | -1 | SMSG_GUILD_SKILL_INFO | src/map/clif.c:6160 | src/net/tmwa/guildhandler.cpp:253 |
0x0163 | -1 | SMSG_GUILD_EXPULSION_LIST | src/map/clif.c:6294 | src/net/tmwa/guildhandler.cpp:333 |
0x0165 | 30 | CMSG_GUILD_CREATE | src/net/tmwa/guildhandler.cpp:396 | src/map/clif.c:8652 |
0x0166 | -1 | SMSG_GUILD_POS_NAME_LIST | src/map/clif.c:6036 | src/net/tmwa/guildhandler.cpp:199 |
0x0167 | 3 | SMSG_GUILD_CREATE_RESPONSE | src/map/clif.c:5771 | src/net/tmwa/guildhandler.cpp:91 |
0x0168 | 14 | CMSG_GUILD_INVITE | src/net/tmwa/guildhandler.cpp:408 | src/map/clif.c:8789 |
0x0169 | 3 | SMSG_GUILD_INVITE_ACK | src/map/clif.c:6235 | src/net/tmwa/guildhandler.cpp:288 |
0x016A | 30 | SMSG_GUILD_INVITE | src/map/clif.c:6217 | src/net/tmwa/guildhandler.cpp:279 |
0x016B | 10 | CMSG_GUILD_INVITE_REPLY | src/net/tmwa/guildhandler.cpp:416 | src/map/clif.c:8798 |
0x016C | 43 | SMSG_GUILD_POSITION_INFO | src/map/clif.c:5792 | src/net/tmwa/guildhandler.cpp:114 |
0x016D | 14 | SMSG_GUILD_MEMBER_LOGIN | src/map/clif.c:5811 | src/net/tmwa/guildhandler.cpp:128 |
0x016E | 186 | CMSG_GUILD_CHANGE_NOTICE | src/map/clif.c:8780 | |
0x016F | 182 | SMSG_GUILD_NOTICE | src/map/clif.c:6198 | src/net/tmwa/guildhandler.cpp:274 |
0x0170 | 14 | CMSG_GUILD_ALLIANCE_REQUEST | src/map/clif.c:8871 | |
0x0171 | 30 | SMSG_GUILD_REQ_ALLIANCE | src/map/clif.c:6367 | src/net/tmwa/guildhandler.cpp:366 |
0x0172 | 10 | CMSG_GUILD_ALLIANCE_REPLY | src/map/clif.c:8880 | |
0x0173 | 3 | SMSG_GUILD_REQ_ALLIANCE_ACK | src/map/clif.c:6385 | src/net/tmwa/guildhandler.cpp:371 |
0x0174 | -1 | SMSG_GUILD_POSITION_CHANGED | src/map/clif.c:6087 | src/net/tmwa/guildhandler.cpp:227 |
0x017E | -1 | CMSG_GUILD_MESSAGE | src/net/tmwa/guildhandler.cpp:443 | src/map/clif.c:8831 |
0x017F | -1 | SMSG_GUILD_MESSAGE | src/map/clif.c:6323 src/map/clif.c:6581 |
src/net/tmwa/guildhandler.cpp:347 |
0x0180 | 6 | CMSG_GUILD_OPPOSITION | src/map/clif.c:8898 | |
0x0181 | 3 | SMSG_GUILD_OPPOSITION_ACK | src/map/clif.c:6421 | src/net/tmwa/guildhandler.cpp:380 |
0x0183 | 10 | CMSG_GUILD_ALLIANCE_DELETE | src/map/clif.c:8889 | |
0x0184 | 10 | SMSG_GUILD_DEL_ALLIANCE | src/map/clif.c:6403 | src/net/tmwa/guildhandler.cpp:375 |
0x018A | 4 | CMSG_CLIENT_QUIT | src/net/tmwa/gamehandler.cpp:161 | src/map/clif.c:6611 |
0x018B | 4 | SMSG_MAP_QUIT_RESPONSE | src/map/clif.c:7012 src/map/clif.c:7440 |
src/net/tmwa/gamehandler.cpp:98 |
0x0190 | 90 | CMSG_SKILL_USE_POSITION_MORE | src/map/clif.c:8088 | |
0x0195 | 102 | SMSG_PLAYER_GUILD_PARTY_INFO | src/map/clif.c:7107 | src/net/tmwa/beinghandler.cpp:490 |
0x0196 | 9 | SMSG_BEING_STATUS_CHANGE | src/map/clif.c:4585 | src/net/tmwa/beinghandler.cpp:688 |
0x019B | 10 | SMSG_BEING_SELFEFFECT | src/map/clif.c:2858 src/map/clif.c:6696 |
src/net/tmwa/beinghandler.cpp:372 |
0x019C | 4 | CMSG_ADMIN_LOCAL_ANNOUNCE | src/net/tmwa/adminhandler.cpp:91 | src/map/clif.c:8350 |
0x019D | 6 | CMSG_ADMIN_HIDE | src/net/tmwa/adminhandler.cpp:98 | src/map/clif.c:8996 |
0x01B1 | 7 | SMSG_TRADE_ITEM_ADD_RESPONSE | src/map/clif.c:3299 | src/net/tmwa/tradehandler.cpp:176 |
0x01B6 | 114 | SMSG_GUILD_BASIC_INFO | src/map/clif.c:5865 | src/net/tmwa/guildhandler.cpp:138 |
0x01C8 | 13 | SMSG_PLAYER_INVENTORY_USE | src/map/clif.c:2945 | src/net/tmwa/inventoryhandler.cpp:265 |
0x01D4 | 6 | SMSG_NPC_STR_INPUT | src/map/clif.c:1790 | src/net/tmwa/npchandler.cpp:121 |
0x01D5 | 8 | CMSG_NPC_STR_RESPONSE | src/net/tmwa/npchandler.cpp:173 | src/map/clif.c:8234 |
0x01D7 | 11 | SMSG_BEING_CHANGE_LOOKS2 | src/map/clif.c:2608 src/map/clif.c:2675 |
src/net/tmwa/beinghandler.cpp:401 |
0x01D8 | 54 | SMSG_PLAYER_UPDATE_1 | src/map/clif.c:845 | src/net/tmwa/beinghandler.cpp:511 |
0x01D9 | 53 | SMSG_PLAYER_UPDATE_2 | src/map/clif.c:1292 | src/net/tmwa/beinghandler.cpp:512 |
0x01DA | 60 | SMSG_PLAYER_MOVE | src/map/clif.c:934 | src/net/tmwa/beinghandler.cpp:513 |
0x01DE | 33 | SMSG_SKILL_DAMAGE | src/map/clif.c:4298 | src/net/tmwa/beinghandler.cpp:311 |
0x01EE | -1 | SMSG_PLAYER_INVENTORY | src/map/clif.c:1965 | src/net/tmwa/inventoryhandler.cpp:134 |
0x01F0 | -1 | SMSG_PLAYER_STORAGE_ITEMS | src/map/clif.c:2097 src/map/clif.c:2225 |
src/net/tmwa/inventoryhandler.cpp:135 |
0x020C | 10 | SMSG_ADMIN_IP | src/map/clif.c:7120 | src/net/tmwa/adminhandler.cpp:69 |
0x7530 | 2 | CMSG_SERVER_VERSION_REQUEST | src/net/tmwa/loginhandler.cpp:220 | src/login/login.c:2257 src/login/login.c:4011 src/char/char.c:3568 src/map/clif.c:10174 |
0x7531 | 10 | SMSG_SERVER_VERSION_RESPONSE | src/login/login.c:2260 src/login/login.c:4014 src/char/char.c:3569 src/map/clif.c:10175 |
src/net/tmwa/loginhandler.cpp:197 |
Free Packets
These are packets that are not parsed or sent by the client, but have a known length, so they can be used by future servers and the client will just ignore them, not crash.
packet | len | notes |
---|---|---|
0x0000 | 10 | |
0x0074 | 3 | |
0x0075 | -1 | |
0x0076 | 9 | |
0x0077 | 5 | |
0x0079 | 53 | |
0x007A | 58 | |
0x0082 | 2 | |
0x0083 | 2 | |
0x0084 | 2 | |
0x008B | 23 | |
0x0093 | 2 | |
0x00A3 | -1 | |
0x00A5 | -1 | |
0x00AE | -1 | |
0x00BA | 2 | |
0x00CE | 2 | |
0x00CF | 27 | clif_parse_PMIgnore |
0x00D0 | 3 | clif_parse_PMIgnoreAll, used by ManaPlus |
0x00D1 | 4 | |
0x00D2 | 4 | used by ManaPlus (sent from atcommand.cpp) |
0x00D3 | 2 | |
0x00D4 | -1 | |
0x00D5 | -1 | clif_parse_CreateChatRoom |
0x00D6 | 3 | |
0x00D7 | -1 | |
0x00D8 | 6 | |
0x00D9 | 14 | clif_parse_ChatAddMember |
0x00DA | 3 | |
0x00DB | -1 | |
0x00DC | 28 | |
0x00DD | 29 | |
0x00DE | -1 | clif_parse_ChatRoomStatusChange |
0x00DF | -1 | |
0x00E0 | 30 | clif_parse_ChangeChatOwner |
0x00E1 | 30 | |
0x00E2 | 26 | clif_parse_KickFromChat |
0x00E3 | 2 | clif_parse_ChatLeave |
0x00EA | 5 | |
0x00F1 | 2 | |
0x010A | 4 | |
0x010B | 6 | |
0x010D | 2 | clif_parse_RequestMemo |
0x0111 | 39 | |
0x0114 | 31 | |
0x0115 | 35 | |
0x0117 | 18 | |
0x0118 | 2 | clif_parse_StopAttack, used by ManaPlus |
0x011A | 15 | SMSG_SKILL_NO_DAMAGE, used by ManaPlus |
0x011C | 68 | |
0x011D | 2 | clif_parse_RequestMemo |
0x011E | 3 | |
0x011F | 16 | |
0x0120 | 6 | |
0x0121 | 14 | |
0x0122 | -1 | |
0x0123 | -1 | |
0x0124 | 21 | |
0x0125 | 8 | |
0x0126 | 8 | clif_parse_PutItemToCart |
0x0127 | 8 | clif_parse_GetItemFromCart |
0x0128 | 8 | clif_parse_MoveFromKafraToCart |
0x0129 | 8 | clif_parse_MoveToKafraFromCart |
0x012A | 2 | clif_parse_RemoveOption |
0x012B | 2 | |
0x012C | 3 | |
0x012D | 4 | |
0x012E | 2 | |
0x012F | -1 | |
0x0130 | 6 | |
0x0131 | 86 | |
0x0132 | 6 | |
0x0133 | -1 | |
0x0134 | -1 | |
0x0135 | 7 | |
0x0136 | -1 | |
0x0137 | 6 | |
0x0138 | 3 | |
0x013D | 6 | |
0x013E | 24 | SMSG_SKILL_CASTING, used by ManaPlus |
0x013F | 26 | clif_parse_GM_Monster_Item |
0x0140 | 22 | clif_parse_MapMove |
0x0144 | 23 | |
0x0145 | 19 | |
0x0147 | 39 | |
0x014A | 6 | |
0x014B | 27 | |
0x0150 | 110 | |
0x0157 | 6 | |
0x0158 | -1 | |
0x015F | 42 | |
0x0164 | -1 | |
0x0175 | 6 | |
0x0176 | 106 | |
0x0177 | -1 | |
0x0178 | 4 | clif_parse_ItemIdentify |
0x0179 | 5 | |
0x017A | 4 | clif_parse_UseCard |
0x017B | -1 | |
0x017C | 6 | clif_parse_InsertCard |
0x017D | 7 | |
0x0182 | 106 | |
0x0185 | 34 | |
0x0187 | 6 | src/char/char.c:3562 |
0x0188 | 8 | |
0x0189 | 4 | |
0x018C | 29 | |
0x018D | -1 | |
0x018E | 10 | |
0x018F | 6 | |
0x0191 | 86 | |
0x0192 | 24 | |
0x0193 | 6 | clif_parse_SolveCharName |
0x0194 | 30 | |
0x0197 | 4 | clif_parse_ResetChar |
0x0198 | 8 | |
0x0199 | 4 | SMSG_PVP_MAP_MODE, used by ManaPlus |
0x019A | 14 | SMSG_PVP_SET, used by ManaPlus |
0x019E | 2 | |
0x019F | 6 | |
0x01A0 | 3 | |
0x01A1 | 3 | |
0x01A2 | 35 | |
0x01A3 | 5 | |
0x01A4 | 11 | |
0x01A5 | 26 | |
0x01A6 | -1 | |
0x01A7 | 4 | |
0x01A8 | 4 | |
0x01A9 | 6 | |
0x01AA | 10 | |
0x01AB | 12 | |
0x01AC | 6 | |
0x01AD | -1 | |
0x01AE | 4 | |
0x01AF | 4 | clif_parse_ChangeCart |
0x01B0 | 11 | |
0x01B2 | -1 | |
0x01B3 | 67 | |
0x01B4 | 12 | |
0x01B5 | 18 | |
0x01B7 | 6 | |
0x01B8 | 3 | |
0x01B9 | 6 | SMSG_SKILL_CAST_CANCEL, used by ManaPlus |
0x01BA | 26 | clif_parse_Shift |
0x01BB | 26 | clif_parse_Shift |
0x01BC | 26 | clif_parse_Recall |
0x01BD | 26 | clif_parse_Recall |
0x01BE | 2 | |
0x01BF | 3 | |
0x01C0 | 2 | |
0x01C1 | 14 | |
0x01C2 | 10 | |
0x01C3 | -1 | |
0x01C4 | 22 | |
0x01C5 | 22 | |
0x01C6 | 4 | |
0x01C7 | 2 | |
0x01C9 | 97 | |
0x01CB | 9 | |
0x01CC | 9 | |
0x01CD | 29 | |
0x01CE | 6 | clif_parse_AutoSpell |
0x01CF | 28 | |
0x01D0 | 8 | |
0x01D1 | 14 | |
0x01D2 | 10 | |
0x01D3 | 35 | |
0x01D6 | 4 | |
0x01DB | 2 | src/login/login.c:3861 |
0x01DC | -1 | src/login/login.c:3898 |
0x01DD | 47 | src/login/login.c:3645 |
0x01DF | 6 | clif_parse_GMReqNoChatCount |
0x01E0 | 30 | |
0x01E1 | 8 | |
0x01E2 | 34 | |
0x01E3 | 14 | |
0x01E4 | 2 | |
0x01E5 | 6 | |
0x01E6 | 26 | |
0x01E7 | 2 | clif_parse_sn_doridori |
0x01E8 | 28 | clif_parse_CreateParty2 |
0x01E9 | 81 | |
0x01EA | 6 | |
0x01EB | 10 | |
0x01EC | 26 | |
0x01ED | 2 | clif_parse_sn_explosionspirits |
0x01EF | -1 | |
0x01F1 | -1 | |
0x01F2 | 20 | |
0x01F3 | 10 | |
0x01F4 | 32 | |
0x01F5 | 9 | |
0x01F6 | 34 | |
0x01F7 | 14 | |
0x01F8 | 2 | |
0x01F9 | 6 | |
0x01FA | 48 | |
0x01FB | 56 | |
0x01FC | -1 | |
0x01FD | 4 | |
0x01FE | 5 | |
0x01FF | 10 | |
0x0200 | 26 | src/login/login.c:3632 |
0x0204 | 18 | src/login/login.c:3638 |
0x020B | 19 | src/char/char.c:3030 |
Internal Packets
These packets are sent between the servers. Details are subject to change without notice.
login - char
Packet:0x2716Packet:0x2717Packet:0x2740Packet:0x2741Packet | Length | Name | Sent and Parsed Locations |
---|
login - admin
Packet | Length | Name | Sent and Parsed Locations |
---|
char - map
Packet | Length | Name | Sent and Parsed Locations |
---|
inter.cpp recv
0x3000 | -1 |
0x3001 | -1 |
0x3002 | 7 |
0x3003 | -1 |
0x3004 | -1 |
0x3005 | 6 |
0x3010 | 6 |
0x3011 | -1 |
0x3018 | 10 |
0x3019 | -1 |
0x3020 | 72 |
0x3021 | 6 |
0x3022 | 52 |
0x3023 | 14 |
0x3024 | 10 |
0x3025 | 29 |
0x3026 | 6 |
0x3027 | -1 |
0x3028 | 34 |
0x3030 | -1 |
0x3031 | 6 |
0x3032 | -1 |
0x3034 | 55 |
0x3035 | 19 |
0x3036 | 6 |
0x3037 | -1 |
0x3038 | 14 |
0x3039 | -1 |
0x303a | -1 |
0x303b | -1 |
0x303c | 14 |
0x303d | 19 |
0x303e | 186 |
0x303f | -1 |
0x3040 | 5 |
0x3041 | 9 |
0x3080 | 48 |
0x3081 | 14 |
0x3082 | -1 |
0x3083 | 6 |
intif.cpp recv
0x3800 | -1 |
0x3801 | -1 |
0x3802 | 27 |
0x3803 | -1 |
0x3804 | -1 |
0x3810 | -1 |
0x3811 | 7 |
0x3818 | -1 |
0x3819 | 11 |
0x3820 | 35 |
0x3821 | -1 |
0x3822 | 11 |
0x3823 | 15 |
0x3824 | 34 |
0x3825 | 29 |
0x3826 | 7 |
0x3827 | -1 |
0x3830 | 10 |
0x3831 | -1 |
0x3832 | 15 |
0x3834 | 79 |
0x3835 | 19 |
0x3836 | 7 |
0x3837 | -1 |
0x3839 | -1 |
0x383a | -1 |
0x383b | -1 |
0x383c | 14 |
0x383d | 67 |
0x383e | 186 |
0x383f | -1 |
0x3840 | 9 |
0x3841 | 9 |
0x3842 | -1 |
0x3880 | 11 |
0x3881 | -1 |
0x3882 | 7 |
0x3883 | 3 |
chrif.cpp recv
0x2af8 | 60 |
0x2af9 | 3 |
0x2afa | 10 |
0x2afb | 27 |
0x2afc | 22 |
0x2afd | -1 |
0x2afe | 6 |
0x2aff | -1 |
0x2b00 | 6 |
0x2b01 | -1 |
0x2b02 | 18 |
0x2b03 | 7 |
0x2b04 | -1 |
0x2b05 | 49 |
0x2b06 | 44 |
0x2b08 | 6 |
0x2b09 | 30 |
0x2b0a | -1 |
0x2b0b | 10 |
0x2b0c | 86 |
0x2b0d | 7 |
0x2b0e | 44 |
0x2b0f | 34 |
0x2b10 | -1 |
0x2b11 | -1 |
0x2b12 | 10 |
0x2b13 | 6 |
0x2b14 | 11 |
0x2b15 | -1 |