Register for your free account! | Forgot your password?

You last visited: Today at 04:03

  • Please register to post and access all features, it's quick, easy and FREE!

 

[MEGA GUIDE] Rose Server Setup + Compiling + SQL &

Reply
 
Old   #1
 
elite*gold: 10
Join Date: May 2005
Posts: 1,540
Received Thanks: 116
Alright, all of the Rose Online guides in rz are outdated. So I'm making this for people to use and hopefully simplify it so people can understand it better. I'll also try my best to keep it updated. I also will share a launcher I found ages ago, which was designed by nhed (credits to him), its a newer one. So you don't have to use a .bat anymore. This Guide & Files will always be for the latest files! These files work with the latest client ver 133.

Current Version: REV 59 (April 18th, 2007)

-- 1.0: Server Installation
-- 2.0: Running the server
-- 3.0: Client Setup (NO more .bat&#33
-- 3.1: Setting up a webserver + Site
-- 4.0: SQL
-- 5.0: GM and Commands
-- 6.0: Compiling
-- 7.0: Multi World
-- 8.0: Extras
-- 9.0: Problems & Errors
-- 10.0: Notes
-- 10.1: Updates


--------1.0----------Server Installation

Step 1: First download this full server I have put together for you.
Link:
- 1/29/07 (Emergency Update For GM Commands)
- 1/30/07 (New SQL Update for .sql file, new and improved respawns)
- 2/8/07 (Updated to the new files! Rev 16&#33
- 2/11/07 (Updated to the new files Rev 20&#33
- 2/20/07 (Updated from Rev 20 to Rev 23)
- 2/24/07 (Updated to Rev 25 files&#33
- 2/25/07 (Fixed the STBS, which updated them to ver 137)
- 3/1/07 (Updated to Rev 30 files&#33
- 3/1/07 (Included the right database)
- 3/4/07 (Added ver 138 STB!, should fix in-game problems)
- 4/4/07 (Updated to the new files! Rev 41&#33
- 4/6/07 (Updated to the new files! Rev 45&#33
- 4/18/07 (Updated to the new files! Rev 59&#33


Now, download Navicat. This is used for the Databases (SQL).
Link:

Install Navicat. After it's installed, run the program. You should see the connection "localhost" to the left. IF you do not, go to "File > New Connection". In the fields put this:

Connection Name: localhost
Host Name/IP Address: localhost
Port: 3306
Username: root
Password:

(Leave password blank) And click "Test Connection" and you should get a success. If you do, click "OK".

Now, click your connection "localhost" and right click and go to "New Database". Name the database "roseon" and click OK. Right click on the database you just made, and click "Execute batch file". Browse to the folder you extracted the server files, and find the folder named "database" and double click "osrose svn.sql". It will start the process that .sql file, it may take a few minutes. If everything went right, it should tell you it executed it successfully.

You do NOT need to edit the Channels table anymore, so please close out of Navicat.

Now, go to your Server folder where you extracted all those files. In the root folder you should see "charserver.conf" Open that file with Notepad. And you should see this:

Code:
[DATABASE]
mysql_host=localhost
mysql_user=root
mysql_pass=
mysql_database=roseon
mysql_port=3306
AutoQueryTime=600

[SERVERDATA]
serverid=1
servertype=1
serverip=201.160.169.10
serverport=29100
servername=Dark
parentid=0
accesslevel=100
connection=2
lanip=192.168.0.1
lansubmask=192.168.0

[CHARSErVER]
deletetime=3600
usethreads=0

[PASSWORDS]
loginpass=789456
charpass=456123
worldpass=321654
You first need to change the database settings up top. The host should be "localhost" just like you did in Navicat. Same for the username and password you did for navicat. And for the database name, put the name of the database you created in Navicat. So basically your just filling out the info that you made in Navicat, really easy.

Now you need to change some things. So, on the "serverip=201.160.169.10" change the 201.160.169.10 to your WAN IP. (which you can find here: ). Then find "servername=Dark" Change "Dark" to whatever you want your server name to be. Now, find "lanip=192.168.0.1" you need to change this to your lan IP. You can find out your lan IP by going to "Start>run> and type in "cmd" (without the quotation marks) and once the command prompt comes up, type "ipconfig" (without the quotation marks). It will give you the LAN IP along wit the Lan Sub Mask. So change those two fields in the conf file. Save and close the file.

Next, find the file named "loginserver.conf" and open it with Notepad. And you should see this:

Code:
[DATABASE]
mysql_host=localhost
mysql_user=root
mysql_pass=
mysql_database=roseon
mysql_port=3306

[SERVERDATA]
serverid=0
servertype=0
serverip=201.160.169.10
serverport=29000
servername=LoginServer
connection=0
lanip=192.168.0.1
lansubmask=192.168.0

[LOGINSERVER]
accesslevel=100
CreateLoginAccount=1
usethreads=0

[PASSWORDS]
loginpass=789456
charpass=456123
worldpass=321654
Again, change the database settings just like you did in the previous file. After that, find "serverip=201.160.169.10" and change the 201.160.169.10 to your WAN IP (which you can find here: ). Now, find "lanip=192.168.0.1" you need to change this to your lan IP. You can find out your lan IP by going to "Start>run> and type in "cmd" (without the quotation marks) and once the command prompt comes up, type "ipconfig" (without the quotation marks). It will give you the LAN IP along wit the Lan Sub Mask. So change those two fields in the conf file. Here you have a choice, see "CreateLoginAccount=1"? When this is set to 1, it enables a person to make an account on login. What this does is a person will type in their account info in game, and it will tell them "Account does not exisit". Then if they type it again, their account will be created. If you want this disabled, then change the "1" to a "0". Save and close the file.

Lastly, find the file named "worldserver.conf" and open it with Notepad. And you should see this:

Code:
[DATABASE]
mysql_host=localhost
mysql_user=root
mysql_pass=
mysql_database=roseon
mysql_port=3306
AutoQueryTime=600

[SERVERDATA]
serverid=1
servertype=2
serverip=201.160.169.10
serverport=29200
servername=Channel 1
maxconnections=500
parentid=1
connection=2
lanip=192.168.0.1
lansubmask=192.168.0

[WORLDSERVER]
accesslevel=100
exp_rate=3
drop_rate=1
drop_type=2
zuly_rate=4
welcome_msg=Welcome to Open Source Rose Online
autosave=1
savetime=120
mapdelay=10
visualdelay=200
worlddelay=700
partygap=10
maxstat=255

[PASSWORDS]
loginpass=789456
charpass=456123
worldpass=321654
Again, change the database settings just like you did in the previous file. Then find "serverip=201.160.169.10" and change the 201.160.169.10 to your WAN IP (which you can find here: ). Now, find "lanip=192.168.0.1" you need to change this to your lan IP. You can find out your lan IP by going to "Start>run> and type in "cmd" (without the quotation marks) and once the command prompt comes up, type "ipconfig" (without the quotation marks). It will give you the LAN IP along wit the Lan Sub Mask. So change those two fields in the conf file. Then find "servername=Channel 1" and change "Channel 1" to what you want your Server name to be. In this file you can edit the EXP rate, the Drop Rate, Zuly Rate, and the Welcome message and more things. Save and close the file.

You do not need to edit the "config.ini"! You have now setup your server!



--------2.0----------Running the server

So now run the .exe's in this order: Run "loginserver.exe" and let it load, then run "charserver.exe" and let it load, then run "worldserver.exe".

That was short and easy!


--------3.0----------Client Setup

First, download the ver 128 EVO client:
Link: Rose Online NA_EVO ver 128 Client
Then Install the client, after it's installed. Run "ROSEonline.exe" and let it update completely! After it's updated, you MUST run "TriggerDetect.exe" and fill out your Graphic settings, if you do not run TriggerDetect, then the client will not run.

Next, you abosolutely NEED to download this. This will fix your game from thinking you have a Hacking Tool. GameGuard did an update that disabled most private servers (when you logged in it said "Detected Hacking tool" and closes the game). So to fix this, please download this file below and put it inside your Rose Online client folder and double click it (nothing will happen, it runs in the background). Anyone who trys to connect to your server will need this file.
Link:

Throughout the forum you've seen how to connect to your server, with the .bat, EW that's so annoying and not pretty, well I'm going to help you out now. Download this launcher (made by nhed57, all credits to him):
Link:
So extract that to your Rose Online folder. (Default should be: C:\Program Files\Triggersoft\Rose Online Evolution). After you extracted the launcher to that folder, go into that folder and find the file named "lconfig.nhd" and open it with Notepad. Inside that file you should see:

Code:
[CFG]
Server=127.0.0.1
HTTPReg=yourwebcms.com/register.php
HTTPNot=yourwebcms.com
The "Server=127.0.0.1" is the IP the client connects to. So change "127.0.0.1" to your WAN IP (which can be found here: ). The "HTTPReg" is the weblink to where your registration is filled out, you don't have to fill that out, you can leave it blank. The "HTTPNot" is your main website link, you don't have to fill this out you can leave it blank. After you have filled it in, save it and close it. You are now done with the client setup.


--------3.1----------Setting up a webserver + Site

Throughout the forum topics tell you to use WAMP, well WAMP sucks so we're aren't going to use it. First, download XAMPP (so much better and easier than WAMP).
Link:

(SKIP this next step if you already instead MySQL)
After that, you NEED MySQL. Please download and install it.
Link:

During the installation, it will say something about "singing up", choose "Skip Signup". After MySQL is installed it will ask you to configure it, so keep clicking "Next" untill you get to a part where it asks for a password. Type in a password (such as "root" , this is the password that will be used for configuring your server and Navicat).

After Xampplite is downloaded, install it. Now after it's installed, go to the Xampp folder, the default location is ( C:\xampplite ). Find "xampp_start.exe" and run it, if everything goes well then it should tell you it's a success. So now bring up your web browser and type in "http://localhost and if the xampp page comes up, then you installed it successfully!

Next is to download a Rose Web CMS, lots of them are found on the forums. Here is a new one (Credit to -Element):
Link:
- 1/28/07 (Updated)
- 2/2/07 Updated to the new FULL Version


Next, go to your HTDOCS folder, which is found in the Xampp folder. (Default path is C:\xampp\htdocs ). Delete all the files inside the HTDOCS folder except for the folders "forbidden" and "restricted", please leave those. Then extract the Rose CMS Beta 2 you just downloaded to the HTDOCS folder. After you have extracted it, make sure xamp_start.exe is running, if not go back to your xampp root folder ( C:\xampp) and start it. If the webserver is running, bring your web browser up and type "http://localhost" and you should see your Rose CMS Beta 2! Now you need to install the website to make it connect to your database (so you can make accounts). So in your "inc" folder, find the file named "config.php" and edit the Database settings inside there. So follow this pattern:

Code:
Database Host: localhost
Database User: root
Database Password (leave it blank, unless you set a password in navicat)
Database Name: roseon
For the rest of the stuff such as a Server Exp, Server Drop, Client Link, Patch link, you don't need to fill that in. If you want to that's fine, but it's not required. If your database settings are correct, then save the file and try and make an account in your CMS. Now your done!

If you cannot see your webserver, go down to "-- 9.0: Problems" to fix it.


--------4.0----------SQL

SQL is really easy if you just look at it. Let's say you want to change a character's name. You would open up the "Characters" table, and find the character's name you want to change, and change it. And your done! It's really easy. Same for many other things. Such as giving someone zuly. Go into the "Characters" table and find the zuly field, and enter the number of zuly you want that character to have. Inside the SQL you can change many things, the character name, zuly, skills, hair style, face, job/class, and much more. So for your sake, I'll post some useful stuff.

Class ID's

To change a character's class, find the field "classid" inside the "Characters" table and change it.

0, Visitor
111, Soldier
121, Knight
122, Champion
211, Muse
221, Mage
222, Cleric
311, Hawker
321, Raider
322, Scout
411, Dealer
421, Bourgeois
422, Artisan

~More SQL things to be added.


--------5.0----------GM and Commands

To make a character a GM, go into the "Accounts" table and find the field "accesslevel", a normal characters accesslevel is 100, for a GM it's 300. So to make an account a GM account, change the accesslevel to 300 and your done!

Next, here the GM commands:

Code:
/tele [map] [x] [y]    - teleport
/b           - broadcast
/save        - save character data
/reload        - reload config.ini
/ann [msg]      - announcement
/SSPAWN [monid] [min] [max]  - startspawn
/SET        - setspawnlocation
/ESPAWN [monid] [aggressive]  - endspawn
/DSPAWN [id] [monid] [min] [max] [respawn time] [aggressive]- dupespawn
/DELETESPAWN [id]    - delete spawn by id    
/pak        - read packet.txt and send it
/pak2        - read packet2.txt and send it
/level [lvl]      - change lvl
/class [id]     - change your class, must relog after
/info        - show info
/exp [amt]      - give yourself exp
/mon [monid] [count]    - spawn monsters
/kick [charname]      - kick player from game
/job [jobname]      - finish first job quest
/set [id] [refine]     - set full armor to [id] with [refine]
/cha [slotname] [id] [stats]  - cha slot to [id] with [stats]
/item [id] [type] [amt]    - get item
/levelup        - go to next level
/drop [type] [id]    - drop an item
/givezuly [charname] [amt]  - give someone zuly
/npc [id]      - spawn an npc
/givefairy [charname] [flag]  - give/remove fairy (1/0)
/move [charname] [map] [x] [y]  - tele someone
/goto [charname]      - goto someone
/teletome [charname]    - bring someone here
/playerinfo [charname]    - get player infor
/give2 [charname] [id] [type] [amt] - give someone item(s)
/ban [charname]      - ban a player
/buff [id]      - buff yourself
/ani [id]      - do animation
/summon [monid]      - summon monstor (to help you)
/reloadquest      - reload quest info
/shutdown [minutes]    - shutdown server in x minutes
/dquest        - debug quests
/iquest [id] <amt>    - get items for quest (i think)
(Credits to Minoc)


--------6.0----------Compiling

First, I've done you a favor and put all the newest sources together for you.
Link:
- 1/30/07 (Emergency Update)
- 1/30/07 (SQL Update for .sql file, new and improved respawns)
- 2/8/07 (Rev 16 new files&#33
- 2/11/07 (Updated to Rev 20 new files&#33
- 2/20/07 (Updated to Rev 23 files&#33
- 2/24/07 (Updated to Rev 25 files&#33
- 2/25/07 (Fixed the STB for ver 137&#33
- 3/1/07 (Updated to Rev 30 files&#33
- 3/1/07 (Included the right database)
- 3/4/07 (Added ver 138 STB!, should fix in-game problems)
- 4/4/07 (Updated to Rev 41 files&#33
- 4/6/07 (Updated to Rev 45 files&#33
- 4/18/07 (Updated to Rev 59 files&#33


Extract the sources to a new folder somewhere.

Next you need the compiler, DEV C++ 4.
Link:

After you downloaded DEV C++ 4, install it.

Then, download the pThread packet and install it.
Link:

After that's done, run the program. (Default path is C:\Dev-Cpp ). Now you need the libmysql package. So inside DEV C++, go to the menu "Tools>Check for updates/packages" and select the "devpacks" mirror. Then click "Check for updates" after the list is complete, search through and find "libmysql" and select it and click "Download Selected". After it downloads it will install, so let it install.

After the libmysql package is installed, we need to change a few lib paths. Open up your project (such as worldserver.dev, which can be found in the "worldserver" folder) Go to menu "Project>project option".
2. Go to "parameters" tab and change the "C:/Dev-Cpp/lib/libws2_32.a" and "C:/Dev-Cpp/lib/libmysql.a"
for you correct path.

Open DEV C++ and in the menu go to "Project>Project Option". Then go to the tab "Parameters" and change the "C:/Dev-Cpp/lib/libws2_32.a" and "C:/Dev-Cpp/lib/libmysql.a" to their correct paths, (look for files in the "lib" folder, and just copy and path).

Now, to compile the .exe, open the .dev (loginserver.dev, charserver.dev, worldserver.dev) and click on the menu "Execute>Rebuild All". And you have the .exe inside the sources folder!


--------7.0----------Multi World

This had to be completely redone because the old version of Multi World did not work. This has now been updated. The only way to get this to work is to edit the source. It's strongly recommended that you know what your doing in the source.

Code:
 This will allow you to configure more than one world/char server, while only running on login server, so you can have 2 servers (Maybe a high and low rate) running off one account database, but with seperate character/item/quest/everything else tables.

You can ignore the extra settings in the conf files unless you want the server to be a slave. To set it up as a slave, make sure to set it's id to something unused, set "serverslave" to 1, change the DATABASE section to the new database (It doesn't need to have a channel or accounts table in it), change the PARENTDB to the main database with the account table, and set everything else up how you would normally set up a server.

This will work for splitting up a server, so that the master is on one PC, and there is a slave on a second. Just make sure to set up the IP's in the config right, and set up your routers port forwarding.

Code:
#
#-----[ OPEN ]---------------------------------
#
Charserver.conf

#
#-----[ FIND ]---------------------------------
#
servertype=1

#
#-----[ AFTER, ADD ]---------------------------
#
serverslave=0

#
#-----[ FIND ]---------------------------------
#
worldpass=321654

#
#-----[ AFTER, ADD ]---------------------------
#
[PARENTDB]
master_host=
master_user=
master_pass=
master_database=
master_post=3306


#
#-----[ OPEN ]---------------------------------
#
WorldServer.conf

#
#-----[ FIND ]---------------------------------
#
servertype=2

#
#-----[ AFTER, ADD ]---------------------------
#
serverslave=0

#
#-----[ FIND ]---------------------------------
#
worldpass=321654

#
#-----[ AFTER, ADD ]---------------------------
#
[PARENTDB]
master_host=
master_user=
master_pass=
master_database=
master_post=3306


#
#-----[ OPEN ]---------------------------------
#
Char Server/CharPackets.cpp

#
#-----[ FIND ]---------------------------------
#
if(!DoSQL("SELECT username,lastsvr,accesslevel,platinum FROM accounts WHERE id=%i AND password='%s'", thisclient->userid, thisclient->password))
return false;
result = mysql_store_result(mysql);

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
if(!DoSQL("SELECT username,lastsvr,accesslevel,platinum FROM accounts WHERE id=%i AND password='%s'", thisclient->userid, thisclient->password))
return false;
result = mysql_store_result(mysql);
} else {
if(!DoSQLMaster("SELECT username,lastsvr,accesslevel,platinum FROM accounts WHERE id=%i AND password='%s'", thisclient->userid, thisclient->password))
return false;
result = mysql_store_result(mysqlmaster);
}

#
#-----[ FIND ]---------------------------------
#
if(!DoSQL( "SELECT online FROM accounts WHERE username='%s'", thisclient->username ))
return false;
result = mysql_store_result( mysql );

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
if(!DoSQL( "SELECT online FROM accounts WHERE username='%s'", thisclient->username ))
return false;
result = mysql_store_result( mysql );
} else {
if(!DoSQLMaster( "SELECT online FROM accounts WHERE username='%s'", thisclient->username ))
return false;
result = mysql_store_result( mysqlmaster );
}

#
#-----[ FIND ]---------------------------------
#
if(!DoSQL( "update accounts set online=1 WHERE username='%s'", thisclient->username ))
return false;

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
if(!DoSQL( "update accounts set online=1 WHERE username='%s'", thisclient->username ))
return false;
} else {
if(!DoSQLMaster( "update accounts set online=1 WHERE username='%s'", thisclient->username ))
return false;
}

#
#-----[ FIND ]---------------------------------
#
if(!DoSQL("UPDATE accounts SET lastchar='%s' WHERE id=%i", thisclient->charname, thisclient->userid))
return false;
if(!DoSQL("SELECT host,port,lanip,lansubmask FROM channels WHERE id=%u and owner=%u and type=2", thisclient->channel, Config.ServerID))
return false;
result = mysql_store_result( mysql );

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
if(!DoSQL("UPDATE accounts SET lastchar='%s' WHERE id=%i", thisclient->charname, thisclient->userid))
return false;
if(!DoSQL("SELECT host,port,lanip,lansubmask FROM channels WHERE id=%u and owner=%u and type=2", thisclient->channel, Config.ServerID))
return false;
result = mysql_store_result( mysql );
} else {
if(!DoSQLMaster("UPDATE accounts SET lastchar='%s' WHERE id=%i", thisclient->charname, thisclient->userid))
return false;
if(!DoSQLMaster("SELECT host,port,lanip,lansubmask FROM channels WHERE id=%u and owner=%u and type=2", thisclient->channel, Config.ServerID))
return false;
result = mysql_store_result( mysqlmaster );
}


#
#-----[ OPEN ]---------------------------------
#
Char Server/Charserver.cpp

#
#-----[ FIND ]---------------------------------
#
DoSQL( "DELETE FROM channels WHERE id=%u and type=%i", Config.ServerID, Config.ServerType );
if(!DoSQL("INSERT INTO channels (id,type,name,host,port,lanip,lansubmask,connected ,maxconnections,owner) VALUES (%i,%i,'%s','%s',%i,'%s','%s',0,%i,%i)",
Config.ServerID, Config.ServerType, Config.ServerName, Config.CharIP, Config.CharPort, Config.LanIP, Config.LanSubnet, Config.MaxConnections, Config.ParentID))
{
Log(MSG_WARNING, "Error accessing to database, the other server will not connect to CharServer" );
}

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
DoSQL( "DELETE FROM channels WHERE id=%u and type=%i", Config.ServerID, Config.ServerType );
if(!DoSQL("INSERT INTO channels (id,type,name,host,port,lanip,lansubmask,connected ,maxconnections,owner) VALUES (%i,%i,'%s','%s',%i,'%s','%s',0,%i,%i)",
Config.ServerID, Config.ServerType, Config.ServerName, Config.CharIP, Config.CharPort, Config.LanIP, Config.LanSubnet, Config.MaxConnections, Config.ParentID))
{
Log(MSG_WARNING, "Error accessing to database, the other server will not connect to CharServer" );
}
} else {
DoSQLMaster( "DELETE FROM channels WHERE id=%u and type=%i", Config.ServerID, Config.ServerType );
if(!DoSQLMaster("INSERT INTO channels (id,type,name,host,port,lanip,lansubmask,connected ,maxconnections,owner) VALUES (%i,%i,'%s','%s',%i,'%s','%s',0,%i,%i)",
Config.ServerID, Config.ServerType, Config.ServerName, Config.CharIP, Config.CharPort, Config.LanIP, Config.LanSubnet, Config.MaxConnections, Config.ParentID))
{
Log(MSG_WARNING, "Error accessing to database, the other server will not connect to CharServer" );
}
}

#
#-----[ FIND ]---------------------------------
#
DoSQL( "SELECT host,port,lanip FROM channels WHERE id=%u and type=0", Config.ParentID );
result = mysql_store_result(mysql);

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
DoSQL( "SELECT host,port,lanip FROM channels WHERE id=%u and type=0", Config.ParentID );
result = mysql_store_result(mysql);
} else {
DoSQLMaster( "SELECT host,port,lanip FROM channels WHERE id=%u and type=0", Config.ParentID );
result = mysql_store_result(mysqlmaster);
}

#
#-----[ FIND ]---------------------------------
#
DoSQL( "DELETE FROM channels WHERE id=%u and type=2", thischannel->id );

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
DoSQL( "DELETE FROM channels WHERE id=%u and type=2", thischannel->id );
} else {
DoSQLMaster( "DELETE FROM channels WHERE id=%u and type=2", thischannel->id );
}

#
#-----[ FIND ]---------------------------------
#
Config.SQLServer.pcPort = ConfigGetInt ( file, "mysql_port", 3306 );

#
#-----[ AFTER, ADD ]---------------------------
#
//Master Database
Config.isSlave = ConfigGetInt ( file, "serverslave", 0 );
Config.SQLMaster.pcServer = ConfigGetString ( file, "master_host", "localhost" );
Config.SQLMaster.pcDatabase = ConfigGetString ( file, "master_database", "roseon_beta" );
Config.SQLMaster.pcUserName = ConfigGetString ( file, "master_user", "root" );
Config.SQLMaster.pcPassword = ConfigGetString ( file, "master_pass", "" );
Config.SQLMaster.pcPort = ConfigGetInt ( file, "master_port", 3306 );


#
#-----[ OPEN ]---------------------------------
#
Char Server/Main.cpp

#
#-----[ FIND ]---------------------------------
#
MYSQL mysql;

#
#-----[ AFTER, ADD ]---------------------------
#
MYSQL mysqlmaster;

#
#-----[ FIND ]---------------------------------
#
if(server==NULL)
return -1;

#
#-----[ AFTER, ADD ]---------------------------
#
if (server->Config.isSlave) {
mysql_init( &mysqlmaster );
// Connect mysqlmaster
if ( !mysql_real_connect( &mysqlmaster, server->Config.SQLMaster.pcServer,
server->Config.SQLMaster.pcUserName,
server->Config.SQLMaster.pcPassword,
server->Config.SQLMaster.pcDatabase,
server->Config.SQLMaster.pcPort, NULL, 0 ) )
{
Log( MSG_FATALERROR, "Error connecting to MySQL master server: %s\n", mysql_error( &mysqlmaster ) );
system("PAUSE");
return -1;
}
else
{
Log( MSG_INFO, "Connected to MySQL master server" );
}
server->mysqlmaster = &mysqlmaster;
}

#
#-----[ FIND ]---------------------------------
#
// Close server
#
#-----[ AFTER, ADD ]---------------------------
#
if (server->Config.isSlave)
mysql_close( &mysqlmaster );


#
#-----[ OPEN ]---------------------------------
#
World Server/gmcmds.cpp

#
#-----[ FIND ]---------------------------------
#
DoSQL( "UPDATE accounts SET accesslevel='0' WHERE id=%i", otherclient->PlayerSession->userid);

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave)
DoSQL( "UPDATE accounts SET accesslevel='0' WHERE id=%i", otherclient->PlayerSession->userid);
else
DoSQLMaster( "UPDATE accounts SET accesslevel='0' WHERE id=%i", otherclient->PlayerSession->userid);


#
#-----[ OPEN ]---------------------------------
#
World Server/Main.cpp

#
#-----[ FIND ]---------------------------------
#
MYSQL mysql;

#
#-----[ AFTER, ADD ]---------------------------
#
MYSQL mysqlmaster;

#
#-----[ FIND ]---------------------------------
#
// Connect mysql

#
#-----[ AFTER, ADD ]---------------------------
#
if (server->Config.isSlave) {
mysql_init( &mysqlmaster );
// Connect mysqlmaster
if ( !mysql_real_connect( &mysqlmaster, server->Config.SQLMaster.pcServer,
server->Config.SQLMaster.pcUserName,
server->Config.SQLMaster.pcPassword,
server->Config.SQLMaster.pcDatabase,
server->Config.SQLMaster.pcPort, NULL, 0 ) )
{
Log( MSG_FATALERROR, "Error connecting to MySQL master server: %s\n", mysql_error( &mysqlmaster ) );
system("PAUSE");
return -1;
}
else
{
Log( MSG_INFO, "Connected to MySQL master server" );
}
server->mysqlmaster = &mysqlmaster;
}

#
#-----[ FIND ]---------------------------------
#
// Close server

#
#-----[ AFTER, ADD ]---------------------------
#
if (server->Config.isSlave)
mysql_close( &mysqlmaster );


#
#-----[ OPEN ]---------------------------------
#
startup.cpp

#
#-----[ FIND ]---------------------------------
#
DoSQL("UPDATE accounts set online=0");

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave)
DoSQL("UPDATE accounts set online=0");
else
DoSQLMaster("UPDATE accounts set online=0");


#
#-----[ OPEN ]---------------------------------
#
World Server/Worldclient.cpp

#
#-----[ FIND ]---------------------------------
#
GServer->DoSQL("UPDATE accounts SET online=true where id=%u", PlayerSession->userid );

#
#-----[ REPLACE WITH ]-------------------------
#
if (!GServer->Config.isSlave)
GServer->DoSQL("UPDATE accounts SET online=true where id=%u", PlayerSession->userid );
else
GServer->DoSQLMaster("UPDATE accounts SET online=true where id=%u", PlayerSession->userid );

#
#-----[ FIND ]---------------------------------
#
if(!GServer->DoSQL("update accounts set zulystorage = %i where id = %i", PlayerInfo->Storage_Zulies, PlayerSession->userid))
return;

#
#-----[ REPLACE WITH ]-------------------------
#
if (!GServer->Config.isSlave) {
if(!GServer->DoSQL("update accounts set zulystorage = %i where id = %i", PlayerInfo->Storage_Zulies, PlayerSession->userid))
return;
} else {
if(!GServer->DoSQLMaster("update accounts set zulystorage = %i where id = %i", PlayerInfo->Storage_Zulies, PlayerSession->userid))
return;
}


#
#-----[ OPEN ]---------------------------------
#
World Server/WorldPackets.cpp

#
#-----[ FIND ]---------------------------------
#
if(!DoSQL("SELECT username,lastchar,accesslevel,zulystorage FROM accounts WHERE id=%i AND password='%s'", thisclient->PlayerSession->userid, thisclient->PlayerSession->password))
return true;
result = mysql_store_result(mysql);

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
if(!DoSQL("SELECT username,lastchar,accesslevel,zulystorage FROM accounts WHERE id=%i AND password='%s'", thisclient->PlayerSession->userid, thisclient->PlayerSession->password))
return true;
result = mysql_store_result(mysql);
} else {
if(!DoSQLMaster("SELECT username,lastchar,accesslevel,zulystorage FROM accounts WHERE id=%i AND password='%s'", thisclient->PlayerSession->userid, thisclient->PlayerSession->password))
return true;
result = mysql_store_result(mysqlmaster);
}


#
#-----[ OPEN ]---------------------------------
#
/World Server/WorldServer.cpp

#
#-----[ FIND ]---------------------------------
#
CWorldClient* CWorldServer::CreateClientSocket( )
{
DoSQL( "UPDATE channels SET connected=%i where id=%i and type=2", ConnectedClients, Config.ServerID );

#
#-----[ REPLACE WITH ]-------------------------
#
CWorldClient* CWorldServer::CreateClientSocket( )
{
if (!Config.isSlave)
DoSQL( "UPDATE channels SET connected=%i where id=%i and type=2", ConnectedClients, Config.ServerID );
else
DoSQLMaster( "UPDATE channels SET connected=%i where id=%i and type=2", ConnectedClients, Config.ServerID );

#
#-----[ FIND ]---------------------------------
#
void CWorldServer::DeleteClientSocket( CClientSocket* thisclient )
{
DoSQL( "UPDATE channels SET connected=%i where id=%i and type=2", ConnectedClients, Config.ServerID );

#
#-----[ REPLACE WITH ]-------------------------
#
void CWorldServer::DeleteClientSocket( CClientSocket* thisclient )
{
if (!Config.isSlave)
DoSQL( "UPDATE channels SET connected=%i where id=%i and type=2", ConnectedClients, Config.ServerID );
else
DoSQLMaster( "UPDATE channels SET connected=%i where id=%i and type=2", ConnectedClients, Config.ServerID );

#
#-----[ FIND ]---------------------------------
#
DoSQL( "DELETE FROM channels WHERE id=%u and type=%i", Config.ServerID, Config.ServerType );
if(!DoSQL("INSERT INTO channels (id,type,name,host,port,lanip,lansubmask,connected ,maxconnections,owner) VALUES (%i,%i,'%s','%s',%u,'%s','%s',0,%i,%i)",
Config.ServerID, Config.ServerType, Config.ServerName, Config.WorldIP, Config.WorldPort, Config.LanIP, Config.LanSubnet, Config.MaxConnections, Config.ParentID))
{
Log(MSG_WARNING, "Error accessing to database, the other server will not connect to WorldServer" );
}

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
DoSQL( "DELETE FROM channels WHERE id=%u and type=%i", Config.ServerID, Config.ServerType );
if(!DoSQL("INSERT INTO channels (id,type,name,host,port,lanip,lansubmask,connected ,maxconnections,owner) VALUES (%i,%i,'%s','%s',%u,'%s','%s',0,%i,%i)",
Config.ServerID, Config.ServerType, Config.ServerName, Config.WorldIP, Config.WorldPort, Config.LanIP, Config.LanSubnet, Config.MaxConnections, Config.ParentID))
{
Log(MSG_WARNING, "Error accessing to database, the other server will not connect to WorldServer" );
}
} else {
DoSQLMaster( "DELETE FROM channels WHERE id=%u and type=%i", Config.ServerID, Config.ServerType );
if(!DoSQLMaster("INSERT INTO channels (id,type,name,host,port,lanip,lansubmask,connected ,maxconnections,owner) VALUES (%i,%i,'%s','%s',%u,'%s','%s',0,%i,%i)",
Config.ServerID, Config.ServerType, Config.ServerName, Config.WorldIP, Config.WorldPort, Config.LanIP, Config.LanSubnet, Config.MaxConnections, Config.ParentID))
{
Log(MSG_WARNING, "Error accessing to database, the other server will not connect to WorldServer" );
}
}

#
#-----[ FIND ]---------------------------------
#
DoSQL( "SELECT host,port,lanip FROM channels WHERE id=%u and type=1", Config.ParentID );
result = mysql_store_result(mysql);

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave) {
DoSQL( "SELECT host,port,lanip FROM channels WHERE id=%u and type=1", Config.ParentID );
result = mysql_store_result(mysql);
} else {
DoSQLMaster( "SELECT host,port,lanip FROM channels WHERE id=%u and type=1", Config.ParentID );
result = mysql_store_result(mysqlmaster);
}

#
#-----[ FIND ]---------------------------------
#
DoSQL("UPDATE accounts SET online=false where id=%u", thisclientwc->PlayerSession->userid );

#
#-----[ REPLACE WITH ]-------------------------
#
if (!Config.isSlave)
DoSQL("UPDATE accounts SET online=false where id=%u", thisclientwc->PlayerSession->userid );
else
DoSQLMaster("UPDATE accounts SET online=false where id=%u", thisclientwc->PlayerSession->userid );

#
#-----[ FIND ]---------------------------------
#
Config.SQLServer.pcPort = ConfigGetInt ( file, "mysql_port", 3306 );

#
#-----[ AFTER, ADD ]---------------------------
#
//Master Database
Config.isSlave = ConfigGetInt ( file, "serverslave", 0 );
Config.SQLMaster.pcServer = ConfigGetString ( file, "master_host", "localhost" );
Config.SQLMaster.pcDatabase = ConfigGetString ( file, "master_database", "roseon_beta" );
Config.SQLMaster.pcUserName = ConfigGetString ( file, "master_user", "root" );
Config.SQLMaster.pcPassword = ConfigGetString ( file, "master_pass", "" );
Config.SQLMaster.pcPort = ConfigGetInt ( file, "master_port", 3306 );


#
#-----[ OPEN ]---------------------------------
#
Common/Socket.h

#
#-----[ FIND ]---------------------------------
#
CROSEServerConfigSQL SQLServer; // SQL Information

#
#-----[ AFTER, ADD ]---------------------------
#
CROSEServerConfigSQL SQLMaster; // SQL Server ref for master server, if a slave
bool isSlave; // Is the server a slave?

#
#-----[ FIND ]---------------------------------
#
bool DoSQL(char *Format, ...); // Do SQL Query

#
#-----[ AFTER, ADD ]---------------------------
#
bool DoSQLMaster(char *Format, ...); // Do SQL Query

#
#-----[ FIND ]---------------------------------
#
pthread_mutex_t sqlmutex;

#
#-----[ AFTER, ADD ]---------------------------
#
MYSQL* mysqlmaster;
pthread_mutex_t sqlmutexmaster;


#
#-----[ OPEN ]---------------------------------
#
Common/Socketserver.cpp

#
#-----[ FIND ]---------------------------------
#
pthread_mutex_init( &sqlmutex, NULL );

#
#-----[ AFTER, ADD ]---------------------------
#
pthread_mutex_init( &sqlmutexmaster, NULL);

#
#-----[ FIND ]---------------------------------
#
pthread_mutex_destroy( &sqlmutex );

#
#-----[ AFTER, ADD ]---------------------------
#
pthread_mutex_destroy( &sqlmutexmaster );

#
#-----[ APPEND TO END OF FILE ]----------------
// Do sql query
bool CServerSocket::DoSQLMaster(char *Format, ...)
{
pthread_mutex_lock( &sqlmutexmaster );
char Buffer[1000];
memset( &Buffer, '\0', 1000 );
va_list ap; va_start( ap, Format );
vsprintf( Buffer, Format, ap );
va_end ( ap );
int mres = mysql_query( mysqlmaster, Buffer );
if (mres!=0)
{
Log( MSG_SQL, "Could not execute query: %s", mysql_error( mysqlmaster ) );
Log( MSG_SQL, "Query: %s", Buffer );
int pres = mysql_ping( mysqlmaster );
if(pres!=0)
{
Log( MSG_INFO, "Trying to reconnect to Mysql..." );
if ( !mysql_real_connect( mysqlmaster, this->Config.SQLMaster.pcServer,
this->Config.SQLMaster.pcUserName,
this->Config.SQLMaster.pcPassword,
this->Config.SQLMaster.pcDatabase,
0, NULL, 0 ) )
{
Log( MSG_SQL, "Failed to reconnect to Mysql master server" );
pthread_mutex_unlock( &sqlmutexmaster );
return false;// we should close server?
}
else
{
Log( MSG_INFO, "Reconnected to Mysql master server, Trying to do Query Again..." );
for(UINT i=0;i<3;i++)//will try to make the query 3 times
{
int mres = mysql_query( mysqlmaster, Buffer );
if(mres==0)
{
pthread_mutex_unlock( &sqlmutexmaster );
return true;
}
}
Log( MSG_SQL, "Could not Execute query: %s" ,mysql_error( mysqlmaster ) );
Log( MSG_SQL, "Query: %s", Buffer );
pthread_mutex_unlock( &sqlmutexmaster );
return false; // we should close server?
}
}
}
else
{
Log( MSG_QUERY, "Query: %s", Buffer );
pthread_mutex_unlock( &sqlmutexmaster );
return true;
}
}



Credits to drakia for figuring this one out.


--------8.0----------Extras

This is an Excel/Spreadsheet document that contains the GM Commands, and all the Item ID's.

Link:

This ia Text Document that contains all the teleport locations and their Map ID's.

Link:

Here is a .VFS editor, where you can edit your .vfs and client graphics. Such as characters, loading screens, weapons, and lots more. (Credit to aurose)

Here are the compiled EXE's incase you loose yours (loginserver.exe, charserver.exe, worldserver.exe)
Link:
- 1/29/07 (Emergency Update)
- 2/8/07 (Updated to Rev 16 new files&#33
- 2/11/07 (Updated to Rev 20 new files&#33
- 2/20/07 (Updated to Rev 23 files&#33
- 2/24/07 (Updated to Rev 25 files&#33
- 3/1/07 (Updated to Rev 30 files&#33
- 4/4/07 (Updated to Rev 41 files&#33
- 4/6/07 (Updated to Rev 45 files&#33
- 4/18/07 (Updated to Rev 59 files&#33


Link:

ALL the hairs selectable in the character select.

Link:

Here are some RARE outfits (armors/clothes). Credit to Intro.

Code:
Durable armour: 38,2-5,9,1,1,1

Cedric Armour: 39,2-5,9,1,1,1

Executioner Armour: 40,2-5,9,1,1,1

Pirate Armour: 551,3-5,9,1,1,1

Silent Walker: 561,3-5,9,1,1,1

Captaian Armour: 571,2-5,9,1,1,1

Trigger hat: 661,2,9,1,1,1

Bomber Armour: 661,3-5,9,1,1,1

Bourgoise Armour: 776(hat),676,3-5,9,1,1,1

Fairy armour:445,3-5,9,1,1,1 551,2 (hat)

Joker Armour: 561,2(hat),461,3-5,9,1,1,1

Mistic Armour: 465,3-5,9,1,1,1,565(hat)

Black Cross Backshield: 770,6,9,1,1,1

White School Girl: 187,3&5,9,1,1,1

Black School: 181,3&5,9,1,1,1

Dolphin: 769,6,9,1,1,1

Kerokero Umbrella: 768,6,9,1,1,1

Thor's Bass Drum: 767,6,9,1,1,1

Elementary School Bag: 766,6,9,1,1,1

Astrot Pink Wing: 764,6,9,1,1,1

Astrot White Wing: 763,6,9,1,1,1

Astrot Silver Wing: 762,6,9,1,1,1

Cart Racer Vest: 130,2-5,9,1,1,1

Blue Santa: 180,3-5,9,1,1,1

GM Suit: 151,2-5,9,1,1,1

Nobel Lord: 132,2-5,9,1,1,1

Magic School Hat: 824,2,9,1,1,1

Angel Hat: 825,2,9,1,1,1

Kerokero Hat: 826,2,9,1,1,1

Headband: 827,2,9,1,1,1

Yukata: 188,3,9,1,1,1

Trendy Swim Suit: 182,3,9,1,1,1

pRose soccer: 174,3,9,1,1,1

NArose soccer: 173,3,9,1,1,1

jRose soccer: 172,3,9,1,1,1

kRose soccer: 171,3,9,1,1,1

rose soccer: 170,3,9,1,1,1

Yellow Rubber Boots: 182,5,9,1,1,1

Wooden Shoes: 183,5,9,1,1,1

White Magic School Shoes: 188,5,9,1,1,1

Durable Gloves: 38,4,9,1,1,1

White magic school gloves: 186,4,9,1,1,1

Cherry Blossem Glasses: 166,1,9,1,1,1

Snow Board: 37,9,9,1,1,1

Goblin Hatchet: 150,8,9,1,1,1

Reams Puricator: 182,8,9,1,1,1

Pink Guitar: 462,8,9,1,1,1

Angel Recorder: 463,8,9,1,1,1

Rose Beuque: 464,8,9,1,1,1

blue santa hat: 823,2,9,1,1,1

Pigtail ribbon: 833,2,9,1,1,1

Students cap: 834,2,9,1,1,1

White lion: 835,2,9,1,1,1

Chef hat: 836,2,9,1,1,1

Summer school look: 189,3,9,1,1,1

tiger backshield: 246,6,9,1,1,1

snowball: 326,10,9,1,1,1

firecracker: 930,10,9,1,1,1

(2,376,3rd job helmit,soldier

(3,376,3rd job armour,soldier

(4,376,3rd job gloves,soldier

(5,376,3rd job boots,soldier

(2,476,3rd job helmit,muse

(3,476,3rd job armour,muse

(4,476,3rd job gloves,muse

(5,476,3rd job boots,muse

(2,576,3rd job helmit,Dealer

(3,576,3rd job armour,Dealer

(4,576,3rd job gloves,Dealer

(5,576,3rd job boots,Dealer

(2,676,3rd job helmit,Hawker

(3,676,3rd job armour,Hawker

(4,676,3rd job gloves,Hawker

(5,676,3rd job boots,Hawker


--------9.0----------Problems and Errors

Server Side

1.) Getting weird packet errors inside the loginserver.exe
Solution: Copy your tRose.exe from your client folder, into your server folder.

2.) How do I change the EXP, DROP, ZULY rate?
Solution: Inside the config.ini are options to change the rates.

3.) How do I change the Welcome Message when I login?
Solution: You can change the Welcome message inside the config.ini

4.) My WorldServer.exe keeps crashing!
Solution: You are missing some files, or you compiled it wrong. Re-extract the files, or if you compiled, check your sources again.

5.) When I try to connect with Navicat, it says it can't connect to MySQL!
Solution: You need to install MySQL. Download here:

Client Side

1.) When I launch my client, it just crashes with the error "Send/Don't Send"!
Solution: Run "TriggerDetect.exe" and fill out your graphics settings (only need to do this once)

2.) After I type in my account and password and click login, and stays at "Logging in" forever!
Solution: Make sure you have the launcher file set to your correct IP. And check your config.ini and make sure the IP's are correct (your WAN IP).

3.) All my IP's are correct, but I still can't login!
Solution: You need to port forward your Rose Online ports. Go to and find your router, it will instruct you on how to port forward.

The ports you need to forward are: 29000, 29100, 29200
If your using the multi world, you need to forward: 29000, 29100, 29200, 29101, 29201

4.) When I try to login, I get "The Servers are currently undergoing maintenance"
Solution: Go into your config.ini and change the access of 300 to 100.

5.) After I select the server, it says "Loading Avatar Selection.." forever!
Solution: Check your "Channels" table inside the SQL and make sure the "hosts" field is set to your WAN IP.

Web Server Side

1.) When I type "http://localhost" , nothing shows up and xampp_start.exe is running!
Solution: You need to port forward a port. Go to and find your router, it will instruct you on how to port forward.

The ports you need to forward are: 80

2.) I installed PHP, and Xampp, and port forwarded and "http://localhost" still isn't working!
Solution: Restart your computer and your router

3.) On the Rose Online Web, I fill in the details to make my account, and I click "Create" but it doesn't create the account!
Solution: Go back inside the config file and double check to make sure your database settings are absolutely correct.

4.) How can I allow other people to see my website, instead of "http://localhost" ?
Solution: Port forward the port "80, 433" and instead of "http://localhost", use your WAN IP (which you can find here: ).

For example: "http://localhost"



--------10.0----------Notes

- I believe I have credited anyone that I used information from, if not please PM me and I will add it.

- Please do not add me on MSN or Spam my PM box, I will not help you over an Instant Messaging program. Just post here and I will help you.

- If you have anything you would like to add to this, please PM it to me and I'll be sure to add it in!

- If you find something that is incorrect inside this guide, please post here or PM me and I will fix it right away.

- If any of the links go dead, let me know and I'll re-upload them.

- I will ALWAYS update the links once a new update comes.

All these files are for the newest version which is ver 133, and everything works with the newest 133 client! Even the new drops. Once a new release (client/server) is released, I will update the links and you can check the update information that I will post in every edit below.

If the guide is a bit confusing for you, let me know and I'll try and make it easier. At the moment I'm going through and trying to make the SQL part a bit easier for you to understand.

Thank you, and hope this helps lots of people.


--------10.1----------Updates

4/18/07 - Updated to REV 59 files! For more information on this Rev, go to this post:

4/6/07 - Updated to REV 45 files! For more information on this Rev, go to this post:

4/4/07 - Updated to REV 41 files! Lots and lots of bug fixes in this Rev. For more information on this Rev, go to this post:


3/4/07 - Added in ver 138 STB into Fullserver (v16) and the Sources files. DOWNLOAD these files, they will fix a lot of in-game problems you have.


3/1/07 - Minor update, I included the correct database in the Fullserver_v15 and Source files.

3/1/07 - Updated the files to REV 30! The server setup part in the guide has changed (because configuration has changed). Please go re-read it! For more information about Rev 30, please view this post:

2/25/07 - Updated the Fullserver and the Sources files with the STB files of ver 137 (this fixes some in game bugs/crashes). I forgot to previously add them in, so update your files now.

2/24/07 - Updated the files to Rev 25, and SERIOUSLY updated the guide. This includes changing the configuration of the server files, configuring the SQL, changing the SQL parts, added how to install and configure MySQL. For more information about the server files (bug fixes), please view this post:

2/20/07 - Updated to Rev 23, which includes a lot of bug fixes and additions! These files include a new .SQL file and are more stable! For more information, view this post:

2/11/07 - Updated the Problems section with a Navicat problem/solution.

2/11/07 - Updated the Compiling guide with the link to pThread (Must install this to compile now)

2/11/07 - Updated to Rev 20 new files! Tons of new bug fixes since Rev 16. For more information about the new files, please see this post:

2/8/07 - Updated to REV 16 (The new files&#33 Lots of bug fixes. For more info, see this post:

2/2/07 - Updated the Rose Online CMS to -Elements Full version.

1/30/07 - Updated Fullserver, and Source files with a new .SQL, this includes improved respawns in game. Please download the Fullserver ver 4.1 and update your SQL.

1/29/07 - Updated Fullserver, Sources, and CompiledEXE files due to an Emergency update, this fixes the allow of normal players to use GM Commands, and fixes the comands for GM's. Please update your files to the new ones.

1/28/07 - Security Update! Fixes crash when a normal user types / in chat. Please download the new Fullserver at the top (v3)

1/28/07 - Important Update (SQL Update with tons of new spawns, fixes, npc fixes, map fixes, quest data fixes, pvpzones, telegates, drop data, and more)

1/28/07 - Updated Compiled EXE's and Sources with newest sources
1/28/07 - Updated commands with the /class command.
1/28/07 - Updated the config.ini in "Fullserver_v2.rar" to work with the sql name.<br



Kaanor_ is offline  
Thanks
2 Users
Old   #2
 
elite*gold: 0
Join Date: Oct 2007
Posts: 11
Received Thanks: 0
Sorry for the bump, really sorry but i get an error when registering!

Code:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:xampplitexampplitehtdocsmodulesregister.php on line 48

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:xampplitexampplitehtdocsmodulesregister.php on line 49

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:xampplitexampplitehtdocsmodulesregister.php on line 50

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:xampplitexampplitehtdocsmodulesregister.php on line 50

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:xampplitexampplitehtdocsmodulesregister.php on line 51

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:xampplitexampplitehtdocsmodulesregister.php on line 59

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:xampplitexampplitehtdocsmodulesregister.php on line 59
Registration Failed, Sorry!


Craig25 is offline  
Old   #3
 
elite*gold: 0
Join Date: Oct 2007
Posts: 11
Received Thanks: 0
4.) When I try to login, I get "The Servers are currently undergoing maintenance"
Solution: Go into your config.ini and change the access of 300 to 100.


Where's config.ini? It didnt come in the FullServer_v59.rar folder!
Craig25 is offline  
Old   #4
 
elite*gold: 0
Join Date: Jun 2008
Posts: 1
Received Thanks: 0
So I completed everything successfully and it still just won't connect when I turn on the program.. I am also confused by "If your database settings are correct, then save the file and try and make an account in your CMS"

This might sound stupid but where is the CMS? I figure it's in the HTDocs folder, but I am a little confused by that. Thanks for your assistance and great job!


asiandrea is offline  
Old   #5
 
elite*gold: 0
Join Date: Nov 2007
Posts: 63
Received Thanks: 6
stealed from r-a-g-e-z-o-n-e...
Shizume98 is offline  
Old   #6
 
elite*gold: 0
Join Date: Jan 2008
Posts: 5
Received Thanks: 0
Quote:
Originally Posted by Craig25 View Post
Sorry for the bump, really sorry but i get an error when registering!

Code:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:xampplitexampplitehtdocsmodulesregister.php on line 48

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:xampplitexampplitehtdocsmodulesregister.php on line 49

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:xampplitexampplitehtdocsmodulesregister.php on line 50

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:xampplitexampplitehtdocsmodulesregister.php on line 50

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:xampplitexampplitehtdocsmodulesregister.php on line 51

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:xampplitexampplitehtdocsmodulesregister.php on line 59

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:xampplitexampplitehtdocsmodulesregister.php on line 59
Registration Failed, Sorry!
Ill prefer to use AppServ, delete the index.php file and paste the files from the .rar in the www folder that can be found at ur instal location of appserv (c:\appserv\www - default map) then go to c:\appserv\www\_inc\config
open that and change it to ur ip, info can be found in the config.php

Hope it worked or ask me some more info, im bad at english and never make even a little tut
ashwin is offline  
Old   #7
 
elite*gold: 0
Join Date: Dec 2011
Posts: 1
Received Thanks: 0
rose online server

can you upload Rose Online NA_EVO ver 128 Client to megaupload or mediafire or rapidshare anything because when i click on it it says
internet Explorer cannot display the webpage
please reply fast
-thanks
ekhemr is offline  
Old   #8
 
elite*gold: 0
Join Date: Apr 2005
Posts: 4,726
Received Thanks: 188
Quote:
Originally Posted by ekhemr View Post
can you upload Rose Online NA_EVO ver 128 Client to megaupload or mediafire or rapidshare anything because when i click on it it says
internet Explorer cannot display the webpage
please reply fast
-thanks
Oh men don't push old threads please -.-


C0rnh0lio is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
Full Guide for ROSE Private Server
This is a Guide for Rose Online Private Servers... I do not take full credit for this. I will give credit at the end of the Guide. +k would be...
45 Replies - General Gaming Discussion
[GUIDE]L2j Linux Server Setup Guide
from l2j forum;)
5 Replies - Lin2 Guides & Templates
Full Guide for ROSE Private Server
Full Guide for ROSE Private Server This is a Guide for Rose Online Private Servers... I do not take full credit for this. I will give credit at the...
3 Replies - General Gaming Discussion
[Guide]L2 Official Server Setup Guide for Noobs-English
Here is the best guide for an L2 Official Server Setup, i post the links for the files later, u can search all files in google the mostly u will...
107 Replies - Lin2 Private Server



All times are GMT +1. The time now is 04:03.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.