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!

OsRose Dev Rev Install Guide

Status
Not open for further replies.
Junior Spellweaver
Joined
Nov 18, 2004
Messages
117
Reaction score
6
Full guide to installing the latest OsRose Source, credits to lmame of OsRose.

I°) Download Tortoise SVN:
To get the source code from SVN, you can use Tortoise SVN, go get it and install it:



II°) Download source code:
The source code is available through SVN.
Create a folder somewhere, right click on it and choose "SVN checkout".
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Enter the URL address of the SVN (see ):
Code:
https://osrose-svn.cvsdude.com/trunk
Login / password: beta81/beta81
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


If asked, enter next the login / password (beta81/beta81) and wait for the source code to be downloaded.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums



III°) Download CodeBlocks and its plugins:
1°) Codeblocks:
To build the server, you need a "compiler", we'll use Codeblocks.
You can get it from here:


Note:
Don't download version 10.x, it's ! Use the 8.02!


Take the "codeblocks-8.02mingw-setup.exe", always with the "mingw".

You can use Codeblocks 8.02 or the which are more recent but harder to install.

Anyway, install Codeblocks, for example to c:\codeblocks.


2°) the plugins:
In order to build the server, you need plugins here.

Unrar them into the "plugins" folder of codeblocks, for example "c:\codeblocks\plugins". If the folder doesn't exist, create it.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Once it's done, open Codeblocks, then go to menu:
Settings->Compiler and debugger
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Then goto tab "Search directories" and:
For tab "Compiler", add:
c:\codeblocks\plugins\include
For tab "Linker", add:
c:\codeblocks\plugins\lib
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


In my captures I installed codeblocks in d:\CBN so use your imagination and choose your "good" installation folder of course...


IV°) build the source code:
1°) open:
There are three servers as source code, login server, char server and world server. Each one has its own "project file" which are in "binary" folder:
loginserver.cbp, charserver.cbp, worldserver.cbp.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


To open one of those servers in Codeblocks, just double click on those files or open them in Codeblocks (File->Open).


2°) build:
It's simple, once a server is loaded into codeblocks, go in menu "build" and choose "rebuild".
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


The exe are into the "binary" folder.

Note:
Don't build a server if the exe is already launched. Stop the server first.

Note 2:
Every time you change a single line of code, rebuild the server to update the executable.
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Nov 18, 2004
Messages
117
Reaction score
6
V°) Install the database and setup your server .conf files and IPs:
1°) Install Mysql:
Install Mysql server, the recommanded version is 5.0.x but use 5.1 or 6 if you want...



Note:
You can download the tools as well:



2°) Navicat:
is a software to easily manage your databases. You're free to use another software, I'll use it for demonstration purposes.

3°) create the database:
You must create a database in order to use the server.
For that, you can use navicat.

a°) create a connexion to your mysql server:
Click on "connection" the enter the informations that are needed and save.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


The root password is the one you chose when installing Mysql server.

b°) create a database:
Launch the connection (simply double click on it), then right click on it and choose "new database". Enter a new name (like "roseon") and it's ok.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


c°) create an user to access it:
It's better to create an user (mysql user) to access this database. Click on "user" and then on "add user".
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Enter its name and password (here "test").
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Then select him on the list, and the database you want to give access rights "roseon".
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Click on "select all" to give all rights and save.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums



4°) Install the database:
Open the file "Database/database_installer.bat" which is your server.
Inside, you have to change some of the data according to YOUR specifications:

Code:
REM MYSQL BIN PATH
set mysqlBinPath=C:\Program Files\MySQL\MySQL Server 5.0\bin
 
set user=root
set pass=
set db=roseon
set host=localhost

Look where your mysql server is installed for:
Code:
set mysqlBinPath=C:\Program Files\MySQL\MySQL Server 5.0\bin
and change if necessary.

The other data is the informations to access your database we created. We need to give the database name (roseon) and the login / password of the user we created as well (test / your_password).
So update the data accordingly and save the file.

Then just double click on "database_installer.bat" and wait until it's done.

Note:
If you want to run the installer again, delete first the tables in your database... Use Navicat for that (launch navicat, open the database, right click on a table and hit delete).

5°) Update the .conf files:
Each server (loginserver, charserver, worldserver) has his own config file, loginserver.conf, charserver.conf, worldserver.conf.

