Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

rSec 3.0 - RYL Server Security Software

Moooooooooooooooo
Loyal Member
Joined
Jul 19, 2006
Messages
442
Reaction score
130
rSec is a ryl packet management proxy framework built as a windows .net application in C# 2.0 & 3.5

What is a proxy?
This means that the clients don't connect directly to the ryl servers but rather rSec which then forwards the packets to ryl servers, then any packets coming from the servers are forwarded to the client. This is needed to be able to control the data flow from the client to the server and vice versa.

What is packet management?
The data that comes from the client or the server are decrypted, decrompressed and if needed decompiled. Then the data in the packet can be checked, modified or just dropped. Because it's the network traffic that controls what a character in game does or what the player sees on his game screen, so with a proper packet handling it's possible to modify almost anything or check everything the character does.

So what's rSec then all together?
For the rSec user rSec is above all a anti-hack software that runs in the server. But also a game enhancer.

Development
At this moment rSec is tested on row, 1753 and 668 (not sure about this number) without GG.

Features
  • Ryl 1 and Ryl 2 support
  • Admin command check - checks the / command against the gm level. Ex.: you can make /move command to work only for lvl 4 gms
  • Chat tools - You can redefine specific character names to be different color, also adds a account name based /logout command
  • IRC bot - Forwards global messages from game to a irc channel and back again
  • Attack check
    1. General:
    Check the skill is learned (anti-class-hack)
    Check the attack range (anti-vacuum-hack)
    2. Skills
    Check the spell cast times (anti-speeder)
    Check the skills usage times against cooldowns (anti-skillscript-cooldown-hack)
    3. Melee
    Check melee hits frequency (hits per sec), the limits are changeable per class. Ex.: A assasin can hit a maximum of 5 hits per second
  • Character data collector - logs login info to the database (uid, cid, zone, ip, time in, time out)
  • DB data validator - checks the character equipment in the database if it has changed (anti-slot-hack)
  • Movement check (anti speeder and teleportation)
    1. Allow zone moves only near the right npc for non-gms (anti-npcscript-hack)
    2. Check location save npc distance (ryl 1)
    3. Allow bindTo command only for gm's (anti-teleportation/gm hack)
  • Name check - checks the char creation name to disable any unallowed content and also checks the chat to contain the senders real name
  • Logging service - logs item modification/movements and gm commands usages to the database
  • Mini fixes (ryl 2) - fixes zone 13 "Leave Battle" button on the map and the "Already logged in" issue.
  • Port redirection tool - As rSec listens to ports then the server can't be on the same ports, this is why this plugin is good - it will tell the client to connect to the port rSec is listening to rather than the server.
  • Web services - hosts a http service which gives info about the online characters, online gms and character locations on the map
  • Item check -
    1. General
    NPC access range check - anti random location blacksmith/vault/shop usage.
    Item duplication fix - anti dupe hack using chaos stones
    2. Shopping
    NPC "able to sell item" check - checks if the npc actually sells the item and for that currency (medals vs gold)
    Basic stats check - checks if the equipment can contain the defined stats (e.g. min/max dmg on armor)
    Gear quality limit - you can limit which grade can be bought from the shop (anti item hack)
    0 socked limit - no sockets can be defined on the item on purchase
    3. Usage
    Limits item usage speed
  • Item usager - you can define item id's that should be used upon pickup (gold/metal containers or maybe even fireworks)

Runtime dependencies
.net 4.0 ... x?id=17718
Demonsetup on local machine in C:\Windows

Recommended System Requirements
CPU: Pentium 4 or equivalent (up to around 100 players), ~i5 for over 200 players
Memory: 2GB
Operating System: Windows Server 2003/2008 or Windows 7
Internet Connection: Whatever your ryl server needs

Changelog
redacted

Download


How to set up
redacted
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Apr 8, 2014
Messages
58
Reaction score
3
can anyone share the guide to change the port from auth 10110 to 11110, zone1 10201 to 11201

i use the olldby but can not find the port constant!
 
Newbie Spellweaver
Joined
Sep 18, 2013
Messages
51
Reaction score
1
hkryl Try in HEX find 7E 27 and change with 8E 4E .
 
Newbie Spellweaver
Joined
Feb 28, 2010
Messages
16
Reaction score
0
@alphaest thanks for the share. i managed to set up the soft and really like the packet management concept on this tool you have created. just want to know based on your post;
So what's rSec then all together?
For the rSec user rSec is above all a anti-hack software that runs in the server. But also a game enhancer.

what do you mean by also game enhancer?
 
