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!

[Release] *Secure* RAServerController and RAServerMonitor

Junior Spellweaver
Joined
May 9, 2018
Messages
181
Reaction score
126
Post Restored:
(This will work for any server version between 6.0.7 - 6.4.2)
If you use your regular Server Monitor remotely then you are most likely subjective to other people screwing with your server once they get your IP. I have solved that issue by creating a Secured Server Controller and matching Server Monitor.

Each INI file is also provided as default templates with extra settings, I will not go into detail of each setting in this post but I did put notes in the INI files and you simply need to update it with your current settings plus the info below.

How it works:
This new server Controller is built to require user logins and also a ControllerAccessKey, the key you set can be anything you want it to be. However, the MonitorAccessKey must be an exact match to the ControllerAccessKey. Please see below.

The Controller will never expose it's ControllerAccessKey to the network or the Monitor to make sure it cannot be hacked or bypassed. Instead, the Monitor will send it's MonitorAccessKey to the Controller ONLY AFTER the user has successfully logged into the Monitor based on the Account settings you define in the database you see at the bottom of this post.

After the Monitor sends it's MonitorAccessKey, the Controller will check it against the ControllerAccessKey to see if it is a match. If they match then you can use your Monitor normally, if they do not match then the Controller will not send any data to the Monitor and not accept any data either.

The reason i designed it this way is so it has a 2-step Authentication method so if you want to quickly remove a single user you can change their password in the database... If you want to remove all users except yourself you can just change the access key.

It is also important to note, no one can lock you out of your own Controller since the ControllerAccessKey is located in the INI. There is no possible way for a Monitor to push changes to your Controller's INI file.