In all the three .conf files, a block is the same it's the one used for the MySQL database access, you need to put in there your own values:
[DATABASE]
mysql_host=localhost
mysql_user=root
mysql_pass=password
mysql_database=database
mysql_port=3306
AutoQueryTime=600

So in my example it would do:
[DATABASE]
mysql_host=localhost
mysql_user=test
mysql_pass=password
mysql_database=roseon
mysql_port=3306
AutoQueryTime=600

Then each .conf file has his own details:

a°) loginserver.conf:
You need to set the IP's values for your servers, please check for more details:
[SERVERDATA]
serverid=0
servertype=0
serverip=IP
serverport=29000
servername=LoginServer
connection=2
lanip=IP
lansubmask=IP


Other interesting stuff:
[LOGINSERVER]
accesslevel=100
CreateLoginAccount=0
checkGameGuard=0
usethreads=0
acceslevel means the minimum rights people must have to access your server. Players have level 100.
CreateLoginAccount means that, the first time an unknown player will try to login on your server, he will be rejected BUT an account will be created server side in your MySQL database. So if he tries to login again, it will work. It is NOT recommended, use rather a CMS to create account than this way. 0 means disable, 1 means enable.
checkGameGuard means that server should check if the player has GameGuard or not. It should be let to 0 (disabled). 0 is highly RECOMMENDED.


b°) charserver.conf:
You need to set the IP's values for your servers, please check for more details:

[SERVERDATA]
serverid=1
servertype=1
serverip=IP
serverport=29100
servername=Server1
parentid=0
accesslevel=100
connection=2
lanip=IP
lansubmask=IP
acceslevel means the minimum rights people must have to access your server. Players have level 100.
servername is the server name that will be displayed after the player logs in.


c°) worldserver.conf:
You need to set the IP's values for your servers, please check for more details:

[SERVERDATA]
serverid=1
servertype=2
serverip=IP
serverport=29200
servername=Channel1
maxconnections=500
parentid=1
connection=2
lanip=IP
lansubmask=IP[/quote]
servername is the channel name that will be displayed after the player logs in and when he selects a world.


Other interesting stuff:
[WORLDSERVER]
accesslevel=100
welcome_msg=Welcome to Open Source Rose Online EVO
acceslevel means the minimum rights people must have to access your server. Players have level 100.
welcome_msg is the message the player will have when he joins the game (after beeing logged and choosing his avatar).


6°) configure your server's IPs:
See 5°) above and check for more details.


VI°) Update your data files to match your client:
1°) extract data from the client:
You need several files taken from the client so the server has the exact same informations. This way the server will know what items are in your client, what skills can be learned and so on.
So the client and server informations MUST match.

To do this, use a vfs extract tool, for example .
Unzip it where you installed Rose Online, next to the .vfs files.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Launch the software and choose "File->extract all" and choose a folder where all the data will go.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Now wait.
 
Junior Spellweaver
Joined
Nov 18, 2004
Messages
117
Reaction score
6
2°) what is needed?:
Your server needs that you copy ALL the content of the folders from your client (the one you just extracted):
3DDATA/QUESTDATA
3DDATA/AI
3DDATA/STB

To your server. Copy those three folders into:
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Binary/3DData/

That's all, it's good now.


3°) .csv and .sql files:
Sometimes STB, AIP and QSD aren't enough. Especially when something changes on a NPC or spawns or telegates...
You'll have to update those .sql files using the tools that are in this thread: .
Once you got the necessary files (see the thread for the few ones you need), IMPORT them into your database using Navicat or whatever.
If there is a mysql error, perhaps you'll have to DELETE the according table before importing the new data.
See the thread for an "how to".


VII°) tips/tricks:
Most of the informations are on the other "rev 80" tutorial, I'll tell here only other stuff...

1°) client version:
You MUST use the "Trose.exe" from the game, no need anymore for "gameguard patch". DON'T USE THE GAMEGUARD PATCH.


2°) GameGuard server:
You'll need to setup one, check this thread for files and instructions.
Or you can use a Trose.Exe without Gameguard:


Note:
Since their client 212, naRose Gameguard so if you're using naRose client 212 and above, you DON'T need to setup a Gameguard server anymore.
So you can use the naRose client, with naRose's Trose.exe, without Gameguard server.



