Hi, I want to know if is possible to set up a server with renewall features (stats, exp, and everything) but just locked to an episode, for example Revo-Classic. I am asking because the new euRO server is gonna be OBT soon, but I just want to make a server for my guild for testing purposes, and it's my first time playing a revo-classic like server.
I found this and that, but wow one with rAthena and other with Hercules.
Any further recomendation?
Thanks!
Script Type: Quest
Script Name: Soul Reborn
Made for: Elaria Woon Reloaded
Made by: Rokimoki
Latest version: SoulReborn.txt
Ragnarok version: Pre-Renewall - SQL Server
Note: This script was made for Elaria Woon Reloaded, since they are going to close I will upload two scripts I made for them.
Description:
You must be an advanced class 99/70 to Soul Reborn, this mean your character will be deleted from your account. In order to have a reward you need another character in your account to send the reward to his/her inventory. The reward, at this point, must be an etc item or usable item, because the sql query to insert the reward in the `inventory` table is prepared to be like that, of course you can change it to give anything you want.
Script Type: Quest
Script Name: Soul Reborn
Made for: Elaria Woon Reloaded
Made by: Rokimoki
Latest version: SoulReborn.txt
Ragnarok version: Pre-Renewall - SQL Server
Note: This script was made for Elaria Woon Reloaded, since they are going to close I will upload two scripts I made for them.
Description:
You must be an advanced class 99/70 to Soul Reborn, this mean your character will be deleted from your account. In order to have a reward you need another character in your account to send the reward to his/her inventory. The reward, at this point, must be an etc item or usable item, because the sql query to insert the reward in the `inventory` table is prepared to be like that, of course you can change it to give anything you want.
You can add NOW() in the sql syntax and will put a datetime with the current server time... As far I know, timestamp is for linux epoch time purpouses, but you can use a datetime and use NOW() when update or insert
I understand, back in time I did my ranking with #vars and a sort method I did, but sql is easier and more powerful, and machines (servers) today are very powerful too and cheap.
You can create not permanent monster (once is killed it will not spawn again) by script code, but you specify at least an array of maps, and an array of ids (if more than 1 mob you want to spawn). This is very easy to do but they are not permanent.
In the other hand you can spawn permanent monsters but it must be like they have in hercules monster spawn db, you can see this original script from hercules git for an example.
I don't know if there is a value that will tell to spawn all maps, and I don't think so.
edit: you have a map index file, you can do a simple java program to parse it and append the ",<x>,<y>,<xs>,<ys>%TAB%monster%TAB%<monster name>%TAB%<mob id>,<amount>,<delay1>,<delay2>,<event>{,<mob size>,<mob ai>}" string (configured in the way you want). And then remove the maps you don't want. (or before appending)
Yeah, people should get use to read documentation, but anyway, you have 2 kind of delays...
<map name>,<x>,<y>,<xs>,<ys>%TAB%monster%TAB%<monster name>%TAB%<mob id>,<amount>,<delay1>,<delay2>,<event>{,<mob size>,<mob ai>}
{,<mob size>,<mob ai>} = optional, can be omitted...
So, red and green are a delay range, will take a random range between those values. You can see in ratemyserver this Tao Gunka spawn description: + 1x / 300~310 min
do you use a test server? as far I know, your sql DB the `id` field is not the table `id`, is the `character_id` from the player, anyway, should be a `primary_key` to avoid duplicates, but as far I see in the script, you have `ON DUPLICATE KEY UPDATE`, so this is better if you use `primary_key`, if you don't have one this gives error so, if that worked before change anything, I think you already had a `primary_key` defined (which was not represented in the sql schematic, that's why Shatotech told you to do that).
I recommend you to do the `id` auto_increment primary key, and have a `char_id`, `event_points` and `total_event_points`, don't duplicate data as `name` that you can get by a sql query, but you can have a `name` column too. Of course this require other script modification so I don't recommend if you don't want to change.
Anyway, I saw here that you had the primary key already.
So, ignore everything before (your scripts are perfect, but read the post). Change my sql and replace by:
SELECT `name`, `t_event_points` FROM `event_rank` ORDER BY `t_event_points` DESC LIMIT 10;
PS: You should use a test server first.
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: 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 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 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 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
Hello,
This is another script I made years ago and I updated for Hercules and made SQL version, just put in your server and @reloadscript in order to implement the waiting room and create the sql table (you don't need to create anything, the script will do for you). Or just reboot the server.
Screenshot 1 Screenshot 2 Screenshot 3
Screenshot 4 Screenshot 5 Screenshot 6
What it really does?
Warps you to a PvP Map: "pvp_n_1-5". If you kill someone you gain 1 pvp point and will broadcast a map announce. If you die you don't loose anything. If you commit suicide you don't gain/loose anything, but will show a map announce that you commited suicide. Shows the PvP Rank Ladder. Every time you enter the pvp map it will be displayed your current pvp points.
How does it work?
Join PvP map through prontera warp. Read the pvp ladder through bulletin board in prontera npc.
If you want to change the pvp map I think it's pretty easy, just read the script and do it.
You can download from GitHub link the attached file is the initial release, use GitHub for the lastest version.
pvpRank.txt
Hello,
This is my first release since years ago. I want to come back scripting if possible. I bring this script I made years ago and I updated for Hercules and translated to English language, is very simple to use. It's gmlvl protected and password protected.
What it really does?
You can add/delete/watch cash points from a player, it doesn't matter if the player is online or offline. You can select the player account by one of his character name or his login username. The script will notify the player if an admin added/deleted cashpoints, even if he is online or offline. The script will save logs of any transaction, 'log_npc: true' in conf/map/logs.conf file.
How does it work?
You have to whisp the NPC, (be careful if you have manner.txt because some letters will be replaced for * and will not work). White in the PM Box: npc:donation Then write in Chat Box: yourpassword Press enter and follow script instructions.
If you want to modify the gmlvl:
Find: if (getgmlevel() < 90) {
Edit the number 90 and put your minimum GM level you want to use this script.
If you want to modify the password:
Find if (strcmp(@whispervar0$,"yourpassword") != 0) {
Replace "yourpassword" for your desired password. (Keep quotes)
You can download always the lastest version from GitHub link, the attached one its the initial release.
Feedback or bug report is appreciated.
Thanks.
cashpointManager.txt