From 89ff6ebd2f0f0d44b9662ec68b7a35d9ea1efa54 Mon Sep 17 00:00:00 2001 From: The Wanderer Date: Thu, 7 Jun 2012 23:35:09 +0000 Subject: [PATCH] Create MediaWiki page '634 Protocol' --- 634-Protocol.mediawiki | 14 ++++++++++++++ Categories.mediawiki | 2 +- Category-RS2.mediawiki | 3 ++- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 634-Protocol.mediawiki diff --git a/634-Protocol.mediawiki b/634-Protocol.mediawiki new file mode 100644 index 0000000..1ba3600 --- /dev/null +++ b/634-Protocol.mediawiki @@ -0,0 +1,14 @@ +[[Category RS2]] + + +== '''Packet structure''' == +When the client sends a packet to the server, the first byte encapsulates its opcode. This specific opcode is encrypted with a value generated by the ISAAC 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 payload. + +An addition to modern emulation protocols was the addition to allow packets with an opcode of a word to be deciphered from the buffer. This is done by taking the first two ISAAC PRNG seeds; each byte from the buffer at the current offset is deciphered sequentially. If the first byte deciphered is less than the maximum of a signed byte then the packet is assumed to be byte length, otherwise it's considered to be word length. + +== '''Login''' == +Every connection to the main 'gateway' server sends a single byte of data, mostly well known as the connection type. The connection type tells the main server which type of connection you wish to initiate. The old engine list consists of: + +
+Needs documentation on how to login
+
\ No newline at end of file diff --git a/Categories.mediawiki b/Categories.mediawiki index 65dd79b..eaa23f2 100644 --- a/Categories.mediawiki +++ b/Categories.mediawiki @@ -6,5 +6,5 @@ The following categories contain pages or media. * [[Category Packet 317]] (80 members) * [[Category Packet 474]] (1 members) * [[Category Packet {{{revision}}}]] (1 members) -* [[Category RS2]] (7 members) +* [[Category RS2]] (8 members) * [[Category RSC]] (5 members) diff --git a/Category-RS2.mediawiki b/Category-RS2.mediawiki index 0b8189e..7de43aa 100644 --- a/Category-RS2.mediawiki +++ b/Category-RS2.mediawiki @@ -28,11 +28,12 @@ The ''opcode'' of a game packet is basically an identifier for the type of game 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. == '''Pages in category "RS2"''' == -The following 7 pages are in this category. +The following 8 pages are in this category. * [[194 Protocol]] * [[289 Protocol]] * [[317 Protocol]] * [[464 Protocol]] * [[474 Protocol]] * [[508 Protocol]] +* [[634 Protocol]] * [[668 Protocol]]