2°) launching servers:
You have to launch in order: loginserver.exe, then charserver.exe, then worldserver.exe.

3°) config tricks:
a°)In loginserver.conf:
Code:
CreateLoginAccount=0
set this to 1 if you want to create automatically an account. First time it'll fail, next time the guy will be able to login.
Code:
checkGameGuard=0
it's supposed to check if Gameguard is installed or not. 0 is RECOMMENDED.

b°) where are the other config?:
Most of them have been moved to the mysql table "list_config", go see there.


4°) how to have log files?:
You simply have to create a folder "log" into your "binary" folder to get your servers logs.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

To get packets as well, create a folder "plog" into your "binary" folder.


5°) Running a server in debug mode:
It's very useful if you got a crash and want to report something.

Open the server you want to run in debug mode, let's say "loginserver.cbp".
Then hit "Debug"->"Start" and the server should launch itself.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums
 
Junior Spellweaver
Joined
Nov 18, 2004
Messages
117
Reaction score
6
Note:
In some rare occasions you'll have messages like that:
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums

Hit "Control+F7" to pass that until the server is launched.


When a crash occurs, Codeblocks will trap it and will tell you where it happened:
[IMG]https://forum.ragezone.com/ima...ose.com/viewtopic.php?f=18&t=3894]this thread to know what watches are (seeing variables values while debugging).

Press the stop to stop debug mode:
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums



6°) Update the server (SVN):
It's easy. First stop all the servers, else you would have troubles.
Then right click on the folder where is your source code, then select "SVN Update":
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


And wait...
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Now, of course if some code changed in the server, REBUILD them before launching them again.



7°) See the SVN Logs:
For each rev, the devs tell what changed. It's QUITE important you READ them!
To do this, simply right click on the folder where you source code is, then "properties":
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


---------- Post added at 01:58 PM ---------- Previous post was at 01:57 PM ----------

Then tab "subversion" and "show log".
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums


Wait a bit and you'll have the history.
Hazuki - OsRose Dev Rev Install Guide - RaGEZONE Forums



8°) Dev rev updates:
Sometimes from one rev to another some files are updated, like STB, AIP and QSD files. Those files don't need special handling.
Though sometimes some databases files (.sql) are changed, you NEED to import back those files into your mysql database, with Navicat for example.
The best way is FIRST to delete the according database table BEFORE importing the new one.
For example if you "list_npcs.sql" changed, delete the table "list_npcs" and import after the file "list_npcs.sql".

9°) How to post a bug, how to export data from an avatar:
See this thread in bug forum:


10°) how to launch the game?:
Make a batch file (like "rose.bat") near Trose.Exe with this command line:
Code:
TRose.exe @TRIGGER_SOFT@ _server your_server_ip
so for example:
Code:
TRose.exe @TRIGGER_SOFT@ _server 127.0.0.1


