Difference between revisions of "RuneScape Protocol"

From RuneWiki
Jump to navigationJump to search
Line 1: Line 1:
 
==Introduction==
 
==Introduction==
The RuneScape Protocol is the language in which the RuneScape client and server communicate. The protocol changes for every version.
+
 
 +
The RuneScape Protocol is the language in which the RuneScape client and server communicate.
 +
 
 +
The ordering of data types inside packets and the data types themselves (e.g. short in one release may become short A in another) generally change for every client release, presumably by an automated tool Jagex created to hinder private server development. Therefore the protocol versions are not compatible, even though there are a number of similarities seen throughout different protocol versions.
 +
 
 
The entire protocol is generally separated into three different categories:
 
The entire protocol is generally separated into three different categories:
 +
 
* Login Protocol
 
* Login Protocol
 
* Game Protocol
 
* Game Protocol
Line 7: Line 12:
  
 
==Login Protocol==
 
==Login Protocol==
 +
 
The Login Protocol is the protocol that is used to log a player into RuneScape. This protocol contains information that sets up the encryption for the entire session, using the ISAAC algorithm. The "login block" is encrypted using RSA to prevent third party programs from packet-sniffing the ISAAC ciphers and breaking the session encryption for the purpose of monitoring, injecting, and generally sniffing packets.
 
The Login Protocol is the protocol that is used to log a player into RuneScape. This protocol contains information that sets up the encryption for the entire session, using the ISAAC algorithm. The "login block" is encrypted using RSA to prevent third party programs from packet-sniffing the ISAAC ciphers and breaking the session encryption for the purpose of monitoring, injecting, and generally sniffing packets.
  
 
==Game Protocol==
 
==Game Protocol==
 +
 
The Game Protocol is the protocol in which game action information is transmitted. The game protocol is encrypted using ISAAC ciphers in order to prevent third party programs from tampering with the stream. The game protocol is made up of packets that are structured like so:
 
The Game Protocol is the protocol in which game action information is transmitted. The game protocol is encrypted using ISAAC ciphers in order to prevent third party programs from tampering with the stream. The game protocol is made up of packets that are structured like so:
  
Line 22: Line 29:
  
 
==Update Protocol==
 
==Update Protocol==
 +
 
The Update Protocol is the protocol used to update different appearances and locations of other players in the game. (needs more information)
 
The Update Protocol is the protocol used to update different appearances and locations of other players in the game. (needs more information)
  

Revision as of 08:23, 12 August 2009

Introduction

The RuneScape Protocol is the language in which the RuneScape client and server communicate.

The ordering of data types inside packets and the data types themselves (e.g. short in one release may become short A in another) generally change for every client release, presumably by an automated tool Jagex created to hinder private server development. Therefore the protocol versions are not compatible, even though there are a number of similarities seen throughout different protocol versions.

The entire protocol is generally separated into three different categories:

  • Login Protocol
  • Game Protocol
  • Update Protocol

Login Protocol

The Login Protocol is the protocol that is used to log a player into RuneScape. This protocol contains information that sets up the encryption for the entire session, using the ISAAC algorithm. The "login block" is encrypted using RSA to prevent third party programs from packet-sniffing the ISAAC ciphers and breaking the session encryption for the purpose of monitoring, injecting, and generally sniffing packets.

Game Protocol

The Game Protocol is the protocol in which game action information is transmitted. The game protocol is encrypted using ISAAC ciphers in order to prevent third party programs from tampering with the stream. The game protocol is made up of packets that are structured like so:

For fixed-size packets: opcode, payload[size]

For variable-sized packets: opcode, size, payload[size]

The opcode of a game packet is basically an identifier for the type of game action that the packet represents. The size of the packet is the amount of bytes that the payload of the packet carries, and the payload is an array of bytes that holds the actual data (information) of the packet. A fixed-size packet is a packet whose payload size does never change, and the size for the specified opcode is already known between both client and server. A variable-sized packet is a packet whose payload size changes according to the situation of the game session.

Update Protocol

The Update Protocol is the protocol used to update different appearances and locations of other players in the game. (needs more information)

Below is a list of the different protocols that have been documented: