Old Engine/Game Protocol
From RuneWiki
Client Packets
The IDs here are not the revision-specific opcodes. It is the unscrambled packet ID. This table does have some 317-specific opcodes and transformations inside.
Eventually this list will be modified by a revision dropdown!
| ID | 317 Opcode | Name | Size | Length | Format |
|---|---|---|---|---|---|
| 6 | 0 | keepalive | Fixed | 0 | N/A |
| 30 | 202 | idle-timer | Fixed | 0 | N/A |
| 31 | 241 | mouse-clicked | Fixed | 4 | DWord |
| 32 | 45 | player-flagged-data | Variable Byte | 1+ | Bytes |
| 33 | 3 | client-focus | Fixed | 1 | Byte |
| 35 | 86 | camera-movement | Fixed | 4 | Word, WordAdd |
| 36 | 210 | client-running-as-frame | Fixed | 4 | DWord |
| 60 | 200 | anti-cheat-1 | Fixed | 2 | Word |
| 61 | 152 | anti-cheat-2 | Fixed | 1 | Byte |
| 62 | 189 | anti-cheat-3 | Fixed | 1 | Byte |
| 63 | 36 | anti-cheat-movement | Fixed | 4 | DWord |
| 64 | 183 | anti-cheat-5 | Fixed | 3 | SWord |
| 65 | 136 | anti-cheat-6 | Fixed | 0 | N/A |
| 66 | 85 | anti-cheat-7 | Fixed | 1 | Byte |
| 67 | 230 | anti-cheat-8 | Fixed | 1 | Byte |
| 70 | 226 | anti-cheat-9 | Variable Byte | 1+ | Bytes |
| 71 | 238 | anti-cheat-10 | Fixed | 1 | Byte |
| 72 | 150 | anti-cheat-11 | Fixed | 0 | N/A |
| 73 | 246 | anti-cheat-12 | Variable Byte | 1+ | Bytes |
| 74 | 78 | anti-cheat-13 | Fixed | 0 | N/A |
| 75 | 165 | anti-cheat-14 | Variable Byte | 1+ | Bytes |
| 76 | 77 | anti-cheat-15 | Variable Byte | 1+ | Bytes |
| 77 | 148 | anti-cheat-16 | Fixed | 0 | N/A |
| 80 | 156 | anti-cheat-17 | Fixed | 6 | WordAdd, WordLE, WordAddLE |
| 81 | 23 | anti-cheat-18 | Fixed | 6 | WordLE, WordLE, WordLE |
| 82 | 236 | pickup-ground-item | Fixed | 6 | WordLE, Word, WordLE |
| 83 | 253 | ground-action-item | Fixed | 6 | WordLE, WordAddLE, WordAdd |
| 84 | 79 | light-item | Fixed | 6 | WordLE, Word, WordAdd |
| 88 | 181 | magic-on-ground-item | Fixed | 8 | WordLE, Word, WordLE, WordAdd |
| 89 | 25 | item-on-ground-item | Fixed | 12 | WordLE, WordAddLE, Word, WordAdd, WordAddLE, Word |
| 100 | 155 | npc-action-1 | Fixed | 2 | WordLE |
| 101 | 72 | npc-action-2 | Fixed | 2 | WordAdd |
| 102 | 17 | npc-action-3 | Fixed | 2 | WordAddLE |
| 103 | 21 | npc-action-4 | Fixed | 2 | Word |
| 104 | 18 | npc-action-5 | Fixed | 2 | WordAddLE |
| 108 | 131 | magic-on-npc | Fixed | 4 | WordAddLE, WordAdd |
| 109 | 57 | item-on-npc | Fixed | 8 | WordAdd, WordAdd, WordLE, WordAdd |
| 120 | 132 | object-action-1 | Fixed | 6 | WordAddLE, Word, WordAdd |
| 121 | 252 | object-action-2 | Fixed | 6 | WordAddLE, WordLE, WordAdd |
| 122 | 70 | object-action-3 | Fixed | 6 | WordLE, Word, WordAddLE |
| 123 | 234 | object-action-4 | Fixed | 6 | WordAddLE, Word, WordAddLE |
| 124 | 228 | object-action-5 | Fixed | 6 | WordAdd, WordAdd, Word |
| 128 | 35 | magic-on-object | Fixed | 8 | WordLE, WordAdd, WordAdd, WordLE |
| 129 | 192 | item-on-object | Fixed | 12 | Word, WordLE, WordAddLE, WordLE, WordAddLE, Word |
| 140 | 128 | player-action-1 | Fixed | 2 | Word |
| 141 | 153 | player-action-2 | Fixed | 2 | WordLE |
| 142 | 73 | player-action-3 | Fixed | 2 | WordLE |
| 143 | 139 | player-action-4 | Fixed | 2 | WordLE |
| 144 | 39 | player-action-5 | Fixed | 2 | WordLE |
| 148 | 249 | magic-on-player | Fixed | 2 | WordAdd, WordLE |
| 149 | 14 | item-on-player | Fixed | 8 | WordAdd, Word, Word, WordLE |
| 160 | 122 | item-option-1 | Fixed | 6 | WordAddLE, WordAdd, WordLE |
| 161 | 41 | item-option-2 | Fixed | 6 | Word, WordAdd, WordAdd |
| 162 | 16 | item-option-3 | Fixed | 6 | WordAdd, WordAddLE, WordAddLE |
| 163 | 75 | item-option-4 | Fixed | 6 | WordAddLE, WordLE, WordAdd |
| 164 | 87 | item-option-5 | Fixed | 6 | WordAdd, Word, WordAdd |
| 168 | 237 | magic-on-item | Fixed | 8 | Word, WordAdd, Word, WordAdd |
| 169 | 53 | item-on-item | Fixed | 12 | Word, WordAdd, WordAddLE, Word, WordLE, Word |
| 190 | 145 | item-action-1 | Fixed | 6 | WordAdd, WordAdd, WordAdd |
| 191 | 117 | item-action-2 | Fixed | 6 | WordAddLE, WordAddLE, WordLE |
| 192 | 43 | item-action-3 | Fixed | 6 | WordLE, WordAdd, WordAdd |
| 193 | 129 | item-action-4 | Fixed | 6 | WordAdd, Word, WordAdd |
| 194 | 135 | item-action-5 | Fixed | 6 | WordLE, WordAdd, WordLE |
| 200 | 185 | interface-button | Fixed | 2 | Word |
| 201 | 40 | interface-continue | Fixed | 2 | Word |
| 202 | 130 | interface-closed | Fixed | 0 | N/A |
| 203 | 208 | interface-amount | Fixed | 4 | DWord |
| 204 | 120 | interface-flashing-tab-clicked | Fixed | 1 | Byte |
| 205 | 60 | interface-name | Fixed | 8 | Base37 |
| 241 | 121 | region-loaded | Fixed | 0 | N/A |
| 242 | 98 | world-action-movement | Variable Byte | 7+ | ByteSigned, ByteSigned, BytesSigned, WordLE, ByteNeg |
| 243 | 218 | report-abuse | Fixed | 10 | QWord, Byte, Byte |
| 244 | 248 | minimap-movement | Variable Byte | 21+ | ByteSigned, ByteSigned, BytesSigned, WordLE, ByteNeg, Bytes (14) |
| 245 | 214 | item-move | Fixed | 7 | WordAddLE, ByteNeg, WordAddLE, WordLE |
| 246 | 74 | social-ignore-remove | Fixed | 8 | Base37 |
| 247 | 133 | social-ignore-add | Fixed | 8 | Base37 |
| 248 | 101 | interface-design | Fixed | 13 | Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte |
| 249 | 95 | privacy-options | Fixed | 3 | Byte, Byte, Byte |
| 250 | 126 | chat-private | Variable Byte | 9+ | Base37, Bytes |
| 251 | 215 | social-friend-remove | Fixed | 8 | Base37 |
| 252 | 188 | social-friend-add | Fixed | 8 | Base37 |
| 253 | 103 | chat-command | Variable Byte | 2+ | String |
| 254 | 4 | chat-public | Variable Byte | 3+ | ByteSub, ByteSub, ReverseBytesAdd |
| 255 | 164 | world-movement | Variable Byte | 7+ | ByteSigned, ByteSigned, BytesSigned, WordLE, ByteNeg |
Server Packets
The values listed here are using 317's order, opcodes, and transformations.
| Opcode | Name | Size | Length | Format |
|---|---|---|---|---|
| 1 | reset-animations | Fixed | 0 | N/A |
| 4 | interface-graphic | Fixed | 6 | Byte, WordLE, Byte, WordLE |
| 8 | interface-model | Fixed | 4 | WordAddLE, Word |
| 24 | interface-sidebar-flash | Fixed | 1 | ByteSub |
| 27 | interface-amount | Fixed | 0 | N/A |
| 34 | interface-item-slot | Variable Word | 2+ | Word, Bytes |
| 35 | camera-shake | Fixed | 4 | Byte, Byte, Byte, Byte |
| 36 | interface-setting | Fixed | 3 | WordLE, ByteSigned |
| 44 | ground-item-add | Fixed | 5 | WordAdd, WordLE, Byte |
| 50 | social-add-friend | Fixed | 9 | Base37, Byte |
| 53 | interface-item-array | Variable Word | 4+ | Word, Word, Bytes |
| 60 | process-group-packets | Variable Word | 1+ | Bytes |
| 61 | display-multi-icon | Fixed | 1 | Byte |
| 64 | ground-item-remove-all | Fixed | 2 | ByteNeg, ByteSub |
| 65 | update-npcs | Variable Word | 1+ | Bytes |
| 68 | interface-settings-reset | Fixed | 0 | N/A |
| 70 | interface-xy | Fixed | 6 | Word, WordLE, Word |
| 71 | interface-sidebar | Fixed | 3 | Word, ByteAdd |
| 72 | interface-items-clear | Fixed | 2 | Word |
| 73 | player-region | Fixed | 4 | WordAdd, Word |
| 74 | music | Fixed | 2 | WordLE |
| 75 | interface-npchead | Fixed | 4 | WordAddLE, WordAddLE |
| 78 | clear-walking-queue | Fixed | 0 | N/A |
| 79 | interface-scrollbar-position | Fixed | 4 | Word, WordAddLE |
| 81 | update-players | Variable Word | 1+ | Bytes |
| 84 | ground-item-update | Fixed | 7 | Byte, WordLE, WordLE, Word |
| 85 | player-position | Fixed | 2 | ByteNeg, ByteNeg |
| 97 | interface | Fixed | 2 | Word |
| 99 | player-minimap | Fixed | 1 | Byte |
| 101 | object-remove | Fixed | 2 | ByteNeg, Byte |
| 104 | player-set-action | Variable Byte | 3+ | ByteNeg, ByteAdd, String |
| 105 | sound-location | Fixed | 4 | Byte, WordLE, Byte |
| 106 | interface-sidebar-focus | Fixed | 1 | ByteNeg |
| 107 | camera-reset | Fixed | 0 | N/A |
| 109 | logout | Fixed | 0 | N/A |
| 110 | player-energy | Fixed | 1 | Byte |
| 114 | system-update | Fixed | 2 | WordLE |
| 117 | projectile | Fixed | 13 | Byte, Word, WordLE, Byte, Byte, WordLE, WordLE, Byte, Byte |
| 121 | music-queue | Fixed | 4 | WordAdd, WordAddLE |
| 122 | interface-color | Fixed | 4 | WordAddLE, WordAddLE |
| 126 | interface-text | Variable Word | 3+ | String, WordAdd |
| 134 | player-skill | Fixed | 6 | Byte, DWordMEBig, Byte |
| 142 | interface-inventory | Fixed | 2 | Word |
| 147 | player-to-object | Fixed | 10 | ByteSub, WordLE, ByteSub, Word, ByteNeg, WordLE, ByteSub, Byte, WordLE, ByteNeg |
| 151 | object-add | Fixed | 4 | ByteAdd, Word, ByteSub |
| 156 | ground-item-remove | Fixed | 3 | ByteAdd, WordLE |
| 160 | object-add-animated | Fixed | 4 | ByteSub, ByteSub, WordAddLE |
| 164 | interface-chatbox | Fixed | 2 | WordLE |
| 166 | camera-spin | Fixed | 6 | Byte, Byte, Word, Byte, Byte |
| 171 | interface-hover | Fixed | 3 | Byte, Word |
| 174 | sound | Fixed | 5 | Word, Byte, Word |
| 176 | interface-welcome | Fixed | 10 | ByteNeg, WordAdd, Byte, DWordMELittle, Word |
| 177 | camera-cutscene | Fixed | 6 | Byte, Byte, WordLE, Byte, Byte |
| 185 | interface-playerhead | Fixed | 2 | WordAddLE |
| 187 | interface-name | Fixed | 0 | N/A |
| 196 | social-message | Variable Byte | 16+ | Base37, DWord, Byte, Bytes |
| 200 | interface-animate | Fixed | 4 | Word, Word |
| 206 | interface-privacy | Fixed | 3 | Byte, Byte, Byte |
| 208 | interface-walkable | Fixed | 2 | WordLE |
| 214 | social-add-ignore | Variable Word | 8+ | Bytes |
| 215 | ground-item-add-other | Fixed | 7 | WordAddLE, ByteSub, WordAddLE, WordLE |
| 218 | interface-dialogue | Fixed | 2 | WordAddLE |
| 219 | interface-clear | Fixed | 0 | N/A |
| 221 | social-status | Fixed | 1 | Byte |
| 230 | interface-model-zoom | Fixed | 8 | WordAdd, Word, Word, WordAddLE |
| 240 | player-weight | Fixed | 2 | Word |
| 241 | player-region-construct | Variable Word | 1+ | Bytes |
| 246 | interface-item-model | Fixed | 6 | WordLE, Word, Word |
| 248 | interface-child | Fixed | 4 | WordAddLE, WordLE |
| 249 | player-info | Fixed | 3 | ByteAdd, WordAdd |
| 253 | server-message | Variable Byte | 1+ | String |
| 254 | mob-hint | Fixed | 3 | Byte, WordLE |