mirror of
https://github.com/moparisthebest/rswiki-book
synced 2024-08-13 16:53:53 -04:00
54 lines
2.2 KiB
Markdown
54 lines
2.2 KiB
Markdown
|
== Introduction ==
|
||
|
|
||
|
The RuneScape Protocol is the language in which the RuneScape client and
|
||
|
server communicate. The protocol changes for every version.
|
||
|
|
||
|
The entire protocol is generally separated into two different
|
||
|
categories:
|
||
|
|
||
|
- Login Protocol
|
||
|
- Game 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 cipher keys 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 opcodes are encrypted using ISAAC 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:
|
||
|
|
||
|
<pre>
|
||
|
For fixed-size packets:
|
||
|
opcode, payload[size]
|
||
|
|
||
|
For variable-sized packets:
|
||
|
opcode, size, payload[size]
|
||
|
</pre>
|
||
|
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.
|
||
|
<!-- DO NOT EDIT BELOW THIS LINE, OR CHANGE THIS COMMENT, CODE AUTOMATICALLY GENERATED BY category.sh -->
|
||
|
== '''Pages in category "RS2"''' == The following 15 pages are in this
|
||
|
category. \* \[\[194 Protocol\]\] \* \[\[289 Protocol\]\] \* \[\[317
|
||
|
Protocol\]\] \* \[\[357 Protocol\]\] \* \[\[377 Protocol\]\] \* \[\[443
|
||
|
Protocol\]\] \* \[\[464 Protocol\]\] \* \[\[468 Protocol\]\] \* \[\[474
|
||
|
Protocol\]\] \* \[\[508 Protocol\]\] \* \[\[634 Protocol\]\] \* \[\[666
|
||
|
Protocol\]\] \* \[\[668 Protocol\]\] \* \[\[718 Protocol\]\] \* \[\[742
|
||
|
Protocol\]\]
|