11°) GM commands:
Most of the time GM Commands needs at least a 300 level AND the "isgm" flag set to 1 for a player.
You can set the player's "level" into the "account" mysql table, it will apply for ALL his avatars (characters).
You can set the "isgm" to 1 into the "characters" mysql table, for each of his avatar (one can have this, one don't...).

If you want to give your players access to some GM commands, you must set the access level for this command so they can use them. It's in file "commands.ini". By default it's GM (level 300) only, for example /go:

If you want players (who are only level 100) to access it you need to change the value by:


Notes:
-> For your GMs it's better than you give them 300 level AND the isGM set to 1,
-> Some GM commands check that the "isgm" flag is set to 1 for example:
Code:
if(Config.Command_Ban > thisclient->Session->accesslevel || thisclient->CharInfo->isGM == false)
So this command wouldn't be accessible to players, even if you lower its access to "99" in commands.ini.


Once again thanks to lmame of OsRose for this guide and his continued work on the OsRose project.
 
Last edited:
Newbie Spellweaver
Joined
Sep 22, 2009
Messages
13
Reaction score
1
I will create one as written here, and after compiling (without errors) I get the files ******.o
All of them where and need to be but what is wrong?
 
Last of the OsRose Devs
Loyal Member
Joined
Oct 15, 2006
Messages
2,154
Reaction score
101
COuld have just linked to lmame's post in dev-osrose Haz :wink:
 
Elite Diviner
Joined
Jun 14, 2007
Messages
440
Reaction score
10
This was stolen from lmame. but nice job.... lol

BTW why did you post multiple times?

Hazuki asked if it was ok first and look at the first line of his first post before saying stuff like that.
 
Last of the OsRose Devs
Loyal Member
Joined
Oct 15, 2006
Messages
2,154
Reaction score
101
This was stolen from lmame. but nice job.... lol

BTW why did you post multiple times?
It wasn't stolen.
It was copied with lmame's permission.
Haz also gave credits to the original source at the top of the first post.

It wasn't posted multiple times.
It was broken up into 3 parts because RZ has a post size limit that prevents it being put into one post.
 
Last of the OsRose Devs
Loyal Member
Joined
Oct 15, 2006
Messages
2,154
Reaction score
101
Who can explain with Screen Shots? how to do gm
are you serious?

You need screen shots to modify a single value in your database???

This isn't rocket science you know. All you have to do is open your accounts table and find the account that you want to modify then set the "accesslevel" value to 300

You might also need to open your characters table and change a value called "isgm" to 1 for any GM characters. (depends on your server type. this isn't in all of them)
 
Newbie Spellweaver
Joined
Dec 8, 2008
Messages
6
Reaction score
0
lmame, hazuki, nice work with the compiling the server, it's been long since anyone posts a step-by-step compiling process since these days they always ask in non-english "how to gm, please server please" and all that stuff...
Well i folowed your steps Hazuki since it's the first time i'm acctually compiling a server thanks to you, there's seems to be a problem with the rebuilding manager...
For all the three svn char login and world it won't rebuild it

for example for the char svn...


"CharServer - default" uses an invalid compiler. Skipping...
Nothing to be done.

Nothing to be done.
 
Elite Diviner
Joined
Jun 14, 2007
Messages
440
Reaction score
10
Wrong codeblocks setup probably.
 
Last of the OsRose Devs
Loyal Member
Joined
Oct 15, 2006
Messages
2,154
Reaction score
101
You could also try compiling with dev c++
The server is compatible with that too. In fact it's still the one i use most of the time.
Either way you have to make sure you use mingw. Codeblocks comes in two versions, one with mingw and one without.
 
Newbie Spellweaver
Joined
Dec 8, 2008
Messages
6
Reaction score
0
You could also try compiling with dev c++
The server is compatible with that too. In fact it's still the one i use most of the time.
Either way you have to make sure you use mingw. Codeblocks comes in two versions, one with mingw and one without.

i know that it's on the main download site of CB, it's just that the normal version works with Vista the mingw is incompatible... also tryed to change rights and compatibility and Still no use Lamem... it's still kipping it and says nothing to rebuild...
 
Last of the OsRose Devs
Loyal Member
Joined
Oct 15, 2006
Messages
2,154
Reaction score
101
have you tried downloading the mingw library and lining it yourself in the compiler settings?
Or is the actual library incompatible with vista?

Pretty much everything else seems to be incompatible with vista so why would this be any different? :thumbdown:
 
Newbie Spellweaver
Joined
Dec 8, 2008
Messages
6
Reaction score
0
have you tried downloading the mingw library and lining it yourself in the compiler settings?
Or is the actual library incompatible with vista?

Pretty much everything else seems to be incompatible with vista so why would this be any different? :thumbdown:

In fact tryed with Mingw and i ge tthe same results, applyed compatibility, disabled the UAC... moreover now i have problems with MySQL too
I just can't any instance installled...
tryed the standard way... nothing it gets stuck at the second phase and won't proceed... i had to close the program by force, while configuring any other instance i removed MySQL entirely, manually deleated all the keys in the registry, disabled BitDefender, and all that... Still at the next step tryed with the detailed setting of the instance and it gets pass the security this time it says that the port 3306 is used up, used up by whom cause the only app can be used is Mysl itself, rtestarted the PC, removed entirelly same process.. still the damn port is used and Dunno what the hell is using it damn!:(::<::*:
 
Newbie Spellweaver
Joined
Jul 16, 2009
Messages
32
Reaction score
0
is it supposed to come with the exe's or do you make them? if so how?
 
Last of the OsRose Devs
Loyal Member
Joined
Oct 15, 2006
Messages
2,154
Reaction score
101
you make your own executables by compiling the source code using either Dev C++ or codeblocks.
Instructions are included in the tutorial.
 
Status
Not open for further replies.
Back
Top