Skilled Illusionist
Joined
Jan 15, 2009
Messages
332
Reaction score
11
@alphaest thanks for the share. i managed to set up the soft and really like the packet management concept on this tool you have created. just want to know based on your post;


what do you mean by also game enhancer?
Im not alpha, but i think the automatic opening from package gold/metals, already is a game enhancer...Server with this feature, is amazing...All others plugins, make the game better too...



31/07/2014 19:03:24 : [Character Data Collector] - (NOTIFY) {|0} GM level 5 logged in (uid:1)
Char: (U:1, C:0, Z:0, L:0, IP:127.0.0.1)
Exception:
rSec.Server.HackAttemptException: Exception of type 'rSec.Server.HackAttemptException' was thrown.
at rSec.PacketChecker.AuthCharDataReturn(Packet p, Character c)
at rSec.Server.PacketForwarder.HandleFilteredPacket(Packet p, Filter filter, Character c, Boolean toServer)
at rSec.Server.PacketForwarder.ServerToClient_IncomingPackets(Session sender, Packet p)

Command : 3
ParamA : 0
ParamB : 0
Compressed : False

17 b0 83 c4 01 00 00 00 01 00 00 00 4d 61 73 74
65 72 00 00 00 00 00 00 00 00 00 00 01 02 01 01
15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 69 00 00 00 00 00 00 ed 13 00 00 51 14 00
00 00 00 00 00 00 00 00 00 19 15 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 2c
bd da 53 00 00 00 00 05 00 4e 00 00

31/07/2014 19:03:23 : PacketForwarder - Checksum rewrite failed : System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseUInt32(String value, NumberStyles options, NumberFormatInfo numfmt)
at rSec.Extenders.ToUInt(String str)
at rSec.Server.ActionInterface.GetChecksumAndVersion()
at rSec.Server.PacketForwarder.RewriteChecksum(Packet p, Session sender)

31/07/2014 18:55:33 : [Character Data Collector] - (NOTIFY) {|0} GM level 5 logged in (uid:1)
Char: (U:1, C:0, Z:0, L:0, IP:127.0.0.1)
Exception:
rSec.Server.HackAttemptException: Exception of type 'rSec.Server.HackAttemptException' was thrown.
at rSec.PacketChecker.AuthCharDataReturn(Packet p, Character c)
at rSec.Server.PacketForwarder.HandleFilteredPacket(Packet p, Filter filter, Character c, Boolean toServer)
at rSec.Server.PacketForwarder.ServerToClient_IncomingPackets(Session sender, Packet p)

Command : 3
ParamA : 0
ParamB : 0
Compressed : False

16 b0 83 c4 01 00 00 00 01 00 00 00 4d 61 73 74
65 72 00 00 00 00 00 00 00 00 00 00 01 02 01 01
15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 69 00 00 00 00 00 00 ed 13 00 00 51 14 00
00 00 00 00 00 00 00 00 00 19 15 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 55
bb da 53 00 00 00 00 05 00 4e 00 00

31/07/2014 18:55:30 : PacketForwarder - Checksum rewrite failed : System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseUInt32(String value, NumberStyles options, NumberFormatInfo numfmt)
at rSec.Extenders.ToUInt(String str)
at rSec.Server.ActionInterface.GetChecksumAndVersion()
at rSec.Server.PacketForwarder.RewriteChecksum(Packet p, Session sender)

31/07/2014 18:54:56 : PacketForwarder - Started listening on port 10316

31/07/2014 18:54:56 : PacketForwarder - Started listening on port 10312

31/07/2014 18:54:56 : PacketForwarder - Started listening on port 10308

31/07/2014 18:54:56 : PacketForwarder - Started listening on port 10304

31/07/2014 18:54:56 : PacketForwarder - Started listening on port 10110


PacketForwarder - Checksum rewrite failed : ....?
 
Moooooooooooooooo
Loyal Member
Joined
Jul 19, 2006
Messages
442
Reaction score
130
Checksum rewrite is a feature you can enable form the menu. The server rSec runs on needs demonsetup.ini in windows directory with the correct db agent checksum set. It reads it form there and doesn't seem to find for you.

Checksum rewrite makes it so GM's can login with any client to test / debug stuff and so it sends the right checksum into the server no matter what you have.

When talking about game enhancers then Ronaldinho got it right, stuff like package opener, bots, red admin names, chat blocks and all those are what i mean under it.
 
