[[Category Packet]]
[[Category Packet 317]]
[[Category RS2]]
== '''Packet structure''' ==
When the client sends a packet to the server, the first byte encapsulates its [http://en.wikipedia.org/wiki/Opcode opcode]. This specific opcode is encrypted with a value generated by the [http://en.wikipedia.org/wiki/ISAAC_(cipher) ISAAC] [http://en.wikipedia.org/wiki/Pseudorandom_number_generator PRNG] seeded with a dynamically server generated key during the login block. The server decrypts it and associates the opcode to the packet's respective predefined size. If the packet does not contain a fixed size, the opcode will be followed by either a byte or a word - varying per packet - for its proper size. This is then followed by the [http://en.wikipedia.org/wiki/Payload_(software) payload].

A list of the 317 Packets may be found [http://rswiki.moparisthebest.com/index.php?title=Category:Packet:317 here].

== '''Login Protocol''' ==

== '''Player Updating''' ==

==Game Protocol==
The game protocol is the in-game communication of player actions between the server and client.
<br/>
===Server -> Client Packets===

{| border=2
|-
! Opcode
! Type
! Length (bytes)
! Name
! Description
|-
| 1
| FIXED
| 0
| [[317 Animation reset|Animation reset]]
| Resets all animations in the immediate area.
|-
| 24
| FIXED
| 1
| [[317 Flash sidebar|Flash sidebar]]
| Causes a sidebar icon to start flashing.
|-
| 27
| FIXED
| 0
| [[317 Input amount|Input Amount]]
| Displays the "Input amount" interface.
|-
| 35
| FIXED
| 4
| [[317 Camera shake|Camera shake]]
| Causes the camera to shake.
|-
| 50
| FIXED
| 9
| [[317 Send add friend|Send add friend]]
| Sends a friend to the friend list.
|-
| 68
| FIXED
| 0
| [[317 Reset button state|Reset button state]]
| Resets the button state for all buttons.
|-
| 70
| FIXED
| 6
| [[317 Interface offset|Interface offset]]
| Sets the offset for drawing of an interface.
|-
| 71
| FIXED
| 3
| [[317 Send sidebar interface|Send sidebar interface]]
| Assigns an interface to one of the tabs in the game sidebar.
|-
| 72
| FIXED
| 2
| [[317 Clear inventory|Clear inventory]]
| Clears an interface's inventory.
|-
| 73
| FIXED
| 4
| [[317 Load map region|Load map region]]
| Loads a new map region.
|-
| 79
| FIXED
| 4
| [[317 Scroll position|Scroll position]]
| Sets the scrollbar position of an interface.
|-
| 97
| FIXED
| 2
| [[317 Show interface|Show interface]]
| Displays a normal interface.
|-
|-
| 99
| FIXED
| 1
| [[317 Minimap State|Minimap State]]
| Sets the mini map's state.
|-
| 107
| FIXED
| 0
| [[317 Reset camera|Reset camera]]
| Resets the camera position.
|-
| 109
| FIXED
| 0
| [[317 Logout|Logout]]
| Disconnects the client from the server.
|-
| 110
| FIXED
| 1
| [[317 Run energy|Run energy]]
| Sends the players run energy level.
|-
| 114
| FIXED
| 2
| [[317 System update|System update]]
| Sends how many seconds until a 'System Update.'
|-
| 122
| FIXED
| 4
| [[317 Interface color|Interface color]]
| Changes the color of an interface.
|-
| 126
| VARIABLE_SHORT
| N/A
| [[317 Set interface text|Set interface text]]
| Attaches text to an interface.
|-
| 134
| FIXED
| 6
| [[317 Skill level|Skill level]]
| Sends a skill level to the client.
|-
| 164
| FIXED
| 2
| [[317 Chat interface|Chat interface]]
| Shows an interface in the chat box.
|-
| 176
| FIXED
| 10
| [[317 Open welcome screen|Open welcome screen]]
| Displays the welcome screen.
|-
| 196
| VARIABLE_BYTE
| N/A
| [[317 Send private message|Send private message]]
| Sends a private message to another player.
|-
| 200
| FIXED
| 4
| [[317 Interface animation|Interface animation]]
| Sets an interface's model animation.
|-
| 206
| FIXED
| 3
| [[317 Chat settings|Chat settings]]
| Sends the chat privacy settings.
|-
| 208
| FIXED
| 2
| [[317 Walkable interface|Walkable interface]]
| Displays an interface in walkable mode.
|-
| 214
| VARIABLE_SHORT
| N/A
| [[317 Send add ignore|Send add ignore]]
| Sends a ignored player to the ignore list.
|-
| 219
| FIXED
| 0
| [[317 Clear screen|Clear screen]]
| Clears the screen of all open interfaces.
|-
| 221
| FIXED
| 1
| [[317 Friends list status|Friends list status]]
| Friends list load status.
|-
| 230
| FIXED
| 8
| [[317 Interface model rotation|Interface model rotation]]
| Sets an interface's model rotation and zoom
|-
| 240
| FIXED
| 2
| [[317 Weight|Weight]]
| Sends the players weight amount.
|-
| 241
| VARIABLE_SHORT
| N/A
| [[317 Construct map region|Construct map region]]
| Constructs a dynamic map region using a palette of 8*8 tiles.
|-
| 246
| FIXED
| 6
| [[317 Interface item|Interface item]]
| Displays an item model inside an interface.
|-
| 248
| FIXED
| 4 
| [[317 Inventory overlay|Inventory overlay]]
| Displays an interface over the sidebar area.
|-
| 249
| FIXED
| 3
| [[317 Initialize player|Initialize player]]
| Sends the player's membership status and their current index on the server's player list.
|-
| 253
| VARIABLE_BYTE
| N/A
| [[317 Send message|Send message]]
| Sends a server message (e.g. 'Welcome to RuneScape') or trade/duel request.
|-
|}

===Client -> Server Packets===

{| border=2
|-
! Opcode
! Type
! Length (bytes)
! Name
! Description
|-
| 0
| FIXED
| 0
| [[317 Idle|Idle]]
| Sent when there are no actions being performed by the player for this cycle.
|-
| 3
| FIXED
| 1
| [[317 Focus change|Focus change]]
| Sent when the game client window goes out of focus.
|-
| 4
| VARIABLE BYTE
| N/A
| [[317 Chat|Chat]]
| Sent when the player enters a chat message.
|-
| 14
| FIXED
| 8
| [[317 Item on player|Item on player]]
| Sent when a player uses an item on another player.
|-
| 16
| FIXED
| 1
| [[317 Alternate item option 2|Alternate item option 2]]
| Sent when a player uses an item. This is an alternate item option.
|-
| 17
| FIXED
| 2
| [[317 NPC action 2|NPC action 2]]
| Sent when a player clicks the second option of an NPC.
|-
| 21
| FIXED
| 2
| [[317 NPC action 3|NPC action 3]]
| Sent when a player clicks the third option of an NPC.
|-
| 25
| FIXED
| 10
| [[317 Item on floor|Item on floor]]
| Sent when a player uses an item on another item thats on the floor.
|-
| 39
| FIXED
| 2
| [[317 Trade answer|Trade answer]]
| Sent when a player answers a trade request from another player.
|-
| 40
| FIXED
| N/A
| [[317 NPC Dialogue|NpcDialogue]]
| N/A
|-
| 41
| FIXED
| 6
| [[317 Equip item|Equip item]]
| Sent when a player equips an item.
|-
| 43
| FIXED
| 6
| [[317 Bank 10 items|Bank 10 items]]
| Sent when a player banks 10 of a certain item.
|-
| 53
| FIXED
| 4
| [[317 Item on item|Item on item]]
| Sent when a player uses an item with another item.
|-
| 70
| FIXED
| 6
| [[317 Object action 3|Object action 3]]
| Sent when the player clicks the third action available for an object.
|-
| 72
| FIXED
| 2
| [[317 Attack (NPC)|Attack (NPC)]]
| Sent when a player attacks an NPC.
|-
| 73
| FIXED
| 2
| [[317 Trade request|Trade request]]
| Sent when a player requests a trade with another player.
|-
| 74
| FIXED
| 8
| [[317 Remove ignore|Remove ignore]]
| Sent when a player removes a player from their ignore list.
|-
| 79
| FIXED
| 6
| [[317 Light item|Light item]]
| Sent when a player attempts to light logs on fire.
|-
| 86
| FIXED
| 4
| [[317 Camera movement|Camera movement]]
| Sent when the player moves the camera.
|-
| 87
| FIXED
| 6
| [[317 Drop item|Drop item]]
| Sent when a player wants to drop an item onto the ground.
|-
| 95
| FIXED
| 3
| [[317 Privacy options|Privacy options]]
| Sent when a player changes their privacy options (i.e. public chat).
|-
| 98
| VARIABLE_BYTE
| N/A
| [[317 Walk on command|Walk on command]]
| Sent when the player should walk somewhere according to a certain action performed, such as clicking an object.
|-
| 101
| FIXED
| 13
| [[317 Design screen|Design screen]] 
| Sent when a player is choosing their character design options.
|-
| 103
| VARIABLE_BYTE
| N/A
| [[317 Player command|Player command]]
| Sent when the player enters a command in the chat box (e.g. "::command")
|-
| 117
| FIXED
| 6
| [[317 Bank 5 items|Bank 5 items]]
| Sent when a player banks 5 of a certain item.
|-
| 121
| FIXED
| 0
| [[317 Loading finished|Loading finished]]
| Sent when the client finishes loading a map region.
|-
| 122
| FIXED
| 6
| [[317 Item action 1|Item action 1]]
| Sent when the player clicks the first option of an item, such as "Bury" for bones.
|-
| 126
| VARIABLE BYTE
| N/A
| [[317 Private message|Private message]]
| Sent when a player sends a private message to another player.
|-
| 129
| FIXED
| 6
| [[317 Bank all items|Bank all items]]
| Sent when a player banks all of a certain item that they have in their inventory.
|-
| 130
| FIXED
| 0
| [[317 Close window|Close window]]
| Sent when a player presses the close, exit or cancel button on an interface.
|-
| 132
| FIXED
| 6
| [[317 Object action 1|Object action 1]]
| Sent when the player clicks the first option of an object, such as "Cut" for trees.
|-
| 133
| FIXED
| 8
| [[317 Add ignore|Add ignore]]
| Sent when a player adds a player to their ignore list.
|-
| 135
| FIXED
| 6
| [[317 Bank X items part-1|Bank X items part-1]]
| Sent when a player requests to bank an X amount of items.
|-
| 139
| FIXED
| 2
| [[317 Follow|Follow]]
| Sent when a player clicks the follow option on another player.
|-
| 145
| FIXED
| 6
| [[317 Unequip item|Unequip item]]
| Sent when a player unequips an item.
|-
| 155
| FIXED
| 2
| [[317 NPC action 1|NPC action 1]]
| Sent when a player clicks first option of an NPC, such as "Talk."
|-
| 164
| VARIABLE_BYTE
| N/A
| [[317 Regular walk|Regular walk]]
| Sent when the player walks regularly.
|-
| 185
| FIXED
| 2
| [[317 Button click|Button click]]
| Sent when a player clicks an in-game button.
|-
| 188
| FIXED
| 8
| [[317 Add friend|Add friend]]
| Sent when a player adds a friend to their friend list.
|-
| 192
| FIXED
| 12
| [[317 Item on object|Item on object]]
| Sent when a a player uses an item on an object.
|-
| 202
| FIXED
| 0
| [[317 Idle logout|Idle logout]]
| Sent when the player has become idle and should be logged out.
|-
| 208
| FIXED
| 4
| [[317 Bank X items part-2|Bank X items part-2]]
| Sent when a player enters an X amount of items they want to bank.
|-
| 210
| FIXED
| 0
| [[317 Region change|Region change]]
| Sent when a player enters a new map region.
|-
| 214
| FIXED
| 7
| [[317 Move item|Move item]]
| Sent when a player moves an item from one slot to another.
|-
| 215
| FIXED
| 8
| [[317 Remove friend|Remove friend]]
| Sent when a player removes a friend from their friend list.
|-
| 218
| FIXED
| 8
| [[317 Report player|Report player]]
| Sent when a player reports another player.
|-
| 236
| FIXED
| 6
| [[317 Pickup ground item|Pickup ground item]]
| Sent when the player picks up an item from the ground.
|-
| 237
| FIXED
| 8
| [[317 Magic on items|Magic on items]]
| Sent when a player casts magic on the items in their inventory.
|-
| 241
| FIXED
| 4
| [[317 Mouse click|Mouse click]]
| Sent when the player clicks somewhere on the game screen.
|-
| 248
| VARIABLE_BYTE
| N/A
| [[317 Map walk|Map walk]]
| Sent when the player walks using the map. Has 14 additional (assumed to be anticheat) bytes added to the end of it that are ignored.
|-
| 249
| FIXED
| 4
| [[317 Magic on player|Magic on player]]
| Sent when a player attempts to cast magic on another player.
|-
| 252
| FIXED
| 6
| [[317 Object action 2|Object action 2]]
| Sent when the player clicks the second option available for an object.
|-
| 253
| FIXED
| 6
| [[317 Ground Item Action|Ground Item Action]]
| Sent when the player clicks the first option for a ground item (I.E. 'Light Logs')
|-
|}