Difference between revisions of "342 Protocol"

From RuneWiki
Jump to navigationJump to search
(New page: == Login Protocol == ======Client -> Server:====== {| border=2 |- ! Type ! Value |- | ubyte | 14 |- | ubyte | "name hash" |- |} ======Server -> Client:====== {| border=2 |- ! Type ! Value ...)
 
Line 1: Line 1:
 
== Login Protocol ==
 
== Login Protocol ==
 +
The Login Protocol for the 342 is very similar in structure to that of the 317 (and other versions I believe). The login is comprised of four stages in which the client and server switch in regards to which one is reading and which one is writing.
 +
 +
===Variables:===
 +
* "name hash": A hash of the player name, thought to be used to select an appropriate login server. This has no use in current private servers.
 +
* "return code": A code used to identify which stage in login the session is currently in. Return code values:
 +
** 0: Exchange session key to establish encryption.
 +
** 1: Retry the login procedure.
 +
** 2: Login has finished.
 +
** 3: Client displays message - "Invalid username or password".
 +
** 4: Client displays message - "Your account has been disabled".
 +
** 5: Client displays message - "Your account is already logged in".
 +
** 6: Client displays message - "RuneScape has been updated!".
 +
** 7: Client displays message - "This world is full".
 +
** 8: Client displays message - "Unable to connect, loginserver offline".
 +
** 9: Client displays message - "Login limit exceeded".
 +
** 10: Client displays message - "Unable to connect, bad session ID".
 +
** 11: Client displays message - "Loginserver rejected session".
 +
** 12: Client displays message - "You need a members account to sign into this world".
 +
** 13: Client displays message - "Could not complete login".
 +
** 14: Client displays message - "Server is being updated".
 +
** 15: unknown
 +
** 16: Client displays message - "Login attempts exceeded".
 +
** 17: Client displays message - "You are standing in a members only area".
 +
** 20: Client displays message - "Invalid loginserver requested".
 +
** 21: Client displays message - "You have only just left another world".
 +
** 22: Client displays message - "Malformed login packet".
 +
* "server session key": Server-side session key used for encrypting the stream.
 +
* "data file version": unknown
 +
* "user ID": The ID of the user.
 +
* "username": The username of the player.
 +
* "password": The password of the player.
 +
* "client session key": Client-side session key used for encrypting the stream.
 +
* "crc values": unknown
 +
* "player status": The in-game player status, values:
 +
** 0: Normal player
 +
** 1: Player Moderator
 +
** 2: Administrator
 +
 +
==Login Process:==
 
======Client -> Server:======
 
======Client -> Server:======
 
{| border=2
 
{| border=2

Revision as of 07:07, 13 August 2009

Login Protocol

The Login Protocol for the 342 is very similar in structure to that of the 317 (and other versions I believe). The login is comprised of four stages in which the client and server switch in regards to which one is reading and which one is writing.

Variables:

  • "name hash": A hash of the player name, thought to be used to select an appropriate login server. This has no use in current private servers.
  • "return code": A code used to identify which stage in login the session is currently in. Return code values:
    • 0: Exchange session key to establish encryption.
    • 1: Retry the login procedure.
    • 2: Login has finished.
    • 3: Client displays message - "Invalid username or password".
    • 4: Client displays message - "Your account has been disabled".
    • 5: Client displays message - "Your account is already logged in".
    • 6: Client displays message - "RuneScape has been updated!".
    • 7: Client displays message - "This world is full".
    • 8: Client displays message - "Unable to connect, loginserver offline".
    • 9: Client displays message - "Login limit exceeded".
    • 10: Client displays message - "Unable to connect, bad session ID".
    • 11: Client displays message - "Loginserver rejected session".
    • 12: Client displays message - "You need a members account to sign into this world".
    • 13: Client displays message - "Could not complete login".
    • 14: Client displays message - "Server is being updated".
    • 15: unknown
    • 16: Client displays message - "Login attempts exceeded".
    • 17: Client displays message - "You are standing in a members only area".
    • 20: Client displays message - "Invalid loginserver requested".
    • 21: Client displays message - "You have only just left another world".
    • 22: Client displays message - "Malformed login packet".
  • "server session key": Server-side session key used for encrypting the stream.
  • "data file version": unknown
  • "user ID": The ID of the user.
  • "username": The username of the player.
  • "password": The password of the player.
  • "client session key": Client-side session key used for encrypting the stream.
  • "crc values": unknown
  • "player status": The in-game player status, values:
    • 0: Normal player
    • 1: Player Moderator
    • 2: Administrator

Login Process:

Client -> Server:
Type Value
ubyte 14
ubyte "name hash"
Server -> Client:
Type Value
byte 0
byte 0
byte 0
byte 0
byte 0
byte 0
byte 0
byte 0
byte "return code"
long "server session key"
Client -> Server:
Type Value
byte 10
int "datafileversion"[0]
int "datafileversion"[1]
int "datafileversion"[2]
int "datafileversion"[3]
int "user id"
string "username"
string "password"
long "client session key"
byte "connect status"
byte "size"
byte 255
short 342
byte "client version"
int "crc values"[0]
int "crc values"[1]
int "crc values"[2]
int "crc values"[3]
int "crc values"[4]
int "crc values"[5]
int "crc values"[6]
int "crc values"[7]
int "crc values"[8]
Server -> Client:
Type Value
byte "return code"
byte "player status"
byte 0