step 1 : download and install the Ragnarok client software on the same machine as you will be placing the eAthena server software on (and make sure it's a recent version of the client too).
Step 2 : Next is Cygwin , download the two DLLs here. When you get to the next part where you are unpacking and setting up the eAthena software, just unpack and copy these DLLs into the same directory that the eAthena executables are located in. No software install will be required.
Step 3 : we need to download the open source eAthena (English Athena) server software, but before you hve to know that the software comes in to flavors: text file based and SQL based. The exact version describes how the configuration information and game information is stored: in text files, or in a SQL database. The SQL based version is nt covered here in this Tut, but is the more powerful of the two flavors and requires a SQL server to connect to . Needing to install a SQL server increases the minimum hardware requirements, but allows “live” updates without bringing restarting the Athena server software to read the updated data files. This is the flavor of eAthena you would run if you wanted a large private server. Since this is not what we want to do, we will use the much more manageable text file based version. For the purposes of this FAQ, download the latest version of the text based eAthena software from the link below. The file name format is “eAthena-SVN-****-TXT.rar” with “****” being the version number (highest number is the most recent).
BitTorrent links to almost every version of the KRO client
Step 4 : how to conf the server software :
after downloading the eAthena ZIP file ,extract it , after installing it , we need to set up the server software to allow the creation of accounts from the client login screen. To do this, we just need to make a simple edit to the “char_athena.conf” file located in the “conf” folder of your eAthena directory.
[for example suppose we have extract it in ( C:\proj\) so the file is in (C:\proj\eAthena-SVN-****-TXT\conf\char_athena.conf)]
so you have to open it up in any text editor and scroll down to the part where it looks like this:
// Enable or disable creation of new characters.
// Now it is actually supported [Kevin]
// Display (New) in the server list.
// Maximum users able to connect to the server. Set to 0 for unlimited.
you have just to change the “char_new” from 0 to 1 . Leave “char_new_display” and the other values alone for now – you can play with those later. Save and then close the file, we are done with it.
[important]For those of you that may not have the Korean version of the Ragnarok client installed or if you have installed your client to another location orther than the default “C:\Program Files\Gravity\RO” folder, there is one more thing that you will need to do and this is to set the location of where the map files can be found.
By default eAthena assumes this to be the GRF files within the “C:\Program Files\Gravity\RO” folder. If this is not where you have your Ragnarok client installed, then you must edit the “grf-files.txt” file located in the “conf” folder of your eAthena directory(C:\proj\eAthena-SVN-****-TXT\conf\grf-files.txt).
So open up this file in notepad or any other text editor and verify that the path to your “data.grf” and “sdata.grf” files matches what eAthena is expecting:
// GRF List
grf: C:\Program Files\Gravity\RO\data.grf
grf: C:\Program Files\Gravity\RO\sdata.grf
// You may add more in this format
[Note]If they do not match, alter the paths to match where these files exist on your computer.
Step 5 : how conf the client software
so now we have to connect the client to ower new private server . For this part you have just to download this file that my friend he has made it recently (02-Jan-2006) sakray hexed. Save and extract the executable in the the attachement and and place it in your “C:\Program Files\Gravity\RO” folder. To make things easier, make a shortcut to the patched Sakray executable and place it somewhere on your desktop.
Since all in-game objects are just IDs on both the client and the server, at some point you need to translate this ID number to an object name and description for the player to be able to make sense of it. This information is store in a series of text files, so updating the object ID text files with English langauge names and descriptions changes most of the game from being Korean to English (or any other langauge you want to use). Granted, the process is a bit more complicated than that, but you get the idea. To change all the required client side graphics and text at one time we will use this RAR file to do the patching work for us. Just download, and unpack the archive into your your “c:\program files\Garvity\RO” folder. If you already have a data folder in this location, you may want to rename it before extracting the archive.
hhuuufff.... We are almost done, but we still need to do a few more things before we try to run the server software. Since the client software needs to be made aware the new private server, a few changes need to be made to the Sclientinfo.xml file located in the “C:\Program Files\Gravity\RO\data” folder. I could have done this for you when I made the data folder RAR file, but I prefer you make the edit yourself so that you know where to look for this configuration setting. In the Sclientinfo.xml file you have now from the RAR file, I have included the connection information to another project I'm working on, RO Central, as an example of what a working configuration will look like. In addition, this example will also show you how to add more than one connection to a Sclientinfo.xml file to allow you to play on more than one private server.
Ok, if you already play Ragnarok on another server (let's pretend you play on RO Central), you will have a Sclientinfo.xml file will have other configuration information in it that we don’t want to change, so replacing the whole file with one that points to your new server would not be a good idea if you wanted to keep playing Ragnarok on the server you are on now. To get around this problem, you need to add a new server entry that will give you a connection choice when you run the hexed Sakray program you downloaded earlier. Before you begin, first make a copy of this file so that if things go really wrong, you can overwrite the edited file with the original one. Next, open up the XML file in notepad and locate the beginning and ending “connection” tags. All the information for a connection exists between that set of tags. What you are going to do next is copy and paste the connection information below above the first set of “connection” tags:
Don’t worry about having extra lines above and below the text in the XML file, just make sure you only copy and paste the text between (and including) the “connection” tags. Feel free to edit the text between the “display” and “desc” tags once you have it pasted. Be creative, but keep it short and to one line for each entry. Leave the text in the “address” tag alone for now – that tells the client software to point back to yourself. Save and close the file – we are done with it.
[Note]: I know that 127.0.0.1 is NOT your current IP address. 127.0.0.1 is what is called a “loopback address” and is special IP address that tells your computer to send any network information back to itself. By using this special address we don't need to know your computers current IP address to test the eAthena server. Just trust me on this, it almost allways works.
Step 5 : Are you Redy ??
At this point we are done. If everything is configured correctly, you should be creating an acount on your very own private Ragnarok server very shortly.
= Run the server :
Close all unneeded applications , open the Athena folder and locate the three executables: char-server.exe, login-server.exe, map-server.exe , All of these are basically DOS command line applications, so when you run them you will only see a window with text open up and stay open for as long as each of the three server programs is running.
- 1st run map-server.exe ,and if Cygwin is installed correctly you should see a command line window open up and a list of maps scroll past as the program reads them. It may take a while to finish.
- 2nd run char-server.exe ,(This one should only take a few seconds to run)
- 3th run login-server.exe.
= Your first login :
Run the patched Sakray shortcut from your desktop, click OK at the first dialog box and select the “Local RO” option (or whatever it is that you called it). To create an account on your server, simply connect to the server as if you had an account and enter the name you want to give the account and add “_M” or “F” at the end of the account name and use whatever password you want to use. For example if we wanted to create a male account called “Xakiru” we would log in the first time using “Xakiru_M”. Putting “_M” or “F” at the end of the account name tells the eAthena server that the account info you are using is new and it will make a blank account for you and only needs to be done the first time you log in. The next time you log in without the “_M” or “F” and log in normally just using "Xakiru".
At this point you are done. Pick and empty slot and create a novice char and enter the server as you normally would. Go forth, kill porings, and enjoy your new toy.
Step 6 : in the end
Now while you were busy congratulating yourself for following this tutorial, you may not have noticed that I indicated that you were done with the initial server setup. Confused? Allow me to explain: right now the client is configured to your loopback IP address of 127.0.0.1. That means that you are the only person able to enjoy your very private, private server. In order for a few of your friends to join you on your new server you need to make a few more changes in addition to creating a few more accounts. Never mind making sure your friends get the correct configuration settings and patched Sakray to connect to your new private server.
In addition, you will need to make sure that the client data files match what the server thinks the client has or else the client will crash when, for example, a player buys or creates an item that the server is aware of but that the Ragnarok client is not. All this will be covered another time, but for now, enjoy your own personal world.