[Source/Tutorial] Networking in Rappelz (client sided)

02/12/2016 18:28 Xijezu#1
Yo,

First of all, read the full github readme to know what this is about.

Long story short:
This is an example project as of how to work with Rappelz Packets.
You might get a basic understanding of this, and maybe you'll be able to create some really nice stuff (clientless bots as example?).

This project includes a completely working Client->Auth emulator and a minimal Client->Game emulator (reading and writing chat, partially reading the "Enter" & "Property" packet, etc).

I will create a full Packet class for 9.1 in C# (reading & writing) soon, so stay tuned.

Check out the source code at [Only registered and activated users can see links. Click Here To Register...]

Regards,

Xijezu
02/12/2016 19:10 SilentWisdom#2
In spirit, we don't get to work on it much but here is the 6.2 counter-part.

I'd like to see interest in coding Game-Servers and even inter-developer relationships formed over coding a game-server.

[Only registered and activated users can see links. Click Here To Register...]
02/13/2016 04:29 Maks19973#3
official server thus does not authorize? GameGuard disconnects from the server
02/13/2016 14:41 Xijezu#4
Quote:
Originally Posted by Maks19973 View Post
official server thus does not authorize? GameGuard disconnects from the server
Sadly the official server isn't supported, mainly because GameGuard (there is a special packet for Gameguard, too, but I haven't looked into that (yet)).
02/13/2016 14:51 Maks19973#5
Quote:
Originally Posted by Xijezu View Post
Sadly the official server isn't supported, mainly because GameGuard (there is a special packet for Gameguard, too, but I haven't looked into that (yet)).
In the future, you will realize? We would like the client emulator for official servers :):handsdown:
02/26/2016 00:33 glandu2#6
Official servers actually check that you reply a valid gameguard packet, or kick you after 5 minutes.

When doing headless clients myself, I just auto-reconnect every 5 minutes (or if kicked) (reconnecting takes less than 5 seconds). Maybe the double-client support on KTS could help about that (but they still use gameguard so not sure)

As of epic 9.3, the game server also check that you send a TS_CS_UPDATE packet with valid timestamps (2 new fields: 32 bits GS time and 32 bits unix time). If you don't, the client is kicked after around 2 minutes. Also, since 9.2, some packets has a new ID (including TS_CS_LOGIN, TS_CS_MOVE_REQUEST and TS_SC_LOGIN_RESULT, add 60 to the old ID to get the new ID on these packets)
02/26/2016 04:01 Maks19973#7
Quote:
Originally Posted by glandu2 View Post
Official servers actually check that you reply a valid gameguard packet, or kick you after 5 minutes.

When doing headless clients myself, I just auto-reconnect every 5 minutes (or if kicked) (reconnecting takes less than 5 seconds). Maybe the double-client support on KTS could help about that (but they still use gameguard so not sure)

As of epic 9.3, the game server also check that you send a TS_CS_UPDATE packet with valid timestamps (2 new fields: 32 bits GS time and 32 bits unix time). If you don't, the client is kicked after around 2 minutes. Also, since 9.2, some packets has a new ID (including TS_CS_LOGIN, TS_CS_MOVE_REQUEST and TS_SC_LOGIN_RESULT, add 60 to the old ID to get the new ID on these packets)
200701120 you mean this ID or i'm wrong?
02/26/2016 05:38 Xijezu#8
Quote:
Originally Posted by Maks19973 View Post
200701120 you mean this ID or i'm wrong?
That's the usual content of a Version packet, that's irrelevant (for most cases, tho).
02/26/2016 06:46 Maks19973#9
Quote:
Originally Posted by Xijezu View Post
That's the usual content of a Version packet, that's irrelevant (for most cases, tho).
thanks.
As I understand id packet "join on character" on function CreateLoginPacket must be 61, now id is 1, i try change it to 61 but it's not working - I can't login to character.
03/01/2016 03:43 Maks19973#10
sorry, i'm stupid, delete sending tcp packet and say "why it's not worked?" -_-