For some reason, I decided to write my own guide for super newbie people. And when I say newbie, I say REAL newbie. I will not ask you to learn anything or saying rude things like "go google ffs".
I believe people that want to create their server are not necessary interested being a linux master or whatever. Never people are saying that before leaning guitar, people should learn how string and guitar are made.
You cannot see password in Putty / Kitty when you type it.
nano is a text editor. At the bottom of the screen you can see a menu. To use it, press CTRL + the option's letter
You cannot use numeric pad in nano
Being polite is always rewarding
I. Dedicated server
A. Get your server
You can find very cheap solution at Kimsufi. Choose anything you want.
I recommend you to choose Debian 8 (Jessie) for your OS.
In Kimsufi manager, you will find your server IP.
You have your login (root) and password in an email after installing the OS
B. Configure your server
Start Putty and enter server's IP address
Connect with root then type the password you got by email. (You wont see " * " when you type)
To change your password enter the following line
passwd
Install required package by enter this (copy this and paste it with a right-click):
apt-get install git make gcc mysql-server libmysqlclient-dev zlib1g-dev libpcre3-dev screen
The following is meant to make a web server. Even if you don't plan to make a website, I suggest you to take it, just because phpmyadmin is easy to use. While installing phpmyadmin, select apache2.
It is required to set up a server login and password for char-server, map-server and the login database. It can be done by editing few files and the table login.
Start by editing conf/inter-server.conf.
cd../
nanoconf/inter-server.conf
Find the line sql.db_username and fill it with the user and password we created in step B.10. fill also the database name with ragnarok
As the same time, you will need to edit conf/import/inter_conf.txt.
nanoconf/import/inter_conf.txt
sql.db_username: ragnarok
sql.db_password: your_sql_password
sql.db_database: ragnarok
log_db_id: ragnarok
log_db_pw: your_sql_password
log_db_db: ragnarok_log
now edit conf/import/char_conf.txt and fill it with this following text
nanoconf/import/char_conf.txt
// Server Communication username and password. userid: [new user] passwd: [new password]
Do the same to conf/import/map_conf.txt with the same userid and passwd.
nanoconf/import/map_conf.txt
// Server Communication username and password.
userid: [new user] passwd: [new password]
You will need to update the login table from ragnarok database. Connect again to your phpmyadmin (I.B.7)
Find the table loginand edit the only row available.
useridmust have the same value as [new user]
user_passmust have the same value as [new password]
char-server.conf
nanoconf/char-server.conf
server_name: [your_server_name]
wisp_server_name: Admin
For some reason, you must reboot your server.
reboot
Close the Terminal and connect again after a minute.
Now you will need to work on your server ports
iptables-I INPUT 1 -p tcp --dport 6900 -j ACCEPT
iptables-I INPUT 1 -p tcp --dport 5121 -j ACCEPT
iptables-I INPUT 1 -p tcp --dport 6121 -j ACCEPT
iptablessave
We are done with the server for now. You can log out if you want. Lets prepare our client!
II. Create the Client
A. Organization
Extract the full client in C:\ro_client\RO\ and launch update with rsu-kro-renewal-lite.exe or rsu-kro-rag-lite.exe if you set a pre-re server.
Extract the Ragexe.exe in C:\ro_client\fresh\
Extract data and System folders from the translation Package in C:\ro_client\fresh\
Extract the opensetup.exe in C:\ro_client\fresh\
Extract Mssfast.m3d and Mp3dec.asi from BGM.zip in C:\ro_client\fresh\
Extract N.E.M.O. content in C:\ro_client\NEMO\
Once Step 1 is DONE:
Copy All *.dll and *.INI files from C:\ro_client\RO\ to C:\ro_client\fresh\
Copy BGM andsavedata folders from C:\ro_client\RO\ to C:\ro_client\fresh\
Copy rdata.grf and data.grf files from C:\ro_client\RO\ to C:\ro_client\fresh\
B. Configure the Client
Launch N.E.M.O. and load 2015-05-13aRagexe.exe
Hit "SelectRecommended"
Confirm DATA.INI
Rename iteminfo.lub to iteminfo_n.lub
Now search "Read Data Folder First" and check it
Hit "ApplySelected" and you will have a new 2015-05-13aRagexe_patched.exe file.
You should "SaveProfile" now, because you will probably want to edit again your client later
C. Add the translation
RenameC:\ro_client\fresh\System\itemInfo.lub to iteminfo_n.lub
You might need to rename C:\ro_client\fresh\data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\ folder to 유저인터페이스 later, but for now, just skip this step (not sure if you encounter this problem).
Open C:\ro_client\fresh\data\clientinfo.xml with a text editor (I recommend Notepad++)
Update the address with your server IP
<address>[ip_address]</address>
Done with the translation. Now we will say to the server, which client players are using.
III. Finish Server configuration
A. Compile the server
Launch Putty again and login to your server. We will compile Hercules. It will take time so be patient.
cd ./Hercules
./configure --enable-packetver=20150513
make clean
make sql
once it is done, you can verify if the version has been properly set.
nano src/common/mmo.h
Find following lines
#ifndefPACKETVER
#definePACKETVER
Change #definePACKETVER to #definePACKETVER 20150513if not done yet.
If you did change something in mmo.h, you need to recompile again. Process again the step III.A.1
B. Start the server
To start the server, you simply need the following line (while being in Hercules folder)
./athena-start start
IV. Player Side
A. Create a Game Master Account
Go to your phpmyadmin (step I.B.7) and find again the login table.
[<item id>] = { unidentifiedDisplayName = "My custom Item", // Or "Accessory" or "Headgear" if it is an equipment unidentifiedResourceName = "my_custom_item", //This will set the sprite you will use (ex: my_custom_item.spr / actmy_custom_item.act) unidentifiedDescriptionName =
{
"Unknown Item, can be identified by using a ^6666CCMagnifier^000000."
}, //Or basically juste { }, if it is not an equipment. identifiedDisplayName = "My custom Item",
Hello,
For some reason, I decided to write my own guide for super newbie people. And when I say newbie, I say REAL newbie. I will not ask you to learn anything or saying rude things like "go google ffs".
I believe people that want to create their server are not necessary interested being a linux master or whatever. Never people are saying that before leaning guitar, people should learn how string and guitar are made.
Enough talk, lets start !
Prerequisites
Things you should know:
I. Dedicated server
A. Get your server
B. Configure your server
C. Install Hercules
D. Configure hercules
userid: [new user]
passwd: [new password]
passwd: [new password]
B. Configure the Client
C. Add the translation
III. Finish Server configuration
A. Compile the server
B. Start the server
IV. Player Side
A. Create a Game Master Account
B. Play
V. Customize
A. Back to the N.E.M.O.
B. Options & Fix
C. Adding Custom Content
-
NPC
- Add your script in npc/custom/your_script_name.txt
- Edit npc/script_custom.conf and add the following line:
-
npc: npc/custom/your_script_name.txt
-
ITEM
- Read the wiki about custom item (Link)
-
System/iteminfo_n.lub
-
[<item id>] = {
{ "Unknown Item, can be identified by using a ^6666CCMagnifier^000000." }, //Or basically juste { }, if it is not an equipment. identifiedResourceName = "my_custom_item",{ "Bleh this item is a custom item.", "Bleh this is a second line" }, // Description of your item. ClassNum = 0 // Read the wiki page for the list.
- Sprites.
- Drop item sprite (also the same as click and drag) must be in:
-
data/sprite/¾ÆÀÌÅÛ/my_custom_item.spr / my_custom_item.act
- Inventory texture (24x24 size 256 bit bmp) must be in:
-
data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/item/my_custom_item.bmp
- Headgears: Copy the headgear in:
-
data\sprite\¾Ç¼¼»ç¸®\¿©\¿©_my_custom_item.spr / ¿©_Helmet.act for Female
-
data\sprite\¾Ç¼¼»ç¸®\³²\³²_my_custom_item.spr / ³²_Helmet.act for Male
- Collection picture (75x100 256 bit bmp) must be in:
-
data/sprite/¾ÆÀÌÅÛ/collection/my_custom_item.bmp
-
MAP
-
Cient side
- Your map file name and ID cannot be longer than 13 caracters.
- my_map.gat, my_map.gnd, my_map.rsw, my_map.extra must be in data/ folder (inside grf)
- Additional textures (bmp) must be in data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/map/
- BGM must be in BGM/ folder.
- Add the bgm in data/mp3nametable.txt (ex: my_map.rsw#bgm\\44.mp3#)
- Add following lines to data/resnametable.txt
-
my_map.gnd#my_map.gnd# my_map.gat#my_map.gat# my_map.rsw#my_map.rsw#
-
Add this line to data/mapnametable.txt
-
my_map.rsw#Title of my Map#
-
Server Side -
Add the following line to db/map_index.txt
-
my_map
-
Add the following line to conf/maps.conf
-
map: my_map
-
Cache -
Create a map.grf and include a folder data/. Add inside your map files (gat, rsw, gnd, extra)
-
Create a folder grf/ in your server root (Hercules/) and upload map.grf inside grf/ folder. -
Connect via ssh (putty) to your server and log in. - Stop your server
- ./athena-start stop
- Edit conf/grf-files.txt
- nano conf/grf-files.txt
-
Add the following line, save and close. -
grf: grf/map.grf
-
Do the following command -
./mapcache
-
start your serveur -
./athena-start start
Edited by Monsieur PandaunidentifiedDisplayName = "My custom Item", // Or "Accessory" or "Headgear" if it is an equipment
unidentifiedResourceName = "my_custom_item", //This will set the sprite you will use (ex: my_custom_item.spr / actmy_custom_item.act)
unidentifiedDescriptionName =
identifiedDisplayName = "My custom Item",
identifiedDescriptionName =
slotCount = 0,
},
Share this post
Link to post
Share on other sites