Skilled Illusionist
Joined
Jan 15, 2009
Messages
332
Reaction score
11
Alpha, im getting EQ Check failed. I turn it on the plugin DB Data validator, but having this.what can i do to fix it?
And where i can turn it on/turn it off? Or what i can do to make it working properly?

Why appear this: Input string was not in a correct format., im using the default string that comes with rsec.

To make chat red, what i need to do in client.exe? I found there in client.exe 0052A5A7: MOV EAX, FFFF0000... but what i need to do? i only see white color in /cz chat.
 
Last edited:
Joined
Nov 29, 2011
Messages
616
Reaction score
71
and what does it mean by this error alpha?
8/2/2014 1:23:59 AM : [Character Data Collector] - ERR: The given key was not present in the dictionary.
(U:157, C:0, Z:12, L:0, IP:175.135.133.218)
Command : 8
ParamA : 0
ParamB : 0
Compressed : True

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
9d 00 00 00 02 00 00 0c 98 e3 4c 00 00 00 00 01
00 00 00 00 48 00 18 00 a4 00 64 00 0e 01 6e 00
50 00 2c 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 e3 09 00 00 5b 53 45 52 56 45 52 2d
41 44 4d 49 4e 5d 00 00 01 02 01 00 07 00 00 00
00 00 7f 5b 34 77 00 00 00 00 00 00 00 00 6e 0e
7f 49 78 e4 00 81 00 ee 00 14 00 14 00 14 00 89
11 e2 11 db df a7 42 00 00 00 00 00 00 10 31 45
00 00 f0 41 00 f0 13 45 00 10 31 45 00 00 f0 41
00 f0 13 45 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 82 6e 00 00 00 00
00 0c db 01 31 00 20 01 00 68 28 60 e1 00 f3 11
f5 03 e6 03 57 07 68 04 1e 03 b5 1f 00 00 00 00
00 00 59 02 51 00 14 64 00 00 20 00 00 00 6d 6e
00 00 00 00 00 0c 62 06 b1 00 26 01 00 68 2c 58
ce 00 2c 2c 2c 2c 2c 2c 2c 2c e1 05 72 08 04 0f
5a 08 1b 02 7f 85 00 00 00 00 00 0c bf 23 d1 00
14 01 00 00 20 00 00 00 83 85 00 00 00 00 00 0c
bb 23 02 00 14 01 00 00 20 00 00 00 81 85 00 00
00 00 00 0c bd 23 22 00 14 01 03 00 20 00 00 00
86 85 00 00 00 00 00 0c b8 23 02 10 14 01 00 00
20 00 00 00 85 85 00 00 00 00 00 0c b9 23 42 14
14 01 03 00 20 00 00 00 83 6e 00 00 00 00 00 0c
c4 04 07 00 1e 01 00 60 27 50 ce 00 71 09 42 0b
14 0e ba 07 fb 01 64 6e 00 00 00 00 00 0c d4 07
17 00 0e 08

Exception:
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at rSec.Server.Data.SkillScript.ClassLearnedSkills(Byte bClass)
at rSec.PacketChecker.WorldLoginReturn(Packet p, Character c)
at rSec.Server.PacketForwarder.ServerToClient_IncomingPackets(Session sender, Packet p)
 
Newbie Spellweaver
Joined
Feb 28, 2010
Messages
16
Reaction score
0
Alpha, im getting EQ Check failed. I turn it on the plugin DB Data validator, but having this.what can i do to fix it?
And where i can turn it on/turn it off? Or what i can do to make it working properly?

Why appear this: Input string was not in a correct format., im using the default string that comes with rsec.

To make chat red, what i need to do in client.exe? I found there in client.exe 0052A5A7: MOV EAX, FFFF0000... but what i need to do? i only see white color in /cz chat.

Based on his set up instruction;

7. DB Data validator - use if you have set-up the SQL connections and extra tables from knowledge portal
 
Moooooooooooooooo
Loyal Member
Joined
Jul 19, 2006
Messages
442
Reaction score
130
and what does it mean by this error alpha?

It means the skillscript you have referenced in rSec doesn't contain a skill your character has.
Try setting the data folder to your server data folder in config.
 
Skilled Illusionist
Joined
Oct 13, 2008
Messages
361
Reaction score
19
DB Data Validator - Check Failed because the database is not connected,

may i know .. i cant use other ip than 127.0.0.1 for database? or i wrong configure?
 
Newbie Spellweaver
Joined
Apr 8, 2014
Messages
58
Reaction score
3
can anyone show how to hex the gameserver.exe for the port....use olldby can not find the constant

the gameserver.exe is already unpack!
 
Back
Top