Code:
[ Config.ini (This is the Controller's INI file) ]
;EveryServer Monitor's 'MonitorAccessKey' must match this access alpha-numeric key you create
;(example: "KesfD2N4W5LF767Nh23h4dth7dsf65M")
ControllerAccessKey = "AnyKeyYouWantToUseHere"

[ RAServerMonitor.ini (This is the Monitor's INI file) ]
;---------------------------------------------------
;Sends this key to the controller for authentication
;---------------------------------------------------
MonitorAccessKey = "This key must match the key in the Controller's Config.ini"

Download Link:
The following link contains all of the exe files and required dlls plus template INI files for each exe, make backups of your current ones before replacing them with these. The dll files included are needed.
Code:
Secure - RAServerController and RAServerMonitor.rar

[URL]https://drive.google.com/uc?export=download&id=1kTsgO8B3w0VhP0Eurp8RGwToXuYoabJg[/URL]
 
SideNote - these files must be used as a pair, the Controller will not allow older Monitors to connect to it


Database Needed:
To use the Server Controller and Monitor you will need to create the database "MonitorData" then add the tables below. Only add players that you want to grant access to! (See next CODE block for ManageLv access definitions)
Code:
CREATE TABLE [dbo].[AccountTable](
    [Account] [varchar](32) NOT NULL,
    [Password] [varchar](32) NOT NULL,
    [ManageLv] [int] NOT NULL,
    [LoggedIn] [int] NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[ActionLog](
    [Account] [varchar](32) NOT NULL,
    [Action] [varchar](64) NOT NULL,
    [Time] [smalldatetime] NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[LoginHistory](
    [Account] [varchar](32) NOT NULL,
    [Type] [varchar](32) NOT NULL,
    [Time] [smalldatetime] NOT NULL
) ON [PRIMARY]
GO

ActionLog and LoginHistory are log tables only.

ManageLv Settings:
These are the Monitor access levels based on the Account and ManageLv you create for anyone that you want to give access to.
Code:
ManageLv <= 11: (Monitor Observer Only)
{
   Function->Enabled  = false;
   Config->Enabled    = false;
   Help->Enabled      = false;
}
ManageLv = 12: (Partial Control Only)
{
   Function->Enabled  = true;
   Config->Enabled    = false;
   Help->Enabled      = true;
}   
ManageLv = 13: (Full Control)
{
   Function->Enabled  = true;
   Config->Enabled    = true;
   Help->Enabled      = true;
}
 
Last edited:
Junior Spellweaver
Joined
Sep 29, 2014
Messages
149
Reaction score
66
Most ppl here dont know anything about coding or working with source. I guess you added a nice security feature but it will take its time to get spread under the right ppl. I will have a look inside your project after I found some free time :D
 
Initiate Mage
Joined
Jun 12, 2018
Messages
4
Reaction score
2
Appreciate your work. Pretty simple but secure solution with all kind of usefull extras and still easy useable
 
Skilled Illusionist
Joined
Jul 30, 2015
Messages
396
Reaction score
156
Is it possible to get this download again ? I'm trying some things out on my RoMserver. I'm not sure if i can get you some profound feedback of this. And i guess its not that bad to have some updated servercontroller since the old ones were from 2009.
 
Junior Spellweaver
Joined
Sep 29, 2014
Messages
149
Reaction score
66
well, it takes time till people react. Its not like that there are that many people who could actually work with these files.
 
Skilled Illusionist
Joined
Jul 30, 2015
Messages
396
Reaction score
156
Thanks for this release (and to all people who are involved in this).

I like the look of this new Monitor, and one of the best things in it (yes, you can laugh at me): finally you can scroll completely up and down. That always annoyed me in the original monitor, where you always first had to click the mouse pointer)!

So, now i have to figure out why kashaylan/splitwater isn't working on my server and then i really start to like it :D My wife is always asking me why i play with it that much the last couple of weeks. Because i'm alone and that isn't fun, lol. I then say, hey its Runes of Magic, my first MMO that i played since the beta. (And i adore the music of it)

Monitor - [Release] *Secure* RAServerController and RAServerMonitor - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
May 9, 2018
Messages
181
Reaction score
126
You all are welcome, and thank you for saying thank you as well, it lets me know that my time creating this wasnt wasted. I appreciate it.
 
Newbie Spellweaver
Joined
Dec 24, 2014
Messages
16
Reaction score
2
Woow amazing tool, congratulations Lifefire!!

I am using it but I have a doubt.

I get the login without problems but no server appears on the monitor.
r4EjCLH - [Release] *Secure* RAServerController and RAServerMonitor - RaGEZONE Forums
The RAServerController Config.ini file and in the RAServerMonitor, there is a section of [CONTROLLERS] in which the IP address and the port must be entered.

I tried to put the same port that I had in the old RAServer but it doesn't work.

How can I know what the port is?

Thank you very much for the contribution!

PD: The ControllerAccessKey is the same in both files.
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
May 9, 2018
Messages
181
Reaction score
126
I recommend port 36759, but 36780 should also work as long as both configs have the same IP and port
 
Newbie Spellweaver
Joined
Dec 24, 2014
Messages
16
Reaction score
2
I have tried both ports and the server still does not appear. What else can it be?
erS0YeG - [Release] *Secure* RAServerController and RAServerMonitor - RaGEZONE Forums


GARf7dW - [Release] *Secure* RAServerController and RAServerMonitor - RaGEZONE Forums


The RAServerController service is started
I tried with both ports and it still doesn't appear.
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
May 9, 2018
Messages
181
Reaction score
126
Since you are using your internal IP, try setting it to localhost or your external IP. If you arent sure what it is then you can google "whats my ip" and it will be the first thing you see... also you need to open the port in your router and firewall
 
Newbie Spellweaver
Joined
Dec 24, 2014
Messages
16
Reaction score
2
Problem solved :)
He had given the wrong name to the RA Server Controller and RA Server Monitor folders.
 
Last edited:
Newbie Spellweaver
Joined
Dec 24, 2014
Messages
16
Reaction score
2
19wFtJZ - [Release] *Secure* RAServerController and RAServerMonitor - RaGEZONE Forums


Crashes still occur when opening the zones.

Checking the monitor, can someone confirm if the version of the zone files is correct?

I have checked logs in case any table is missing, data...

RASeverMonitor.log



RAServerController.log



DBErr_DataCenter.log & DBErr_PlayerCenter.log

xWli6pj - [Release] *Secure* RAServerController and RAServerMonitor - RaGEZONE Forums


 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
May 9, 2018
Messages
181
Reaction score
126
You are using the wrong zone.exe, the correct zone.exe will show 6.4.2.0 in the monitor like the other exe files i made
 
Back
Top