Monsieur Panda
-
Content Count
90 -
Joined
-
Last visited
-
Days Won
7
Posts posted by Monsieur Panda
-
-
@hemagx I read something like this yes. Because I never used MariaDB, for now I will continue on my way but I will let a notice about it. Thank you for your feedback !
EDIT: Big update. Please let me know if you see mistakes or missing information ! Thank you !
-
yup That is why I wanted to make it ! because I use Linux as a hobbie, I'm not pro at all and I got a bit "lost" from the wiki. There is outdated information and missleading steps.
Why didn't you edit the one on the wiki with this one?
I am completly newbie, I thought it would be badly seen if someone like me edit the wiki. Beside of that, because I do not master herc, I think that I should just post what I know and understand in the forum. And later, after the approval of the community, I will be happy to edit the wiki !
-
yup That is why I wanted to make it ! because I use Linux as a hobbie, I'm not pro at all and I got a bit "lost" from the wiki. There is outdated information and missleading steps.
-
Ah yes so sorry I just found the same error but not in the support section (I was coming here to delete my topic)
So yes I will downgrade the client !
So what is this for ? ( I want to understand )
EDIT: I still having the issue, using 2014-10-22b. Or do I misunderstand something ? Should I get the Full client from this date ?
EDIT 2: Problem solved by either forwarding ports and edit again mmo.h with ./configure --enable-packetver=YYYYMMDD
-
Hello,
When I try to create a character, I get an error:
[Error]: chr->parse_char: Received unknown packet 0xa39 from ip 'x.x.x.x'! Disconnecting!
From that, I have no idea where it come from Do you have an idea ?Thank you -
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
- Patience, meticulousness, cogitation
- kRO full client: Mirror #1 (mediafire), Mirror #2 (Direct Link from my ftp)
- kRO last actual compatible exe: Mirror #1 (mega.nz), Mirror #2 (Direct Link from my ftp)
- Setup exe: Download (Page), Mirror #1 (Direct Link from my ftp)
- N.E.M.O. Diff Patcher Download (git)
- BGM parameter files. Download (Direct Link herc.ws), Mirror #1 (Direct Link from my ftp)
- Translation Package. Download (git)
- Putty: Download (Page)
- If Putty does not work, use Kitty Download (Page)
- 1~2 hours of your time
Things you should know:
- 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.
- apt-get install apache2
- apt-get install php5 php5-cli libapache2-mod-php5 php5-mysql
- apt-get install phpmyadmin
- ln -s /usr/share/phpmyadmin /var/www/html/
- Because hercules doesn't work if you use root login, we will create a new user.
- useradd ragnarok
- passwd ragnarok [choose_a_password]
- Connect to phpmyadmin and login with the information you chose at this address: http://your_server_ip/phpmyadmin
- Create a new database ragnarok and choose utf8_unicode_ci as collation
- Create another database and name it ragnarok_log with same collation
- Click on the tab Users (top of the page), Add User and fill the form.
- Username: ragnarok,
- password: [choose_a_assword],
- Click on Check All in the privilege group. (or if you know what are you doing, select options you need)
- Now you can log out from your server in Putty
- logout
C. Install Hercules
- Login again in Kitty with the new user ragnarok
- Download Hercules emulator
- git clone https://github.com/HerculesWS/Hercules.git ~/Hercules
- We will need to reach the database installation folder:
- cd Hercules/sql-files/
- We will now import tables in the database. You will have to write your mysql password each time (set in step B.4).
- mysql -u ragnarok -p ragnarok < main.sql
- mysql -u ragnarok -p ragnarok_log < logs.sql
- mysql -u ragnarok -p ragnarok < item_db2.sql
- mysql -u ragnarok -p ragnarok < mob_db2.sql
- mysql -u ragnarok -p ragnarok < mob_skill_db2.sql
- if you want to make a PRE-RENEWAL server, enter also this
- mysql -u ragnarok -p ragnarok < item_db.sql
- mysql -u ragnarok -p ragnarok < mob_db.sql
- mysql -u ragnarok -p ragnarok < mob_skill_db.sql
- If you want to make a RENEWAL server:
- mysql -u ragnarok -p ragnarok < item_db_re.sql
- mysql -u ragnarok -p ragnarok < mob_db_re.sql
- mysql -u ragnarok -p ragnarok < mob_skill_db_re.sql
D. Configure hercules
- 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 ../
- nano conf/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.
- nano conf/import/inter_conf.txt
- sql.db_username: ragnaroksql.db_password: your_sql_passwordsql.db_database: ragnarok
- log_db_id: ragnaroklog_db_pw: your_sql_passwordlog_db_db: ragnarok_log
-
- now edit conf/import/char_conf.txt and fill it with this following text
- nano conf/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.
- nano conf/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 login and edit the only row available.
- userid must have the same value as [new user]
- user_pass must have the same value as [new password]
-
- char-server.conf
- nano conf/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
- iptables save
-
- We are done with the server for now. You can log out if you want. Lets prepare our client!
II. Create the ClientA. 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 and savedata 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 "Select Recommended"
- Confirm DATA.INI
- Rename iteminfo.lub to iteminfo_n.lub
- Now search "Read Data Folder First" and check it
- Hit "Apply Selected" and you will have a new 2015-05-13aRagexe_patched.exe file.
- You should "Save Profile" now, because you will probably want to edit again your client later
C. Add the translation
- Rename C:\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
- #ifndef PACKETVER#define PACKETVER
-
- Change #define PACKETVER to #define PACKETVER 20150513 if 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.
- Hit the Insert tab
- userid: [login_nickname]
- user_pass: [login_pass]
- group_id: 99
- gender: M or F
- You have now your Game Master Account
B. Play
- Launch C:\ro_client\fresh\2015-05-13aRagexe_patched.exe
- Login with your newly created game master account
- Process thru in game.
- type @go 0
- Be happy.
V. Customize
A. Back to the N.E.M.O.
- This Diff patcher is really cool, be aware of that. You can now edit again your client.
- repeat the step II.B.1
- Hit "Load Profile" and choose the previous file you created in step II.B.7
- Check the list and hit option you want.
- repeat step II.B.6 and 7
B. Options & Fix
- Remove the Pin Secure Code
- Be sure to always be in Hercules folder ( cd ./Hercules)
- ./athena-start stop
- nano conf/import/char_conf.txt
- add this line: pincode_enabled: 0
- process to step III.A.1
- To edit clientinfo.xml, I suggest you to check the wiki page
- if you can't see in game button
- Changing starting point
- nano conf/import/char_conf.txt
- add start_point_re: prt_fild08,170,365
-
Changing starting items
- nano conf/import/char_conf.txt
- add start_items: 2393,1,0,5055,1,0,569,20,1
- Changin starting Zeny
- nano conf/import/char_conf.txt
- add start_zeny: 5,000
- == More options to come, just reply to this topic if you can't find how to do what ==
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>] = {
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.identifiedResourceName = "my_custom_item",
identifiedDisplayName = "My custom Item",
identifiedDescriptionName ={"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.
slotCount = 0,
},
-
[<item id>] = {
- 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
- Drop item sprite (also the same as click and drag) must be in:
-
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
-
-
-
Cient side
Client Translation Project
in Projects
Posted · Edited by Monsieur Panda
Hi there, I am using this awesome translation project. But I have a problem: no button are displayed. Did I missed something when Did Diff ?
I did change the folder name to 유저인터페이스 and also set read the data folder first when Diff.
Thank you for your help.
EDIT : Problem solved, used an other translation ^^'