-
Content Count
1677 -
Joined
-
Last visited
-
Days Won
245
Reputation Activity
-
AnnieRuru reacted to utofaery in How to setup OFFLINE server for personal development use
I don't know if you realise this.
You could retarget project even if you are not on
Windows 10 SDK 10.0.15063
Windows 8.1 SDK
I used 10.0.17763.0
and retarget project by rightclicking solution in solution explorer.
function ok I think even in newer version of sdk
for both rathena and hercules (retarget)
and about download speed
Do make use of internet download manager ...
it's like "@speed 0" compare to normal way of download which is "@speed 100"
it shorten download time by at least 75% if you use it.
Nah I would not agree only developer grade or someone pro on source code stuff love linux more
even when linux has nice and improved desktop environment the keyboard shortcut are all different if you are above pro window user you hate it
(it's like your kitchen stuff is not where it should be and you need to learn or find them when you need them)
I guess same here dah
Westerner try to judge asian people's way to teach kid...sick and bad
When I got the chance to learn to ride motorcycle I had nobody to teach me nothing
all the adult say is keep your balance and hold on to the speed...including fall and break the bone.
forgotten this:
You should include the internet download manager into the guide too
it helps with download speed with anything bigger than 500MB
-
AnnieRuru got a reaction from anacondaq in How to setup OFFLINE server for personal development use
thanks for the criticism, this post is better, +1
about visual studio 2017 guide in the image, yes I admit that part was the most frustrating one ...
it just ... this part took me 3 days to install .. download 2.5 GB is a lot
download visual studio, 1 day ...
hercules need Windows 10 SDK 10.0.15063 ... download 1 day ...
rathena need Windows 8.1 SDK ... download another 1 day...
in my experience, this part makes me very frustrated
https://rathena.org/board/topic/117966-how-to-find-nearest-enemyobtain-a-list-of-units-on-the-same-map-etc/?do=findComment&comment=356462
he's not patient about downloading another visual studio LOL ... he is currently sticking with visual studio 2013, and I kinda think it works
btw he does update his emulator project to the latest eventually... and he having problems with creating patch
https://rathena.org/board/topic/118036-how-to-reduce-monster-atk/?do=findComment&comment=356762
100% agree, rathena kinda crash a lot in recent commits
PS : .... *click this*
-
AnnieRuru reacted to anacondaq in How to setup OFFLINE server for personal development use
Yes, it's rude. But it's the truth (my guide bad too, btw). I did not say anything about you or anyone especially, but I reading many topics on another forum and found out that just a few topics are written not well (tutorials only I mean). Even for example just GitHub wiki pages for both emulators, it's so big pain to follow/understand/do... I think the guys who wrote it, even not tried to follow their guides at all. I tried, and can admit = they are wrong, and can be changed (when will have free time, and if my PR will not be rejected, I can change it)
This what I tried to do with the offline pack, just throw newbies in water, not drive them through links for days \ for months in search of water.
When you have everything ready and working, it's much easier for you to navigate the rest, do experiments, break everything, destroy everything, then start again, and again, and again, by doing many many many mistakes which learn more, then any guides posted on any forum.
Yea, because I'm busy right now. Not sure if "something new" better. I checking github every signle day and read commits, changes, and I think after changing map flags, and touching other staff, rathena not stable at all right now, and have much more bugs, then before these changes. So 07 July 2018 = old, but not so bad.
false =)
How to update all components = explained. All tools included too.
In short if it's something about emulator:
run cmder git pull origin install VS 2017 (select C++) Open rAthena.sln (must be opened in VS 2017) Right click on rAthena Solution -> Retarget Solution -> OK Press CTRL+B Optionally if were changes related to sql: run OpenServer -> Click On it -> Phpmyadmin -> login to it -> select database -> import -> import update to your db. done, emulator update done, for all of this usually need not more then 3-5 mins. If rathena wouldn't be crazy and wouldn't use YAML, which is absolutely incompatible with many compilers properly without a lot of issues (i like hercules over rAthena because of such small issues) (they know what we're talking about), I'd also can deliver a portable compiler (250MB) for compiling the emulator, which would immediately help and compile the emulator and apply the necessary sql Updates (if necessary) So it's easy too.
But again, i have nothing against your, or anyone else guides, if you write it = write, many people will find them useful.
If you can, please edit Images in your topic, because right now they looks like:
just change links to
https://raw.githubusercontent.com/AnnieRuru/customs/master/server%20setup/Step%207a.png format.
-
AnnieRuru got a reaction from evilpuncker in How to setup OFFLINE server for personal development use
I'll just pick a few to reply
1. you did a good job helping people to instantly setup a server, I wont deny that part
just like playing games online, for example, just download the package, plug and play
what I did is post a proper guide for the community, same as many others before me,
http://herc.ws/board/topic/152-obtaining-hercules/
http://herc.ws/board/topic/968-guide-how-to-setup-hercules/#comment-6870
http://herc.ws/board/topic/93-guidehow-to-setup-a-ragnarok-onlineserver-side-only/
your package can last forever, assuming members want to use an outdated emulator
mine will not last, and will wash just like any other guides
2. I have A LOT OF MEMBERS asking me how to apply King of Emperium patch,
and when I ask how they setup their server, 90% of them say use your guide
your guide is plug and play, but it doesn't teach the process,
yes, there are a lot of bumpy road if take the hard way, but you actually learn something every time solve a problem
for example, following my guide, already learn how to update the server, apply patch, how to create grf, how to write SQL ... all in screenshots
3. and no, when comes to contributing, we have to use the latest/updated emulator ... same goes to rathena or hercules
for example, your current version which last update on 07 July 2018
it still having bugs on *inarray script command, and many of my scripts using this script command will throw error on your current package
yes, I told them to update to latest revision, and 3 people asked me how to do it, I just sigh ....
well at least 3 people doesn't understand the 9th minute part of your video
4. I guess we just have a different opinion on the subject,
I prefer to do the traditional method, and you like to help newbies
some might prefer to follow my guide, but I think majority (especially newbies) will prefer yours
make no mistakes, when I hear people say --> I just want to install RO just for childhood memory <-- I would still recommend your guide
5. I think its rude to come here and bash some other member's guide
I hope you won't do the same if there is another similar guide post on rathena forum
the rest are minor
compare windows to linux ... of course linux better ...
to be honest, I'm the only hercules staff member using windows, all other staff members use linux
imgur ... no ... if I make this topic fully load with screenshots, it eats lots of bandwidth
how did I learn to ride bicycle ?
my father rent a bicycle and I ride on it while I was 7~8 years old,
nobody push at the back, no book, no guide, straight on to the real thing, fell a few times
... typical chinese teaching method ... yes I'm chinese
EDIT: yes, how the chinese children learn how to swim -> throw them into the water
that's why western culture thinks chinese are child abuse
-
AnnieRuru reacted to meko in Put a stop on not found plugin so server dont loop restarting ?
map server by itself does not auto-restart, what you are using is a wrapper script (map-server.bat) if you do not want it to restart you should use map-server.exe directly or make your own wrapper script
-
AnnieRuru got a reaction from IndieRO in How to setup OFFLINE server for personal development use
Make your (offline) RO server in more than 5 hours - pun intended
Hercules Link
This Guide is intended for
- Windows users
windows sux, but 90% of the community still using windows, so I am targeting the majority of the members here
- You want to contribute something back to the community
if you just want to have fun by yourself, of course it's fine to use that 5 minute instant noodle guide
BUT if you want to contribute to the community, you have to use LATEST server and software available
... which makes this guide outdated very fast
Prelude: Determine your Windows Operating System type
a. Windows Key -> Right Click on My Computer -> Select Properties
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-1.png
b. Determine your Operating System type
I'm using Windows 7 Ultimate 64-bit system
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-2.png
Step 1: Download and Install TortoiseGit
1a. Download TortoiseGit
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1a.png
1b. Installation
next... next... next.. next... next.. next.. Install !!!
1c. Create 2 new folders
1 for Hercules, 1 for rAthena
Right-click -> TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1c.png
1d. Download git 2.20.1
you'll get this warning message
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1d.png
Open Git for Windows Website, Download it
next... next... next.. next... next.. next.. Install !!!
1e. Reposition git.exe
This time go to TortoiseGit -> Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e.png
General tab -> Git.exe path
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e2.png
C:\Program Files\Git\bin
1f. Download Hercules and rAthena
Right Click on the folder, TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1f.png
https://github.com/HerculesWS/Hercules https://github.com/rathena/rathena
Problems might encounter during Step 1c,
when it ask for a git.exe, you have to go to that git for windows site, and download that thing
Problems might encounter during Step 1e,
sometimes even though you have already install git2.20.1.exe, but it still couldn't find the git.exe file
to solve it, Right-click -> TortoiseGit -> Settings, you get a warning, Click Ignore, then follow Step 1e
Step 2: Download and Install Microsoft Visual Studio 2017
Step 2a. Download Microsoft Visual Studio
https://visualstudio.microsoft.com/downloads/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2a.png
Step 2b. Downloading ...
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2b.png
Step 2c. Click Install Visual Studio Community 2017
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2c.png
Step 2d. Load Hercules Project
Double click Hercules-15.sln
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2d.png
it says missing Windows 10 SDK 10.0.15063 ...
Step 2e. Install individual component
you can either let Visual Studio do its magic, or ...
manually go to visual studio downloader ... click modify
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e.png
then select the component to install manually
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e2.png
Step 2f. Load rAthena Project
Do the same thing by double clicking rAthena.sln,
but this time rAthena project needs Windows 8.1 SDK and Windows Universal CRT SDK
Both emulator has been compiled
Problems might encounter during Step 2c
if using Windows 7/8, after the download is complete, it install a windows update that might crash all the programs in your operating system
this Parasite MUST be remove !!
To do this, go to Control Panel -> Program and Features
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g.png
Click View Install Update tab
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g1.png
then find KB2882822 and remove this parasite from your computer immediately before restarting your computer
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g2.png
IF you are the unlucky soul and you can't start any .exe file .... there's still a fix
Restart the computer in Safe Mode ...
many answer around the Internet tells you to press F8 when Windows Logo shows up, but this doesn't work for me, I have USB keyboard
so I found another method ... run System Configuration
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h.png
Select the [Boot] tab, then select Safe Mode.
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h2.png
this will make your windows always restart in safe mode until you turn it off
then follow the above process, uninstall that windows update, deselect safe mode, restart computer again, now it should be back to normal
Problems might encounter during Step 2f
During compiling, if you see this in your Visual Studio
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory this means you are missing a component Windows Universal CRT SDK
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2f.png
Step 3: Download and Install MySQL 8.0
Step 3a: Download MySQL 8.0
https://dev.mysql.com/downloads/mysql/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a2.png
actually, you can just click this -> https://dev.mysql.com/downloads/file/?id=480824
I have 64-bit operating system, but this 32-bit installer works fine for me
Step 3b. Install MySQL 8.0
Select Custom
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b1.png
We only need 2 products, MySQL 8.0 and MySQL Workbench
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b2.png
Ready to Install
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b3.png
next... next.. Execute !! next.. next.. next..
Account and Roles, type "1234" as password
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b4.png
click [Check]... next... next.. next... DONE !!
Step 3c. Run MySQL Workbench
Welcome to MySQL Workbench
Double click the icon -> Click Connect
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3c.png
Step 3d. Create a Schema
Right click at the left side of the window
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d.png
and create a Database call Hercules. Remember change charset/collation to utf8
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d2.png
Step 3e. Install SQL Script for Hercules
Set Hercules as default Schema
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e.png
load hercules/sql-files/main.sql file
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e2.png
copy into Query field, then Press Execute button
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e3.png
repeat the same process again for log.sql file
Step 3f. Install SQL Script for rAthena
Set rAthena as default Schema
install rAthena/sql-files/main.sql and the log.sql
Problems might encounter during Step 3e.
If you got a warning message that `ipbanlist` table creation failed, this has been reported -> hercules & rAthena
that's why now we can only use utf8 charset
Step 4: Connect MySQL to Hercules and rAthena
Step 4a. Connect Hercules to MySQL
Copy paste the import-tmpl folder, and rename it into import
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4a.png
then open each individual files and modify each one of them
conf/import/char_server.conf
char_configuration: { // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: "Hercules" // Information related to inter-server behavior inter: { // Server Communication username and password. userid: "qwer" passwd: "asdf" // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: "127.0.0.1" // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: "127.0.0.1" } pincode: { enabled: false } } conf/import/map-server.conf
map_configuration: { // Information related to inter-server behavior inter: { // Interserver communication passwords, set in the login server database userid: "qwer" passwd: "asdf" // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: "127.0.0.1" // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: "127.0.0.1" } } conf/global/sql_connections.conf
sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "1234" db_database: "hercules" //codepage:"" }
Step 4b. Change s1/p1 inter server connection password
since hercules server hates you for using s1/p1, I change it into qwer/asdf then
Here's how to do it ... Open MySQL Workbench, double click your current running MySQL connection
Type "SELECT * FROM `login`;" , edit the field s1/p1, then click [Apply]
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b2.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b3.png
Step 4c. connect rAthena to MySQL
Copy paste the import-tmpl folder, and rename it into import
then open each individual files and modify each one of them
conf/import/char-conf.txt
// Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: rAthena // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 127.0.0.1 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 127.0.0.1 // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no conf/import/inter-conf.txt
// MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: 1234 login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: 1234 ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: 1234 char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: 1234 map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: 1234 log_db_db: rathena log_codepage: log_login_db: loginlog conf/import/login_conf.txt
// The login server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 conf/import/map_conf.txt
// Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 127.0.0.1 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 127.0.0.1
Note: you can do the same for rAthena, change s1/p1 into qwer/asdf. rAthena doesn't *BEEP* when you use s1/p1 though
simply add this line in both conf/import/char-conf.txt and conf/import/map_conf.txt then change it in MySQL Workbench
// Server Communication username and password. userid: s1 passwd: p1
Read Also: What is Import folder, just scroll down to the bottom and read it
Before going into next step, I want to stress enough and make sure you can get your server to connect to MySQL
so try running run-server.bat to connect your hercules --OR-- rathena server to MySQL
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5.png
if you can't do it right, Open a New Topic in General Server Support
problem might encounter during this step
[SQL]: Client does not support authentication protocol requested by server; consider upgrading MySQL client This happens if you have previous version of MySQL installed on your computer, and upgrade into MySQL 8.0
to fix this issue, run MySQL command line Client from start menu
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5a.png
then run these 2 commands seperately
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; FLUSH PRIVILEGES; https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5b.png
5. Download latest KRO Client and client translation files
Step 5a. Download latest KRO from
http://herc.ws/board/topic/15592-collection-official-full-clients-latest-kro/
https://rathena.org/board/topic/106413-kro-full-client-2018-08-13-includes-bgm-rsu/ <-- I pick this
// ========== THIS PART IS CONTROVERSIAL ===== BUT IT WORKS FOR ME ========
Step 5b. Create another 2 folders
let's name it Asheraf and zackdreaver ... the author of making client translation
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5b.png
then download their translation files by git clone them
https://github.com/Asheraf/Translation https://github.com/zackdreaver/ROenglishRE
Step 5c. Download GRF Editor
http://www.mediafire.com/file/aflylbhblrzpz0h/GRF+Editor+v1.8.2.7.zip <-- author forgot to update in that topic, mediafire link is latest one
Step 5d. Compile GRF Editor
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5d.png
double click GRFEditor.sln
Step 5e. Open GRF Editor file
Navigate to the directory \GRF Editor Sources v1.8.2.7\GRF Editor\GRFEditor\bin\Release and open GRF Editor.exe
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5e.png
I also wondering why the author makes the execution files hide so deep inside
Step 5f. Drag the data folder from Asheraf client translation to new.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f.png
then save it as Asheraf.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f2.png
Step 5g. Repeat the process for zackdreaver translation
Close Grf. New -> Grf, Drag the data folder from zackdreaver/Ragnarok/data to new.grf, then save it as zackdreaver.grf
Now you have learn how to pack your own grf. You should have 2 new grf in client folder
Step 5h. open data.ini in your ragnarok client and edit DATA.INI
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5h.png
[Data] 1=Asheraf.grf 2=zackdreaver.grf 3=rdata.grf 4=data.grf
Step 5i. Replace Asheraf/system folder into client/system folder
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5i.png
// ========== CONTROVERSIAL PART ENDS HERE ===== I'm sure many client experts having your doubts why I do like this ========
A lot of problems can appear in this step, these problems also recent and changes with every client
6. Create your own patch client
Step 6a. Download latest nemo
create another folder name nemo
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6a.png
then git clone from this site
https://gitlab.com/4144/Nemo
Step 6b. Find a suitable client patches
http://nemo.herc.ws/downloads/
Since I download KRO 20180813, I chose 2018-06-20eRagexeRe
Step 6c. Open nemo.exe
Click Browse to select your downloaded client patch, then select Load Client
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6c.png
Step 6d. Use Recommend Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d.png
1. forget the "Always call SelectKoreaClientInfo" error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d1.png
2. DATA.INI
3. system/itemInfo_Sak.lub <--- note: the Capital letter of Info_Sak ... nemo doesn't auto-detect capital letters
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d3.png
4. Always Load Korea ExternalSetting lua files
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d4.png
5. Read Data Folder first
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d5.png
6. Apply Selected
Step 6e. Copy 2018-06-20eRagexeRE_patched.exe to the KRO client folder
By this step, you should be able to load your own hexed client without throwing any error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6.5.png
if you having problem in this Step 5 & 6, Open a New Topic in Client Support
FINAL STEP - change PACKEVER
#define PACKETVER 20180620
Hercules -> src\common\mmo.h
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7a.png
rAthena ->
src\config\packets.hpp <--- original directory, don't edit here
src\custom\defines_pre.hpp
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7b.png
Then Compile for a Final time
After thought, there are still some minor annoyance and adjustment
client/data/msgstringtable.txt (unpack it or just put at client/data/ folder)
line 3262 Smooth# line 3458 There was an error when loading the data account settings. (Please restart to retry.)# change them into just a #
Frequently Asked Question:
Change Renewal into Pre-Renewal
Hercules -> src/config/renewal.h
rAthena -> src/config/renewal.hpp
This guide will be feature and pin only for a few months ... while it last .... I guess
-
-
AnnieRuru got a reaction from Huitzilopotchli in Add *pcblockattack *pcblockskill *pcblockchat *pcimmune script commands
current format
http://upaste.me/c7ed2182125d6a31b
already tested with
- script sdfhdskfj FAKE_NPC,{OnInit: bindatcmd "@pcblock", strnpcinfo(0)+"::Onaaa"; setarray .name$, "BLOCK_MOVE", "BLOCK_ATTACK", "BLOCK_SKILL", "BLOCK_USEITEM", "BLOCK_CHAT", "BLOCK_IMMUNE", "BLOCK_SITSTAND"; setarray .flag$, " [^ff0000OFF^000000]", "[^0000ffON^000000]"; end;Onaaa: for ( .@i = 0; .@i < 7; .@i++ ) .@menu$ = .@menu$ + .name$[.@i] + .flag$[ !!( checkpcblock() & (1 << .@i) ) ] +":"; .@s = select( .@menu$ ) -1; pcblock 1 << .@s, !( checkpcblock() & (1 << .@s) ); close;} .
BLOCK_COMMAND !!
omg how can I miss this one, need this one asap
the rest are redundant
BLOCK_ATCOMMAND
- repeated ???
BLOCK_DROP
- already has nodrop mapflag
BLOCK_GSTORAGE
- I seriously think this should belongs to nostorage mapflag
ima thinking of making one
BLOCK_NOIDEAWHATELSETOPOSTHERE
hmm ... this long name makes me google 'what is the longest identifier in c++'
answer is 2048 -> https://msdn.microsoft.com/en-us/library/565w213d.aspx
.
.
I actually thought about this
but the blockedmove and monster_ignore is quite everywhere in the source ... don't feel like touching them
ima thinking of changing checkpcblock into getpcblock
after 2nd thought, I change them 1st then see how Haru react to it
-
AnnieRuru got a reaction from bWolfie in One char per gm account
latest revision, patch
plugin
the reason for the patch is because this was requested from rAthena forum
https://rathena.org/board/topic/118143-bonus-expansion-pack/?do=findComment&comment=357155
-
AnnieRuru got a reaction from gidzdlcrz in How to setup OFFLINE server for personal development use
Make your (offline) RO server in more than 5 hours - pun intended
Hercules Link
This Guide is intended for
- Windows users
windows sux, but 90% of the community still using windows, so I am targeting the majority of the members here
- You want to contribute something back to the community
if you just want to have fun by yourself, of course it's fine to use that 5 minute instant noodle guide
BUT if you want to contribute to the community, you have to use LATEST server and software available
... which makes this guide outdated very fast
Prelude: Determine your Windows Operating System type
a. Windows Key -> Right Click on My Computer -> Select Properties
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-1.png
b. Determine your Operating System type
I'm using Windows 7 Ultimate 64-bit system
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-2.png
Step 1: Download and Install TortoiseGit
1a. Download TortoiseGit
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1a.png
1b. Installation
next... next... next.. next... next.. next.. Install !!!
1c. Create 2 new folders
1 for Hercules, 1 for rAthena
Right-click -> TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1c.png
1d. Download git 2.20.1
you'll get this warning message
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1d.png
Open Git for Windows Website, Download it
next... next... next.. next... next.. next.. Install !!!
1e. Reposition git.exe
This time go to TortoiseGit -> Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e.png
General tab -> Git.exe path
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e2.png
C:\Program Files\Git\bin
1f. Download Hercules and rAthena
Right Click on the folder, TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1f.png
https://github.com/HerculesWS/Hercules https://github.com/rathena/rathena
Problems might encounter during Step 1c,
when it ask for a git.exe, you have to go to that git for windows site, and download that thing
Problems might encounter during Step 1e,
sometimes even though you have already install git2.20.1.exe, but it still couldn't find the git.exe file
to solve it, Right-click -> TortoiseGit -> Settings, you get a warning, Click Ignore, then follow Step 1e
Step 2: Download and Install Microsoft Visual Studio 2017
Step 2a. Download Microsoft Visual Studio
https://visualstudio.microsoft.com/downloads/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2a.png
Step 2b. Downloading ...
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2b.png
Step 2c. Click Install Visual Studio Community 2017
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2c.png
Step 2d. Load Hercules Project
Double click Hercules-15.sln
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2d.png
it says missing Windows 10 SDK 10.0.15063 ...
Step 2e. Install individual component
you can either let Visual Studio do its magic, or ...
manually go to visual studio downloader ... click modify
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e.png
then select the component to install manually
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e2.png
Step 2f. Load rAthena Project
Do the same thing by double clicking rAthena.sln,
but this time rAthena project needs Windows 8.1 SDK and Windows Universal CRT SDK
Both emulator has been compiled
Problems might encounter during Step 2c
if using Windows 7/8, after the download is complete, it install a windows update that might crash all the programs in your operating system
this Parasite MUST be remove !!
To do this, go to Control Panel -> Program and Features
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g.png
Click View Install Update tab
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g1.png
then find KB2882822 and remove this parasite from your computer immediately before restarting your computer
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g2.png
IF you are the unlucky soul and you can't start any .exe file .... there's still a fix
Restart the computer in Safe Mode ...
many answer around the Internet tells you to press F8 when Windows Logo shows up, but this doesn't work for me, I have USB keyboard
so I found another method ... run System Configuration
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h.png
Select the [Boot] tab, then select Safe Mode.
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h2.png
this will make your windows always restart in safe mode until you turn it off
then follow the above process, uninstall that windows update, deselect safe mode, restart computer again, now it should be back to normal
Problems might encounter during Step 2f
During compiling, if you see this in your Visual Studio
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory this means you are missing a component Windows Universal CRT SDK
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2f.png
Step 3: Download and Install MySQL 8.0
Step 3a: Download MySQL 8.0
https://dev.mysql.com/downloads/mysql/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a2.png
actually, you can just click this -> https://dev.mysql.com/downloads/file/?id=480824
I have 64-bit operating system, but this 32-bit installer works fine for me
Step 3b. Install MySQL 8.0
Select Custom
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b1.png
We only need 2 products, MySQL 8.0 and MySQL Workbench
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b2.png
Ready to Install
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b3.png
next... next.. Execute !! next.. next.. next..
Account and Roles, type "1234" as password
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b4.png
click [Check]... next... next.. next... DONE !!
Step 3c. Run MySQL Workbench
Welcome to MySQL Workbench
Double click the icon -> Click Connect
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3c.png
Step 3d. Create a Schema
Right click at the left side of the window
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d.png
and create a Database call Hercules. Remember change charset/collation to utf8
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d2.png
Step 3e. Install SQL Script for Hercules
Set Hercules as default Schema
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e.png
load hercules/sql-files/main.sql file
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e2.png
copy into Query field, then Press Execute button
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e3.png
repeat the same process again for log.sql file
Step 3f. Install SQL Script for rAthena
Set rAthena as default Schema
install rAthena/sql-files/main.sql and the log.sql
Problems might encounter during Step 3e.
If you got a warning message that `ipbanlist` table creation failed, this has been reported -> hercules & rAthena
that's why now we can only use utf8 charset
Step 4: Connect MySQL to Hercules and rAthena
Step 4a. Connect Hercules to MySQL
Copy paste the import-tmpl folder, and rename it into import
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4a.png
then open each individual files and modify each one of them
conf/import/char_server.conf
char_configuration: { // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: "Hercules" // Information related to inter-server behavior inter: { // Server Communication username and password. userid: "qwer" passwd: "asdf" // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: "127.0.0.1" // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: "127.0.0.1" } pincode: { enabled: false } } conf/import/map-server.conf
map_configuration: { // Information related to inter-server behavior inter: { // Interserver communication passwords, set in the login server database userid: "qwer" passwd: "asdf" // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: "127.0.0.1" // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: "127.0.0.1" } } conf/global/sql_connections.conf
sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "1234" db_database: "hercules" //codepage:"" }
Step 4b. Change s1/p1 inter server connection password
since hercules server hates you for using s1/p1, I change it into qwer/asdf then
Here's how to do it ... Open MySQL Workbench, double click your current running MySQL connection
Type "SELECT * FROM `login`;" , edit the field s1/p1, then click [Apply]
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b2.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b3.png
Step 4c. connect rAthena to MySQL
Copy paste the import-tmpl folder, and rename it into import
then open each individual files and modify each one of them
conf/import/char-conf.txt
// Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: rAthena // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 127.0.0.1 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 127.0.0.1 // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no conf/import/inter-conf.txt
// MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: 1234 login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: 1234 ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: 1234 char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: 1234 map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: 1234 log_db_db: rathena log_codepage: log_login_db: loginlog conf/import/login_conf.txt
// The login server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 conf/import/map_conf.txt
// Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 127.0.0.1 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 127.0.0.1
Note: you can do the same for rAthena, change s1/p1 into qwer/asdf. rAthena doesn't *BEEP* when you use s1/p1 though
simply add this line in both conf/import/char-conf.txt and conf/import/map_conf.txt then change it in MySQL Workbench
// Server Communication username and password. userid: s1 passwd: p1
Read Also: What is Import folder, just scroll down to the bottom and read it
Before going into next step, I want to stress enough and make sure you can get your server to connect to MySQL
so try running run-server.bat to connect your hercules --OR-- rathena server to MySQL
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5.png
if you can't do it right, Open a New Topic in General Server Support
problem might encounter during this step
[SQL]: Client does not support authentication protocol requested by server; consider upgrading MySQL client This happens if you have previous version of MySQL installed on your computer, and upgrade into MySQL 8.0
to fix this issue, run MySQL command line Client from start menu
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5a.png
then run these 2 commands seperately
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; FLUSH PRIVILEGES; https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5b.png
5. Download latest KRO Client and client translation files
Step 5a. Download latest KRO from
http://herc.ws/board/topic/15592-collection-official-full-clients-latest-kro/
https://rathena.org/board/topic/106413-kro-full-client-2018-08-13-includes-bgm-rsu/ <-- I pick this
// ========== THIS PART IS CONTROVERSIAL ===== BUT IT WORKS FOR ME ========
Step 5b. Create another 2 folders
let's name it Asheraf and zackdreaver ... the author of making client translation
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5b.png
then download their translation files by git clone them
https://github.com/Asheraf/Translation https://github.com/zackdreaver/ROenglishRE
Step 5c. Download GRF Editor
http://www.mediafire.com/file/aflylbhblrzpz0h/GRF+Editor+v1.8.2.7.zip <-- author forgot to update in that topic, mediafire link is latest one
Step 5d. Compile GRF Editor
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5d.png
double click GRFEditor.sln
Step 5e. Open GRF Editor file
Navigate to the directory \GRF Editor Sources v1.8.2.7\GRF Editor\GRFEditor\bin\Release and open GRF Editor.exe
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5e.png
I also wondering why the author makes the execution files hide so deep inside
Step 5f. Drag the data folder from Asheraf client translation to new.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f.png
then save it as Asheraf.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f2.png
Step 5g. Repeat the process for zackdreaver translation
Close Grf. New -> Grf, Drag the data folder from zackdreaver/Ragnarok/data to new.grf, then save it as zackdreaver.grf
Now you have learn how to pack your own grf. You should have 2 new grf in client folder
Step 5h. open data.ini in your ragnarok client and edit DATA.INI
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5h.png
[Data] 1=Asheraf.grf 2=zackdreaver.grf 3=rdata.grf 4=data.grf
Step 5i. Replace Asheraf/system folder into client/system folder
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5i.png
// ========== CONTROVERSIAL PART ENDS HERE ===== I'm sure many client experts having your doubts why I do like this ========
A lot of problems can appear in this step, these problems also recent and changes with every client
6. Create your own patch client
Step 6a. Download latest nemo
create another folder name nemo
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6a.png
then git clone from this site
https://gitlab.com/4144/Nemo
Step 6b. Find a suitable client patches
http://nemo.herc.ws/downloads/
Since I download KRO 20180813, I chose 2018-06-20eRagexeRe
Step 6c. Open nemo.exe
Click Browse to select your downloaded client patch, then select Load Client
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6c.png
Step 6d. Use Recommend Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d.png
1. forget the "Always call SelectKoreaClientInfo" error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d1.png
2. DATA.INI
3. system/itemInfo_Sak.lub <--- note: the Capital letter of Info_Sak ... nemo doesn't auto-detect capital letters
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d3.png
4. Always Load Korea ExternalSetting lua files
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d4.png
5. Read Data Folder first
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d5.png
6. Apply Selected
Step 6e. Copy 2018-06-20eRagexeRE_patched.exe to the KRO client folder
By this step, you should be able to load your own hexed client without throwing any error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6.5.png
if you having problem in this Step 5 & 6, Open a New Topic in Client Support
FINAL STEP - change PACKEVER
#define PACKETVER 20180620
Hercules -> src\common\mmo.h
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7a.png
rAthena ->
src\config\packets.hpp <--- original directory, don't edit here
src\custom\defines_pre.hpp
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7b.png
Then Compile for a Final time
After thought, there are still some minor annoyance and adjustment
client/data/msgstringtable.txt (unpack it or just put at client/data/ folder)
line 3262 Smooth# line 3458 There was an error when loading the data account settings. (Please restart to retry.)# change them into just a #
Frequently Asked Question:
Change Renewal into Pre-Renewal
Hercules -> src/config/renewal.h
rAthena -> src/config/renewal.hpp
This guide will be feature and pin only for a few months ... while it last .... I guess
-
AnnieRuru reacted to 4144 in Usable Enchant Item
Error in plugin. i can be -1. and this is invalid index.
-
AnnieRuru got a reaction from Verzeltainne in How to setup OFFLINE server for personal development use
Make your (offline) RO server in more than 5 hours - pun intended
Hercules Link
This Guide is intended for
- Windows users
windows sux, but 90% of the community still using windows, so I am targeting the majority of the members here
- You want to contribute something back to the community
if you just want to have fun by yourself, of course it's fine to use that 5 minute instant noodle guide
BUT if you want to contribute to the community, you have to use LATEST server and software available
... which makes this guide outdated very fast
Prelude: Determine your Windows Operating System type
a. Windows Key -> Right Click on My Computer -> Select Properties
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-1.png
b. Determine your Operating System type
I'm using Windows 7 Ultimate 64-bit system
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-2.png
Step 1: Download and Install TortoiseGit
1a. Download TortoiseGit
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1a.png
1b. Installation
next... next... next.. next... next.. next.. Install !!!
1c. Create 2 new folders
1 for Hercules, 1 for rAthena
Right-click -> TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1c.png
1d. Download git 2.20.1
you'll get this warning message
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1d.png
Open Git for Windows Website, Download it
next... next... next.. next... next.. next.. Install !!!
1e. Reposition git.exe
This time go to TortoiseGit -> Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e.png
General tab -> Git.exe path
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e2.png
C:\Program Files\Git\bin
1f. Download Hercules and rAthena
Right Click on the folder, TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1f.png
https://github.com/HerculesWS/Hercules https://github.com/rathena/rathena
Problems might encounter during Step 1c,
when it ask for a git.exe, you have to go to that git for windows site, and download that thing
Problems might encounter during Step 1e,
sometimes even though you have already install git2.20.1.exe, but it still couldn't find the git.exe file
to solve it, Right-click -> TortoiseGit -> Settings, you get a warning, Click Ignore, then follow Step 1e
Step 2: Download and Install Microsoft Visual Studio 2017
Step 2a. Download Microsoft Visual Studio
https://visualstudio.microsoft.com/downloads/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2a.png
Step 2b. Downloading ...
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2b.png
Step 2c. Click Install Visual Studio Community 2017
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2c.png
Step 2d. Load Hercules Project
Double click Hercules-15.sln
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2d.png
it says missing Windows 10 SDK 10.0.15063 ...
Step 2e. Install individual component
you can either let Visual Studio do its magic, or ...
manually go to visual studio downloader ... click modify
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e.png
then select the component to install manually
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e2.png
Step 2f. Load rAthena Project
Do the same thing by double clicking rAthena.sln,
but this time rAthena project needs Windows 8.1 SDK and Windows Universal CRT SDK
Both emulator has been compiled
Problems might encounter during Step 2c
if using Windows 7/8, after the download is complete, it install a windows update that might crash all the programs in your operating system
this Parasite MUST be remove !!
To do this, go to Control Panel -> Program and Features
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g.png
Click View Install Update tab
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g1.png
then find KB2882822 and remove this parasite from your computer immediately before restarting your computer
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g2.png
IF you are the unlucky soul and you can't start any .exe file .... there's still a fix
Restart the computer in Safe Mode ...
many answer around the Internet tells you to press F8 when Windows Logo shows up, but this doesn't work for me, I have USB keyboard
so I found another method ... run System Configuration
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h.png
Select the [Boot] tab, then select Safe Mode.
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h2.png
this will make your windows always restart in safe mode until you turn it off
then follow the above process, uninstall that windows update, deselect safe mode, restart computer again, now it should be back to normal
Problems might encounter during Step 2f
During compiling, if you see this in your Visual Studio
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory this means you are missing a component Windows Universal CRT SDK
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2f.png
Step 3: Download and Install MySQL 8.0
Step 3a: Download MySQL 8.0
https://dev.mysql.com/downloads/mysql/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a2.png
actually, you can just click this -> https://dev.mysql.com/downloads/file/?id=480824
I have 64-bit operating system, but this 32-bit installer works fine for me
Step 3b. Install MySQL 8.0
Select Custom
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b1.png
We only need 2 products, MySQL 8.0 and MySQL Workbench
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b2.png
Ready to Install
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b3.png
next... next.. Execute !! next.. next.. next..
Account and Roles, type "1234" as password
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b4.png
click [Check]... next... next.. next... DONE !!
Step 3c. Run MySQL Workbench
Welcome to MySQL Workbench
Double click the icon -> Click Connect
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3c.png
Step 3d. Create a Schema
Right click at the left side of the window
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d.png
and create a Database call Hercules. Remember change charset/collation to utf8
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d2.png
Step 3e. Install SQL Script for Hercules
Set Hercules as default Schema
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e.png
load hercules/sql-files/main.sql file
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e2.png
copy into Query field, then Press Execute button
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e3.png
repeat the same process again for log.sql file
Step 3f. Install SQL Script for rAthena
Set rAthena as default Schema
install rAthena/sql-files/main.sql and the log.sql
Problems might encounter during Step 3e.
If you got a warning message that `ipbanlist` table creation failed, this has been reported -> hercules & rAthena
that's why now we can only use utf8 charset
Step 4: Connect MySQL to Hercules and rAthena
Step 4a. Connect Hercules to MySQL
Copy paste the import-tmpl folder, and rename it into import
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4a.png
then open each individual files and modify each one of them
conf/import/char_server.conf
char_configuration: { // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: "Hercules" // Information related to inter-server behavior inter: { // Server Communication username and password. userid: "qwer" passwd: "asdf" // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: "127.0.0.1" // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: "127.0.0.1" } pincode: { enabled: false } } conf/import/map-server.conf
map_configuration: { // Information related to inter-server behavior inter: { // Interserver communication passwords, set in the login server database userid: "qwer" passwd: "asdf" // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: "127.0.0.1" // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: "127.0.0.1" } } conf/global/sql_connections.conf
sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "1234" db_database: "hercules" //codepage:"" }
Step 4b. Change s1/p1 inter server connection password
since hercules server hates you for using s1/p1, I change it into qwer/asdf then
Here's how to do it ... Open MySQL Workbench, double click your current running MySQL connection
Type "SELECT * FROM `login`;" , edit the field s1/p1, then click [Apply]
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b2.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b3.png
Step 4c. connect rAthena to MySQL
Copy paste the import-tmpl folder, and rename it into import
then open each individual files and modify each one of them
conf/import/char-conf.txt
// Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: rAthena // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 127.0.0.1 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 127.0.0.1 // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no conf/import/inter-conf.txt
// MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: 1234 login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: 1234 ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: 1234 char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: 1234 map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: 1234 log_db_db: rathena log_codepage: log_login_db: loginlog conf/import/login_conf.txt
// The login server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 conf/import/map_conf.txt
// Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 127.0.0.1 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 127.0.0.1
Note: you can do the same for rAthena, change s1/p1 into qwer/asdf. rAthena doesn't *BEEP* when you use s1/p1 though
simply add this line in both conf/import/char-conf.txt and conf/import/map_conf.txt then change it in MySQL Workbench
// Server Communication username and password. userid: s1 passwd: p1
Read Also: What is Import folder, just scroll down to the bottom and read it
Before going into next step, I want to stress enough and make sure you can get your server to connect to MySQL
so try running run-server.bat to connect your hercules --OR-- rathena server to MySQL
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5.png
if you can't do it right, Open a New Topic in General Server Support
problem might encounter during this step
[SQL]: Client does not support authentication protocol requested by server; consider upgrading MySQL client This happens if you have previous version of MySQL installed on your computer, and upgrade into MySQL 8.0
to fix this issue, run MySQL command line Client from start menu
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5a.png
then run these 2 commands seperately
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; FLUSH PRIVILEGES; https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5b.png
5. Download latest KRO Client and client translation files
Step 5a. Download latest KRO from
http://herc.ws/board/topic/15592-collection-official-full-clients-latest-kro/
https://rathena.org/board/topic/106413-kro-full-client-2018-08-13-includes-bgm-rsu/ <-- I pick this
// ========== THIS PART IS CONTROVERSIAL ===== BUT IT WORKS FOR ME ========
Step 5b. Create another 2 folders
let's name it Asheraf and zackdreaver ... the author of making client translation
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5b.png
then download their translation files by git clone them
https://github.com/Asheraf/Translation https://github.com/zackdreaver/ROenglishRE
Step 5c. Download GRF Editor
http://www.mediafire.com/file/aflylbhblrzpz0h/GRF+Editor+v1.8.2.7.zip <-- author forgot to update in that topic, mediafire link is latest one
Step 5d. Compile GRF Editor
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5d.png
double click GRFEditor.sln
Step 5e. Open GRF Editor file
Navigate to the directory \GRF Editor Sources v1.8.2.7\GRF Editor\GRFEditor\bin\Release and open GRF Editor.exe
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5e.png
I also wondering why the author makes the execution files hide so deep inside
Step 5f. Drag the data folder from Asheraf client translation to new.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f.png
then save it as Asheraf.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f2.png
Step 5g. Repeat the process for zackdreaver translation
Close Grf. New -> Grf, Drag the data folder from zackdreaver/Ragnarok/data to new.grf, then save it as zackdreaver.grf
Now you have learn how to pack your own grf. You should have 2 new grf in client folder
Step 5h. open data.ini in your ragnarok client and edit DATA.INI
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5h.png
[Data] 1=Asheraf.grf 2=zackdreaver.grf 3=rdata.grf 4=data.grf
Step 5i. Replace Asheraf/system folder into client/system folder
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5i.png
// ========== CONTROVERSIAL PART ENDS HERE ===== I'm sure many client experts having your doubts why I do like this ========
A lot of problems can appear in this step, these problems also recent and changes with every client
6. Create your own patch client
Step 6a. Download latest nemo
create another folder name nemo
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6a.png
then git clone from this site
https://gitlab.com/4144/Nemo
Step 6b. Find a suitable client patches
http://nemo.herc.ws/downloads/
Since I download KRO 20180813, I chose 2018-06-20eRagexeRe
Step 6c. Open nemo.exe
Click Browse to select your downloaded client patch, then select Load Client
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6c.png
Step 6d. Use Recommend Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d.png
1. forget the "Always call SelectKoreaClientInfo" error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d1.png
2. DATA.INI
3. system/itemInfo_Sak.lub <--- note: the Capital letter of Info_Sak ... nemo doesn't auto-detect capital letters
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d3.png
4. Always Load Korea ExternalSetting lua files
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d4.png
5. Read Data Folder first
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d5.png
6. Apply Selected
Step 6e. Copy 2018-06-20eRagexeRE_patched.exe to the KRO client folder
By this step, you should be able to load your own hexed client without throwing any error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6.5.png
if you having problem in this Step 5 & 6, Open a New Topic in Client Support
FINAL STEP - change PACKEVER
#define PACKETVER 20180620
Hercules -> src\common\mmo.h
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7a.png
rAthena ->
src\config\packets.hpp <--- original directory, don't edit here
src\custom\defines_pre.hpp
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7b.png
Then Compile for a Final time
After thought, there are still some minor annoyance and adjustment
client/data/msgstringtable.txt (unpack it or just put at client/data/ folder)
line 3262 Smooth# line 3458 There was an error when loading the data account settings. (Please restart to retry.)# change them into just a #
Frequently Asked Question:
Change Renewal into Pre-Renewal
Hercules -> src/config/renewal.h
rAthena -> src/config/renewal.hpp
This guide will be feature and pin only for a few months ... while it last .... I guess
-
AnnieRuru got a reaction from evilpuncker in How to setup OFFLINE server for personal development use
Make your (offline) RO server in more than 5 hours - pun intended
Hercules Link
This Guide is intended for
- Windows users
windows sux, but 90% of the community still using windows, so I am targeting the majority of the members here
- You want to contribute something back to the community
if you just want to have fun by yourself, of course it's fine to use that 5 minute instant noodle guide
BUT if you want to contribute to the community, you have to use LATEST server and software available
... which makes this guide outdated very fast
Prelude: Determine your Windows Operating System type
a. Windows Key -> Right Click on My Computer -> Select Properties
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-1.png
b. Determine your Operating System type
I'm using Windows 7 Ultimate 64-bit system
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-2.png
Step 1: Download and Install TortoiseGit
1a. Download TortoiseGit
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1a.png
1b. Installation
next... next... next.. next... next.. next.. Install !!!
1c. Create 2 new folders
1 for Hercules, 1 for rAthena
Right-click -> TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1c.png
1d. Download git 2.20.1
you'll get this warning message
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1d.png
Open Git for Windows Website, Download it
next... next... next.. next... next.. next.. Install !!!
1e. Reposition git.exe
This time go to TortoiseGit -> Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e.png
General tab -> Git.exe path
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e2.png
C:\Program Files\Git\bin
1f. Download Hercules and rAthena
Right Click on the folder, TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1f.png
https://github.com/HerculesWS/Hercules https://github.com/rathena/rathena
Problems might encounter during Step 1c,
when it ask for a git.exe, you have to go to that git for windows site, and download that thing
Problems might encounter during Step 1e,
sometimes even though you have already install git2.20.1.exe, but it still couldn't find the git.exe file
to solve it, Right-click -> TortoiseGit -> Settings, you get a warning, Click Ignore, then follow Step 1e
Step 2: Download and Install Microsoft Visual Studio 2017
Step 2a. Download Microsoft Visual Studio
https://visualstudio.microsoft.com/downloads/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2a.png
Step 2b. Downloading ...
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2b.png
Step 2c. Click Install Visual Studio Community 2017
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2c.png
Step 2d. Load Hercules Project
Double click Hercules-15.sln
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2d.png
it says missing Windows 10 SDK 10.0.15063 ...
Step 2e. Install individual component
you can either let Visual Studio do its magic, or ...
manually go to visual studio downloader ... click modify
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e.png
then select the component to install manually
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e2.png
Step 2f. Load rAthena Project
Do the same thing by double clicking rAthena.sln,
but this time rAthena project needs Windows 8.1 SDK and Windows Universal CRT SDK
Both emulator has been compiled
Problems might encounter during Step 2c
if using Windows 7/8, after the download is complete, it install a windows update that might crash all the programs in your operating system
this Parasite MUST be remove !!
To do this, go to Control Panel -> Program and Features
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g.png
Click View Install Update tab
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g1.png
then find KB2882822 and remove this parasite from your computer immediately before restarting your computer
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g2.png
IF you are the unlucky soul and you can't start any .exe file .... there's still a fix
Restart the computer in Safe Mode ...
many answer around the Internet tells you to press F8 when Windows Logo shows up, but this doesn't work for me, I have USB keyboard
so I found another method ... run System Configuration
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h.png
Select the [Boot] tab, then select Safe Mode.
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h2.png
this will make your windows always restart in safe mode until you turn it off
then follow the above process, uninstall that windows update, deselect safe mode, restart computer again, now it should be back to normal
Problems might encounter during Step 2f
During compiling, if you see this in your Visual Studio
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory this means you are missing a component Windows Universal CRT SDK
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2f.png
Step 3: Download and Install MySQL 8.0
Step 3a: Download MySQL 8.0
https://dev.mysql.com/downloads/mysql/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a2.png
actually, you can just click this -> https://dev.mysql.com/downloads/file/?id=480824
I have 64-bit operating system, but this 32-bit installer works fine for me
Step 3b. Install MySQL 8.0
Select Custom
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b1.png
We only need 2 products, MySQL 8.0 and MySQL Workbench
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b2.png
Ready to Install
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b3.png
next... next.. Execute !! next.. next.. next..
Account and Roles, type "1234" as password
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b4.png
click [Check]... next... next.. next... DONE !!
Step 3c. Run MySQL Workbench
Welcome to MySQL Workbench
Double click the icon -> Click Connect
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3c.png
Step 3d. Create a Schema
Right click at the left side of the window
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d.png
and create a Database call Hercules. Remember change charset/collation to utf8
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d2.png
Step 3e. Install SQL Script for Hercules
Set Hercules as default Schema
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e.png
load hercules/sql-files/main.sql file
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e2.png
copy into Query field, then Press Execute button
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e3.png
repeat the same process again for log.sql file
Step 3f. Install SQL Script for rAthena
Set rAthena as default Schema
install rAthena/sql-files/main.sql and the log.sql
Problems might encounter during Step 3e.
If you got a warning message that `ipbanlist` table creation failed, this has been reported -> hercules & rAthena
that's why now we can only use utf8 charset
Step 4: Connect MySQL to Hercules and rAthena
Step 4a. Connect Hercules to MySQL
Copy paste the import-tmpl folder, and rename it into import
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4a.png
then open each individual files and modify each one of them
conf/import/char_server.conf
char_configuration: { // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: "Hercules" // Information related to inter-server behavior inter: { // Server Communication username and password. userid: "qwer" passwd: "asdf" // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: "127.0.0.1" // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: "127.0.0.1" } pincode: { enabled: false } } conf/import/map-server.conf
map_configuration: { // Information related to inter-server behavior inter: { // Interserver communication passwords, set in the login server database userid: "qwer" passwd: "asdf" // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: "127.0.0.1" // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: "127.0.0.1" } } conf/global/sql_connections.conf
sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "1234" db_database: "hercules" //codepage:"" }
Step 4b. Change s1/p1 inter server connection password
since hercules server hates you for using s1/p1, I change it into qwer/asdf then
Here's how to do it ... Open MySQL Workbench, double click your current running MySQL connection
Type "SELECT * FROM `login`;" , edit the field s1/p1, then click [Apply]
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b2.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b3.png
Step 4c. connect rAthena to MySQL
Copy paste the import-tmpl folder, and rename it into import
then open each individual files and modify each one of them
conf/import/char-conf.txt
// Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: rAthena // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 127.0.0.1 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 127.0.0.1 // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no conf/import/inter-conf.txt
// MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: 1234 login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: 1234 ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: 1234 char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: 1234 map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: 1234 log_db_db: rathena log_codepage: log_login_db: loginlog conf/import/login_conf.txt
// The login server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 conf/import/map_conf.txt
// Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 127.0.0.1 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 127.0.0.1
Note: you can do the same for rAthena, change s1/p1 into qwer/asdf. rAthena doesn't *BEEP* when you use s1/p1 though
simply add this line in both conf/import/char-conf.txt and conf/import/map_conf.txt then change it in MySQL Workbench
// Server Communication username and password. userid: s1 passwd: p1
Read Also: What is Import folder, just scroll down to the bottom and read it
Before going into next step, I want to stress enough and make sure you can get your server to connect to MySQL
so try running run-server.bat to connect your hercules --OR-- rathena server to MySQL
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5.png
if you can't do it right, Open a New Topic in General Server Support
problem might encounter during this step
[SQL]: Client does not support authentication protocol requested by server; consider upgrading MySQL client This happens if you have previous version of MySQL installed on your computer, and upgrade into MySQL 8.0
to fix this issue, run MySQL command line Client from start menu
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5a.png
then run these 2 commands seperately
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; FLUSH PRIVILEGES; https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5b.png
5. Download latest KRO Client and client translation files
Step 5a. Download latest KRO from
http://herc.ws/board/topic/15592-collection-official-full-clients-latest-kro/
https://rathena.org/board/topic/106413-kro-full-client-2018-08-13-includes-bgm-rsu/ <-- I pick this
// ========== THIS PART IS CONTROVERSIAL ===== BUT IT WORKS FOR ME ========
Step 5b. Create another 2 folders
let's name it Asheraf and zackdreaver ... the author of making client translation
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5b.png
then download their translation files by git clone them
https://github.com/Asheraf/Translation https://github.com/zackdreaver/ROenglishRE
Step 5c. Download GRF Editor
http://www.mediafire.com/file/aflylbhblrzpz0h/GRF+Editor+v1.8.2.7.zip <-- author forgot to update in that topic, mediafire link is latest one
Step 5d. Compile GRF Editor
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5d.png
double click GRFEditor.sln
Step 5e. Open GRF Editor file
Navigate to the directory \GRF Editor Sources v1.8.2.7\GRF Editor\GRFEditor\bin\Release and open GRF Editor.exe
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5e.png
I also wondering why the author makes the execution files hide so deep inside
Step 5f. Drag the data folder from Asheraf client translation to new.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f.png
then save it as Asheraf.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f2.png
Step 5g. Repeat the process for zackdreaver translation
Close Grf. New -> Grf, Drag the data folder from zackdreaver/Ragnarok/data to new.grf, then save it as zackdreaver.grf
Now you have learn how to pack your own grf. You should have 2 new grf in client folder
Step 5h. open data.ini in your ragnarok client and edit DATA.INI
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5h.png
[Data] 1=Asheraf.grf 2=zackdreaver.grf 3=rdata.grf 4=data.grf
Step 5i. Replace Asheraf/system folder into client/system folder
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5i.png
// ========== CONTROVERSIAL PART ENDS HERE ===== I'm sure many client experts having your doubts why I do like this ========
A lot of problems can appear in this step, these problems also recent and changes with every client
6. Create your own patch client
Step 6a. Download latest nemo
create another folder name nemo
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6a.png
then git clone from this site
https://gitlab.com/4144/Nemo
Step 6b. Find a suitable client patches
http://nemo.herc.ws/downloads/
Since I download KRO 20180813, I chose 2018-06-20eRagexeRe
Step 6c. Open nemo.exe
Click Browse to select your downloaded client patch, then select Load Client
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6c.png
Step 6d. Use Recommend Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d.png
1. forget the "Always call SelectKoreaClientInfo" error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d1.png
2. DATA.INI
3. system/itemInfo_Sak.lub <--- note: the Capital letter of Info_Sak ... nemo doesn't auto-detect capital letters
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d3.png
4. Always Load Korea ExternalSetting lua files
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d4.png
5. Read Data Folder first
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d5.png
6. Apply Selected
Step 6e. Copy 2018-06-20eRagexeRE_patched.exe to the KRO client folder
By this step, you should be able to load your own hexed client without throwing any error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6.5.png
if you having problem in this Step 5 & 6, Open a New Topic in Client Support
FINAL STEP - change PACKEVER
#define PACKETVER 20180620
Hercules -> src\common\mmo.h
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7a.png
rAthena ->
src\config\packets.hpp <--- original directory, don't edit here
src\custom\defines_pre.hpp
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7b.png
Then Compile for a Final time
After thought, there are still some minor annoyance and adjustment
client/data/msgstringtable.txt (unpack it or just put at client/data/ folder)
line 3262 Smooth# line 3458 There was an error when loading the data account settings. (Please restart to retry.)# change them into just a #
Frequently Asked Question:
Change Renewal into Pre-Renewal
Hercules -> src/config/renewal.h
rAthena -> src/config/renewal.hpp
This guide will be feature and pin only for a few months ... while it last .... I guess
-
AnnieRuru got a reaction from meko in Help Removing duplicates value from array
Let me show you 3 different methods
1. loop the value back in another array, almost similar to meko did
prontera,155,185,5 script kjdshfsk 1_F_MARIA,{ getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { .@j = 0; while ( .@j < .@itemtotal && .@itemid[.@j] != @inventorylist_id[.@i] ) ++.@j; if ( .@j == .@itemtotal ) .@itemid[.@itemtotal++] = @inventorylist_id[.@i]; } for ( .@i = 0; .@i < .@itemtotal; ++.@i ) dispbottom getitemname( .@itemid[.@i] ) +" -> "+ countitem( .@itemid[.@i] ) +"x"; end; } most people will show you this method, and this method is usable in almost all programming language
BUT ... in my opinion this method use lots of loops ...
2. store the value in a string, then compare them later
prontera,158,185,5 script dskjfhsdfk 1_F_MARIA,{ getinventorylist; .@compare$ = "#"; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { if ( !compare( .@compare$, "#"+ @inventorylist_id[.@i] +"#" ) ) { .@compare$ += @inventorylist_id[.@i] +"#"; .@itemid[.@itemtotal++] = @inventorylist_id[.@i]; } } for ( .@i = 0; .@i < .@itemtotal; ++.@i ) dispbottom getitemname( .@itemid[.@i] ) +" -> "+ countitem( .@itemid[.@i] ) +"x"; end; } I have used this method in
https://rathena.org/board/topic/91826-special-party-warper/#comment-241434
https://rathena.org/board/topic/91723-please-help-this-script-about-mac_address/?do=findComment&comment=240887
I used this method a lot before Ind upgrade our scripting engine,
but search using strings is quite slow in C language, hercules script language included
and comes the recommended method below
3. abuse hercules script engine, array is store in a pointer.
prontera,161,185,5 script zcxvsfer 1_F_MARIA,{ getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { if ( !.@compare[ @inventorylist_id[.@i] ] ) { .@compare[ @inventorylist_id[.@i] ] = true; .@itemid[.@itemtotal++] = @inventorylist_id[.@i]; } } for ( .@i = 0; .@i < .@itemtotal; ++.@i ) dispbottom getitemname( .@itemid[.@i] ) +" -> "+ countitem( .@itemid[.@i] ) +"x"; end; } ever since Ind upgrade our scripting engine, this is my latest method, and I think this is the fastest way -> compare to all 3 methods
I have used in
getitemname2 function
soul linker spirit
As you can see, I used Method 2 while still on rAthena forum, and switch to Method 3 after switch to Hercules
And for your 2nd question, you can solve it yourself after you learn any of these techniques
-
AnnieRuru got a reaction from kokastein in How to setup OFFLINE server for personal development use
Make your (offline) RO server in more than 5 hours - pun intended
Hercules Link
This Guide is intended for
- Windows users
windows sux, but 90% of the community still using windows, so I am targeting the majority of the members here
- You want to contribute something back to the community
if you just want to have fun by yourself, of course it's fine to use that 5 minute instant noodle guide
BUT if you want to contribute to the community, you have to use LATEST server and software available
... which makes this guide outdated very fast
Prelude: Determine your Windows Operating System type
a. Windows Key -> Right Click on My Computer -> Select Properties
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-1.png
b. Determine your Operating System type
I'm using Windows 7 Ultimate 64-bit system
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-2.png
Step 1: Download and Install TortoiseGit
1a. Download TortoiseGit
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1a.png
1b. Installation
next... next... next.. next... next.. next.. Install !!!
1c. Create 2 new folders
1 for Hercules, 1 for rAthena
Right-click -> TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1c.png
1d. Download git 2.20.1
you'll get this warning message
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1d.png
Open Git for Windows Website, Download it
next... next... next.. next... next.. next.. Install !!!
1e. Reposition git.exe
This time go to TortoiseGit -> Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e.png
General tab -> Git.exe path
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e2.png
C:\Program Files\Git\bin
1f. Download Hercules and rAthena
Right Click on the folder, TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1f.png
https://github.com/HerculesWS/Hercules https://github.com/rathena/rathena
Problems might encounter during Step 1c,
when it ask for a git.exe, you have to go to that git for windows site, and download that thing
Problems might encounter during Step 1e,
sometimes even though you have already install git2.20.1.exe, but it still couldn't find the git.exe file
to solve it, Right-click -> TortoiseGit -> Settings, you get a warning, Click Ignore, then follow Step 1e
Step 2: Download and Install Microsoft Visual Studio 2017
Step 2a. Download Microsoft Visual Studio
https://visualstudio.microsoft.com/downloads/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2a.png
Step 2b. Downloading ...
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2b.png
Step 2c. Click Install Visual Studio Community 2017
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2c.png
Step 2d. Load Hercules Project
Double click Hercules-15.sln
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2d.png
it says missing Windows 10 SDK 10.0.15063 ...
Step 2e. Install individual component
you can either let Visual Studio do its magic, or ...
manually go to visual studio downloader ... click modify
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e.png
then select the component to install manually
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e2.png
Step 2f. Load rAthena Project
Do the same thing by double clicking rAthena.sln,
but this time rAthena project needs Windows 8.1 SDK and Windows Universal CRT SDK
Both emulator has been compiled
Problems might encounter during Step 2c
if using Windows 7/8, after the download is complete, it install a windows update that might crash all the programs in your operating system
this Parasite MUST be remove !!
To do this, go to Control Panel -> Program and Features
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g.png
Click View Install Update tab
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g1.png
then find KB2882822 and remove this parasite from your computer immediately before restarting your computer
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g2.png
IF you are the unlucky soul and you can't start any .exe file .... there's still a fix
Restart the computer in Safe Mode ...
many answer around the Internet tells you to press F8 when Windows Logo shows up, but this doesn't work for me, I have USB keyboard
so I found another method ... run System Configuration
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h.png
Select the [Boot] tab, then select Safe Mode.
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h2.png
this will make your windows always restart in safe mode until you turn it off
then follow the above process, uninstall that windows update, deselect safe mode, restart computer again, now it should be back to normal
Problems might encounter during Step 2f
During compiling, if you see this in your Visual Studio
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory this means you are missing a component Windows Universal CRT SDK
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2f.png
Step 3: Download and Install MySQL 8.0
Step 3a: Download MySQL 8.0
https://dev.mysql.com/downloads/mysql/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a2.png
actually, you can just click this -> https://dev.mysql.com/downloads/file/?id=480824
I have 64-bit operating system, but this 32-bit installer works fine for me
Step 3b. Install MySQL 8.0
Select Custom
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b1.png
We only need 2 products, MySQL 8.0 and MySQL Workbench
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b2.png
Ready to Install
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b3.png
next... next.. Execute !! next.. next.. next..
Account and Roles, type "1234" as password
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b4.png
click [Check]... next... next.. next... DONE !!
Step 3c. Run MySQL Workbench
Welcome to MySQL Workbench
Double click the icon -> Click Connect
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3c.png
Step 3d. Create a Schema
Right click at the left side of the window
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d.png
and create a Database call Hercules. Remember change charset/collation to utf8
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d2.png
Step 3e. Install SQL Script for Hercules
Set Hercules as default Schema
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e.png
load hercules/sql-files/main.sql file
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e2.png
copy into Query field, then Press Execute button
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e3.png
repeat the same process again for log.sql file
Step 3f. Install SQL Script for rAthena
Set rAthena as default Schema
install rAthena/sql-files/main.sql and the log.sql
Problems might encounter during Step 3e.
If you got a warning message that `ipbanlist` table creation failed, this has been reported -> hercules & rAthena
that's why now we can only use utf8 charset
Step 4: Connect MySQL to Hercules and rAthena
Step 4a. Connect Hercules to MySQL
Copy paste the import-tmpl folder, and rename it into import
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4a.png
then open each individual files and modify each one of them
conf/import/char_server.conf
char_configuration: { // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: "Hercules" // Information related to inter-server behavior inter: { // Server Communication username and password. userid: "qwer" passwd: "asdf" // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: "127.0.0.1" // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: "127.0.0.1" } pincode: { enabled: false } } conf/import/map-server.conf
map_configuration: { // Information related to inter-server behavior inter: { // Interserver communication passwords, set in the login server database userid: "qwer" passwd: "asdf" // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: "127.0.0.1" // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: "127.0.0.1" } } conf/global/sql_connections.conf
sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "1234" db_database: "hercules" //codepage:"" }
Step 4b. Change s1/p1 inter server connection password
since hercules server hates you for using s1/p1, I change it into qwer/asdf then
Here's how to do it ... Open MySQL Workbench, double click your current running MySQL connection
Type "SELECT * FROM `login`;" , edit the field s1/p1, then click [Apply]
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b2.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b3.png
Step 4c. connect rAthena to MySQL
Copy paste the import-tmpl folder, and rename it into import
then open each individual files and modify each one of them
conf/import/char-conf.txt
// Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: rAthena // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 127.0.0.1 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 127.0.0.1 // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no conf/import/inter-conf.txt
// MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: 1234 login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: 1234 ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: 1234 char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: 1234 map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: 1234 log_db_db: rathena log_codepage: log_login_db: loginlog conf/import/login_conf.txt
// The login server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 conf/import/map_conf.txt
// Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 127.0.0.1 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 127.0.0.1
Note: you can do the same for rAthena, change s1/p1 into qwer/asdf. rAthena doesn't *BEEP* when you use s1/p1 though
simply add this line in both conf/import/char-conf.txt and conf/import/map_conf.txt then change it in MySQL Workbench
// Server Communication username and password. userid: s1 passwd: p1
Read Also: What is Import folder, just scroll down to the bottom and read it
Before going into next step, I want to stress enough and make sure you can get your server to connect to MySQL
so try running run-server.bat to connect your hercules --OR-- rathena server to MySQL
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5.png
if you can't do it right, Open a New Topic in General Server Support
problem might encounter during this step
[SQL]: Client does not support authentication protocol requested by server; consider upgrading MySQL client This happens if you have previous version of MySQL installed on your computer, and upgrade into MySQL 8.0
to fix this issue, run MySQL command line Client from start menu
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5a.png
then run these 2 commands seperately
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; FLUSH PRIVILEGES; https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5b.png
5. Download latest KRO Client and client translation files
Step 5a. Download latest KRO from
http://herc.ws/board/topic/15592-collection-official-full-clients-latest-kro/
https://rathena.org/board/topic/106413-kro-full-client-2018-08-13-includes-bgm-rsu/ <-- I pick this
// ========== THIS PART IS CONTROVERSIAL ===== BUT IT WORKS FOR ME ========
Step 5b. Create another 2 folders
let's name it Asheraf and zackdreaver ... the author of making client translation
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5b.png
then download their translation files by git clone them
https://github.com/Asheraf/Translation https://github.com/zackdreaver/ROenglishRE
Step 5c. Download GRF Editor
http://www.mediafire.com/file/aflylbhblrzpz0h/GRF+Editor+v1.8.2.7.zip <-- author forgot to update in that topic, mediafire link is latest one
Step 5d. Compile GRF Editor
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5d.png
double click GRFEditor.sln
Step 5e. Open GRF Editor file
Navigate to the directory \GRF Editor Sources v1.8.2.7\GRF Editor\GRFEditor\bin\Release and open GRF Editor.exe
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5e.png
I also wondering why the author makes the execution files hide so deep inside
Step 5f. Drag the data folder from Asheraf client translation to new.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f.png
then save it as Asheraf.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f2.png
Step 5g. Repeat the process for zackdreaver translation
Close Grf. New -> Grf, Drag the data folder from zackdreaver/Ragnarok/data to new.grf, then save it as zackdreaver.grf
Now you have learn how to pack your own grf. You should have 2 new grf in client folder
Step 5h. open data.ini in your ragnarok client and edit DATA.INI
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5h.png
[Data] 1=Asheraf.grf 2=zackdreaver.grf 3=rdata.grf 4=data.grf
Step 5i. Replace Asheraf/system folder into client/system folder
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5i.png
// ========== CONTROVERSIAL PART ENDS HERE ===== I'm sure many client experts having your doubts why I do like this ========
A lot of problems can appear in this step, these problems also recent and changes with every client
6. Create your own patch client
Step 6a. Download latest nemo
create another folder name nemo
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6a.png
then git clone from this site
https://gitlab.com/4144/Nemo
Step 6b. Find a suitable client patches
http://nemo.herc.ws/downloads/
Since I download KRO 20180813, I chose 2018-06-20eRagexeRe
Step 6c. Open nemo.exe
Click Browse to select your downloaded client patch, then select Load Client
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6c.png
Step 6d. Use Recommend Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d.png
1. forget the "Always call SelectKoreaClientInfo" error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d1.png
2. DATA.INI
3. system/itemInfo_Sak.lub <--- note: the Capital letter of Info_Sak ... nemo doesn't auto-detect capital letters
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d3.png
4. Always Load Korea ExternalSetting lua files
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d4.png
5. Read Data Folder first
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d5.png
6. Apply Selected
Step 6e. Copy 2018-06-20eRagexeRE_patched.exe to the KRO client folder
By this step, you should be able to load your own hexed client without throwing any error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6.5.png
if you having problem in this Step 5 & 6, Open a New Topic in Client Support
FINAL STEP - change PACKEVER
#define PACKETVER 20180620
Hercules -> src\common\mmo.h
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7a.png
rAthena ->
src\config\packets.hpp <--- original directory, don't edit here
src\custom\defines_pre.hpp
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7b.png
Then Compile for a Final time
After thought, there are still some minor annoyance and adjustment
client/data/msgstringtable.txt (unpack it or just put at client/data/ folder)
line 3262 Smooth# line 3458 There was an error when loading the data account settings. (Please restart to retry.)# change them into just a #
Frequently Asked Question:
Change Renewal into Pre-Renewal
Hercules -> src/config/renewal.h
rAthena -> src/config/renewal.hpp
This guide will be feature and pin only for a few months ... while it last .... I guess
-
AnnieRuru got a reaction from utofaery in Q>sql query MD_BOSS
hahaha ~ took me so long to find out,
yes, ONLY baphomet card is missing from my query because there is a non-MVP boss monster can drop MVP card
The Baphomet, MVP is monster BAPHOMET(1039) and there is another boss monster call BAPHOMET_I(1929) that can also drop baphomet card
-
-
AnnieRuru got a reaction from utofaery in H>How to make it report actual sold item count?
prontera,155,185,4 script Mass Junk Seller 1_M_MERCHANT,{ disable_items; getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { if ( getiteminfo( @inventorylist_id[.@i], ITEMINFO_TYPE ) == IT_ETC ) { .@id[.@c] = @inventorylist_id[.@i]; .@amount[.@c] = @inventorylist_amount[.@i]; .@zeny_total += getiteminfo( .@id[.@c], ITEMINFO_SELLPRICE ) * .@amount[.@c] *(100 + .Overcharge[ getskilllv(MC_OVERCHARGE)] )/100; ++.@c; } } if ( !.@c ) { mes "you don't have any items to sell"; close; } mes "Are you sure selling :"; for ( .@i = 0; .@i < .@c; ++.@i ) mes .@amount[.@i] +"x "+ getitemname(.@id[.@i]); mes "for "+ F_InsertComma(.@zeny_total) +" Zeny ?"; next; if ( select( "Yes", "No" ) == 2 ) close; if ( Zeny + .@zeny_total > MAX_ZENY ) { mes "You can't carry that much Zeny."; close; } for ( .@i = 0; .@i < .@c; ++.@i ) delitem .@id[.@i], .@amount[.@i]; mes "All item sold for "+ F_InsertComma(.@zeny_total) +" Zeny"; Zeny += .@zeny_total; close; OnInit: setarray .Overcharge[0], 0, 7,9,11,13,15,17,19,21,23,24; end; }
-
AnnieRuru got a reaction from Fizik in Endless Cellar
https://rathena.org/board/topic/67014-endless-tower-2-the-endless-cellar-a-custom-sequel-to-endless-tower-by-chilly/
https://rathena.org/board/topic/113688-quests-games-endless-cellar/?tab=comments#comment-337839
let's see, there's no one write this for hercules yet
-
AnnieRuru reacted to utofaery in Help Removing duplicates value from array
Nice Case Closed
Annie thanks for showing all this stuff
Guess will go the 3rd options.
since using hercules as main rathena as supportive testing only..
-
AnnieRuru got a reaction from utofaery in Help Removing duplicates value from array
Let me show you 3 different methods
1. loop the value back in another array, almost similar to meko did
prontera,155,185,5 script kjdshfsk 1_F_MARIA,{ getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { .@j = 0; while ( .@j < .@itemtotal && .@itemid[.@j] != @inventorylist_id[.@i] ) ++.@j; if ( .@j == .@itemtotal ) .@itemid[.@itemtotal++] = @inventorylist_id[.@i]; } for ( .@i = 0; .@i < .@itemtotal; ++.@i ) dispbottom getitemname( .@itemid[.@i] ) +" -> "+ countitem( .@itemid[.@i] ) +"x"; end; } most people will show you this method, and this method is usable in almost all programming language
BUT ... in my opinion this method use lots of loops ...
2. store the value in a string, then compare them later
prontera,158,185,5 script dskjfhsdfk 1_F_MARIA,{ getinventorylist; .@compare$ = "#"; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { if ( !compare( .@compare$, "#"+ @inventorylist_id[.@i] +"#" ) ) { .@compare$ += @inventorylist_id[.@i] +"#"; .@itemid[.@itemtotal++] = @inventorylist_id[.@i]; } } for ( .@i = 0; .@i < .@itemtotal; ++.@i ) dispbottom getitemname( .@itemid[.@i] ) +" -> "+ countitem( .@itemid[.@i] ) +"x"; end; } I have used this method in
https://rathena.org/board/topic/91826-special-party-warper/#comment-241434
https://rathena.org/board/topic/91723-please-help-this-script-about-mac_address/?do=findComment&comment=240887
I used this method a lot before Ind upgrade our scripting engine,
but search using strings is quite slow in C language, hercules script language included
and comes the recommended method below
3. abuse hercules script engine, array is store in a pointer.
prontera,161,185,5 script zcxvsfer 1_F_MARIA,{ getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { if ( !.@compare[ @inventorylist_id[.@i] ] ) { .@compare[ @inventorylist_id[.@i] ] = true; .@itemid[.@itemtotal++] = @inventorylist_id[.@i]; } } for ( .@i = 0; .@i < .@itemtotal; ++.@i ) dispbottom getitemname( .@itemid[.@i] ) +" -> "+ countitem( .@itemid[.@i] ) +"x"; end; } ever since Ind upgrade our scripting engine, this is my latest method, and I think this is the fastest way -> compare to all 3 methods
I have used in
getitemname2 function
soul linker spirit
As you can see, I used Method 2 while still on rAthena forum, and switch to Method 3 after switch to Hercules
And for your 2nd question, you can solve it yourself after you learn any of these techniques
-
AnnieRuru reacted to utofaery in Q>sql query MD_BOSS
After Testing script provided.
According to ratemyserver.net
Baphomet (BAPHOMET) Mob-ID#1039
is counted as mvp
but it is not listed any section of all three
Normal Cards
Mini-Boss Cards
or the
MVP Cards
what can I do to make it work??
-
AnnieRuru got a reaction from eitopop in How to setup OFFLINE server for personal development use
Make your (offline) RO server in more than 5 hours - pun intended
Hercules Link
This Guide is intended for
- Windows users
windows sux, but 90% of the community still using windows, so I am targeting the majority of the members here
- You want to contribute something back to the community
if you just want to have fun by yourself, of course it's fine to use that 5 minute instant noodle guide
BUT if you want to contribute to the community, you have to use LATEST server and software available
... which makes this guide outdated very fast
Prelude: Determine your Windows Operating System type
a. Windows Key -> Right Click on My Computer -> Select Properties
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-1.png
b. Determine your Operating System type
I'm using Windows 7 Ultimate 64-bit system
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-2.png
Step 1: Download and Install TortoiseGit
1a. Download TortoiseGit
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1a.png
1b. Installation
next... next... next.. next... next.. next.. Install !!!
1c. Create 2 new folders
1 for Hercules, 1 for rAthena
Right-click -> TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1c.png
1d. Download git 2.20.1
you'll get this warning message
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1d.png
Open Git for Windows Website, Download it
next... next... next.. next... next.. next.. Install !!!
1e. Reposition git.exe
This time go to TortoiseGit -> Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e.png
General tab -> Git.exe path
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e2.png
C:\Program Files\Git\bin
1f. Download Hercules and rAthena
Right Click on the folder, TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1f.png
https://github.com/HerculesWS/Hercules https://github.com/rathena/rathena
Problems might encounter during Step 1c,
when it ask for a git.exe, you have to go to that git for windows site, and download that thing
Problems might encounter during Step 1e,
sometimes even though you have already install git2.20.1.exe, but it still couldn't find the git.exe file
to solve it, Right-click -> TortoiseGit -> Settings, you get a warning, Click Ignore, then follow Step 1e
Step 2: Download and Install Microsoft Visual Studio 2017
Step 2a. Download Microsoft Visual Studio
https://visualstudio.microsoft.com/downloads/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2a.png
Step 2b. Downloading ...
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2b.png
Step 2c. Click Install Visual Studio Community 2017
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2c.png
Step 2d. Load Hercules Project
Double click Hercules-15.sln
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2d.png
it says missing Windows 10 SDK 10.0.15063 ...
Step 2e. Install individual component
you can either let Visual Studio do its magic, or ...
manually go to visual studio downloader ... click modify
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e.png
then select the component to install manually
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e2.png
Step 2f. Load rAthena Project
Do the same thing by double clicking rAthena.sln,
but this time rAthena project needs Windows 8.1 SDK and Windows Universal CRT SDK
Both emulator has been compiled
Problems might encounter during Step 2c
if using Windows 7/8, after the download is complete, it install a windows update that might crash all the programs in your operating system
this Parasite MUST be remove !!
To do this, go to Control Panel -> Program and Features
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g.png
Click View Install Update tab
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g1.png
then find KB2882822 and remove this parasite from your computer immediately before restarting your computer
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g2.png
IF you are the unlucky soul and you can't start any .exe file .... there's still a fix
Restart the computer in Safe Mode ...
many answer around the Internet tells you to press F8 when Windows Logo shows up, but this doesn't work for me, I have USB keyboard
so I found another method ... run System Configuration
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h.png
Select the [Boot] tab, then select Safe Mode.
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h2.png
this will make your windows always restart in safe mode until you turn it off
then follow the above process, uninstall that windows update, deselect safe mode, restart computer again, now it should be back to normal
Problems might encounter during Step 2f
During compiling, if you see this in your Visual Studio
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory this means you are missing a component Windows Universal CRT SDK
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2f.png
Step 3: Download and Install MySQL 8.0
Step 3a: Download MySQL 8.0
https://dev.mysql.com/downloads/mysql/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a2.png
actually, you can just click this -> https://dev.mysql.com/downloads/file/?id=480824
I have 64-bit operating system, but this 32-bit installer works fine for me
Step 3b. Install MySQL 8.0
Select Custom
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b1.png
We only need 2 products, MySQL 8.0 and MySQL Workbench
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b2.png
Ready to Install
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b3.png
next... next.. Execute !! next.. next.. next..
Account and Roles, type "1234" as password
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b4.png
click [Check]... next... next.. next... DONE !!
Step 3c. Run MySQL Workbench
Welcome to MySQL Workbench
Double click the icon -> Click Connect
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3c.png
Step 3d. Create a Schema
Right click at the left side of the window
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d.png
and create a Database call Hercules. Remember change charset/collation to utf8
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d2.png
Step 3e. Install SQL Script for Hercules
Set Hercules as default Schema
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e.png
load hercules/sql-files/main.sql file
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e2.png
copy into Query field, then Press Execute button
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e3.png
repeat the same process again for log.sql file
Step 3f. Install SQL Script for rAthena
Set rAthena as default Schema
install rAthena/sql-files/main.sql and the log.sql
Problems might encounter during Step 3e.
If you got a warning message that `ipbanlist` table creation failed, this has been reported -> hercules & rAthena
that's why now we can only use utf8 charset
Step 4: Connect MySQL to Hercules and rAthena
Step 4a. Connect Hercules to MySQL
Copy paste the import-tmpl folder, and rename it into import
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4a.png
then open each individual files and modify each one of them
conf/import/char_server.conf
char_configuration: { // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: "Hercules" // Information related to inter-server behavior inter: { // Server Communication username and password. userid: "qwer" passwd: "asdf" // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: "127.0.0.1" // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: "127.0.0.1" } pincode: { enabled: false } } conf/import/map-server.conf
map_configuration: { // Information related to inter-server behavior inter: { // Interserver communication passwords, set in the login server database userid: "qwer" passwd: "asdf" // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: "127.0.0.1" // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: "127.0.0.1" } } conf/global/sql_connections.conf
sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "1234" db_database: "hercules" //codepage:"" }
Step 4b. Change s1/p1 inter server connection password
since hercules server hates you for using s1/p1, I change it into qwer/asdf then
Here's how to do it ... Open MySQL Workbench, double click your current running MySQL connection
Type "SELECT * FROM `login`;" , edit the field s1/p1, then click [Apply]
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b2.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b3.png
Step 4c. connect rAthena to MySQL
Copy paste the import-tmpl folder, and rename it into import
then open each individual files and modify each one of them
conf/import/char-conf.txt
// Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: rAthena // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 127.0.0.1 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 127.0.0.1 // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no conf/import/inter-conf.txt
// MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: 1234 login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: 1234 ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: 1234 char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: 1234 map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: 1234 log_db_db: rathena log_codepage: log_login_db: loginlog conf/import/login_conf.txt
// The login server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 conf/import/map_conf.txt
// Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 127.0.0.1 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 127.0.0.1
Note: you can do the same for rAthena, change s1/p1 into qwer/asdf. rAthena doesn't *BEEP* when you use s1/p1 though
simply add this line in both conf/import/char-conf.txt and conf/import/map_conf.txt then change it in MySQL Workbench
// Server Communication username and password. userid: s1 passwd: p1
Read Also: What is Import folder, just scroll down to the bottom and read it
Before going into next step, I want to stress enough and make sure you can get your server to connect to MySQL
so try running run-server.bat to connect your hercules --OR-- rathena server to MySQL
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5.png
if you can't do it right, Open a New Topic in General Server Support
problem might encounter during this step
[SQL]: Client does not support authentication protocol requested by server; consider upgrading MySQL client This happens if you have previous version of MySQL installed on your computer, and upgrade into MySQL 8.0
to fix this issue, run MySQL command line Client from start menu
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5a.png
then run these 2 commands seperately
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; FLUSH PRIVILEGES; https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5b.png
5. Download latest KRO Client and client translation files
Step 5a. Download latest KRO from
http://herc.ws/board/topic/15592-collection-official-full-clients-latest-kro/
https://rathena.org/board/topic/106413-kro-full-client-2018-08-13-includes-bgm-rsu/ <-- I pick this
// ========== THIS PART IS CONTROVERSIAL ===== BUT IT WORKS FOR ME ========
Step 5b. Create another 2 folders
let's name it Asheraf and zackdreaver ... the author of making client translation
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5b.png
then download their translation files by git clone them
https://github.com/Asheraf/Translation https://github.com/zackdreaver/ROenglishRE
Step 5c. Download GRF Editor
http://www.mediafire.com/file/aflylbhblrzpz0h/GRF+Editor+v1.8.2.7.zip <-- author forgot to update in that topic, mediafire link is latest one
Step 5d. Compile GRF Editor
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5d.png
double click GRFEditor.sln
Step 5e. Open GRF Editor file
Navigate to the directory \GRF Editor Sources v1.8.2.7\GRF Editor\GRFEditor\bin\Release and open GRF Editor.exe
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5e.png
I also wondering why the author makes the execution files hide so deep inside
Step 5f. Drag the data folder from Asheraf client translation to new.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f.png
then save it as Asheraf.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f2.png
Step 5g. Repeat the process for zackdreaver translation
Close Grf. New -> Grf, Drag the data folder from zackdreaver/Ragnarok/data to new.grf, then save it as zackdreaver.grf
Now you have learn how to pack your own grf. You should have 2 new grf in client folder
Step 5h. open data.ini in your ragnarok client and edit DATA.INI
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5h.png
[Data] 1=Asheraf.grf 2=zackdreaver.grf 3=rdata.grf 4=data.grf
Step 5i. Replace Asheraf/system folder into client/system folder
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5i.png
// ========== CONTROVERSIAL PART ENDS HERE ===== I'm sure many client experts having your doubts why I do like this ========
A lot of problems can appear in this step, these problems also recent and changes with every client
6. Create your own patch client
Step 6a. Download latest nemo
create another folder name nemo
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6a.png
then git clone from this site
https://gitlab.com/4144/Nemo
Step 6b. Find a suitable client patches
http://nemo.herc.ws/downloads/
Since I download KRO 20180813, I chose 2018-06-20eRagexeRe
Step 6c. Open nemo.exe
Click Browse to select your downloaded client patch, then select Load Client
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6c.png
Step 6d. Use Recommend Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d.png
1. forget the "Always call SelectKoreaClientInfo" error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d1.png
2. DATA.INI
3. system/itemInfo_Sak.lub <--- note: the Capital letter of Info_Sak ... nemo doesn't auto-detect capital letters
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d3.png
4. Always Load Korea ExternalSetting lua files
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d4.png
5. Read Data Folder first
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d5.png
6. Apply Selected
Step 6e. Copy 2018-06-20eRagexeRE_patched.exe to the KRO client folder
By this step, you should be able to load your own hexed client without throwing any error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6.5.png
if you having problem in this Step 5 & 6, Open a New Topic in Client Support
FINAL STEP - change PACKEVER
#define PACKETVER 20180620
Hercules -> src\common\mmo.h
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7a.png
rAthena ->
src\config\packets.hpp <--- original directory, don't edit here
src\custom\defines_pre.hpp
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7b.png
Then Compile for a Final time
After thought, there are still some minor annoyance and adjustment
client/data/msgstringtable.txt (unpack it or just put at client/data/ folder)
line 3262 Smooth# line 3458 There was an error when loading the data account settings. (Please restart to retry.)# change them into just a #
Frequently Asked Question:
Change Renewal into Pre-Renewal
Hercules -> src/config/renewal.h
rAthena -> src/config/renewal.hpp
This guide will be feature and pin only for a few months ... while it last .... I guess
-
AnnieRuru got a reaction from Khen in How to setup OFFLINE server for personal development use
Make your (offline) RO server in more than 5 hours - pun intended
Hercules Link
This Guide is intended for
- Windows users
windows sux, but 90% of the community still using windows, so I am targeting the majority of the members here
- You want to contribute something back to the community
if you just want to have fun by yourself, of course it's fine to use that 5 minute instant noodle guide
BUT if you want to contribute to the community, you have to use LATEST server and software available
... which makes this guide outdated very fast
Prelude: Determine your Windows Operating System type
a. Windows Key -> Right Click on My Computer -> Select Properties
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-1.png
b. Determine your Operating System type
I'm using Windows 7 Ultimate 64-bit system
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-2.png
Step 1: Download and Install TortoiseGit
1a. Download TortoiseGit
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1a.png
1b. Installation
next... next... next.. next... next.. next.. Install !!!
1c. Create 2 new folders
1 for Hercules, 1 for rAthena
Right-click -> TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1c.png
1d. Download git 2.20.1
you'll get this warning message
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1d.png
Open Git for Windows Website, Download it
next... next... next.. next... next.. next.. Install !!!
1e. Reposition git.exe
This time go to TortoiseGit -> Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e.png
General tab -> Git.exe path
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e2.png
C:\Program Files\Git\bin
1f. Download Hercules and rAthena
Right Click on the folder, TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1f.png
https://github.com/HerculesWS/Hercules https://github.com/rathena/rathena
Problems might encounter during Step 1c,
when it ask for a git.exe, you have to go to that git for windows site, and download that thing
Problems might encounter during Step 1e,
sometimes even though you have already install git2.20.1.exe, but it still couldn't find the git.exe file
to solve it, Right-click -> TortoiseGit -> Settings, you get a warning, Click Ignore, then follow Step 1e
Step 2: Download and Install Microsoft Visual Studio 2017
Step 2a. Download Microsoft Visual Studio
https://visualstudio.microsoft.com/downloads/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2a.png
Step 2b. Downloading ...
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2b.png
Step 2c. Click Install Visual Studio Community 2017
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2c.png
Step 2d. Load Hercules Project
Double click Hercules-15.sln
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2d.png
it says missing Windows 10 SDK 10.0.15063 ...
Step 2e. Install individual component
you can either let Visual Studio do its magic, or ...
manually go to visual studio downloader ... click modify
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e.png
then select the component to install manually
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e2.png
Step 2f. Load rAthena Project
Do the same thing by double clicking rAthena.sln,
but this time rAthena project needs Windows 8.1 SDK and Windows Universal CRT SDK
Both emulator has been compiled
Problems might encounter during Step 2c
if using Windows 7/8, after the download is complete, it install a windows update that might crash all the programs in your operating system
this Parasite MUST be remove !!
To do this, go to Control Panel -> Program and Features
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g.png
Click View Install Update tab
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g1.png
then find KB2882822 and remove this parasite from your computer immediately before restarting your computer
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g2.png
IF you are the unlucky soul and you can't start any .exe file .... there's still a fix
Restart the computer in Safe Mode ...
many answer around the Internet tells you to press F8 when Windows Logo shows up, but this doesn't work for me, I have USB keyboard
so I found another method ... run System Configuration
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h.png
Select the [Boot] tab, then select Safe Mode.
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h2.png
this will make your windows always restart in safe mode until you turn it off
then follow the above process, uninstall that windows update, deselect safe mode, restart computer again, now it should be back to normal
Problems might encounter during Step 2f
During compiling, if you see this in your Visual Studio
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory this means you are missing a component Windows Universal CRT SDK
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2f.png
Step 3: Download and Install MySQL 8.0
Step 3a: Download MySQL 8.0
https://dev.mysql.com/downloads/mysql/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a2.png
actually, you can just click this -> https://dev.mysql.com/downloads/file/?id=480824
I have 64-bit operating system, but this 32-bit installer works fine for me
Step 3b. Install MySQL 8.0
Select Custom
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b1.png
We only need 2 products, MySQL 8.0 and MySQL Workbench
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b2.png
Ready to Install
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b3.png
next... next.. Execute !! next.. next.. next..
Account and Roles, type "1234" as password
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b4.png
click [Check]... next... next.. next... DONE !!
Step 3c. Run MySQL Workbench
Welcome to MySQL Workbench
Double click the icon -> Click Connect
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3c.png
Step 3d. Create a Schema
Right click at the left side of the window
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d.png
and create a Database call Hercules. Remember change charset/collation to utf8
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d2.png
Step 3e. Install SQL Script for Hercules
Set Hercules as default Schema
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e.png
load hercules/sql-files/main.sql file
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e2.png
copy into Query field, then Press Execute button
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e3.png
repeat the same process again for log.sql file
Step 3f. Install SQL Script for rAthena
Set rAthena as default Schema
install rAthena/sql-files/main.sql and the log.sql
Problems might encounter during Step 3e.
If you got a warning message that `ipbanlist` table creation failed, this has been reported -> hercules & rAthena
that's why now we can only use utf8 charset
Step 4: Connect MySQL to Hercules and rAthena
Step 4a. Connect Hercules to MySQL
Copy paste the import-tmpl folder, and rename it into import
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4a.png
then open each individual files and modify each one of them
conf/import/char_server.conf
char_configuration: { // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: "Hercules" // Information related to inter-server behavior inter: { // Server Communication username and password. userid: "qwer" passwd: "asdf" // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: "127.0.0.1" // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: "127.0.0.1" } pincode: { enabled: false } } conf/import/map-server.conf
map_configuration: { // Information related to inter-server behavior inter: { // Interserver communication passwords, set in the login server database userid: "qwer" passwd: "asdf" // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: "127.0.0.1" // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: "127.0.0.1" } } conf/global/sql_connections.conf
sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "1234" db_database: "hercules" //codepage:"" }
Step 4b. Change s1/p1 inter server connection password
since hercules server hates you for using s1/p1, I change it into qwer/asdf then
Here's how to do it ... Open MySQL Workbench, double click your current running MySQL connection
Type "SELECT * FROM `login`;" , edit the field s1/p1, then click [Apply]
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b2.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b3.png
Step 4c. connect rAthena to MySQL
Copy paste the import-tmpl folder, and rename it into import
then open each individual files and modify each one of them
conf/import/char-conf.txt
// Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: rAthena // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 127.0.0.1 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 127.0.0.1 // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no conf/import/inter-conf.txt
// MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: 1234 login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: 1234 ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: 1234 char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: 1234 map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: 1234 log_db_db: rathena log_codepage: log_login_db: loginlog conf/import/login_conf.txt
// The login server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 conf/import/map_conf.txt
// Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 127.0.0.1 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 127.0.0.1
Note: you can do the same for rAthena, change s1/p1 into qwer/asdf. rAthena doesn't *BEEP* when you use s1/p1 though
simply add this line in both conf/import/char-conf.txt and conf/import/map_conf.txt then change it in MySQL Workbench
// Server Communication username and password. userid: s1 passwd: p1
Read Also: What is Import folder, just scroll down to the bottom and read it
Before going into next step, I want to stress enough and make sure you can get your server to connect to MySQL
so try running run-server.bat to connect your hercules --OR-- rathena server to MySQL
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5.png
if you can't do it right, Open a New Topic in General Server Support
problem might encounter during this step
[SQL]: Client does not support authentication protocol requested by server; consider upgrading MySQL client This happens if you have previous version of MySQL installed on your computer, and upgrade into MySQL 8.0
to fix this issue, run MySQL command line Client from start menu
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5a.png
then run these 2 commands seperately
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; FLUSH PRIVILEGES; https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5b.png
5. Download latest KRO Client and client translation files
Step 5a. Download latest KRO from
http://herc.ws/board/topic/15592-collection-official-full-clients-latest-kro/
https://rathena.org/board/topic/106413-kro-full-client-2018-08-13-includes-bgm-rsu/ <-- I pick this
// ========== THIS PART IS CONTROVERSIAL ===== BUT IT WORKS FOR ME ========
Step 5b. Create another 2 folders
let's name it Asheraf and zackdreaver ... the author of making client translation
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5b.png
then download their translation files by git clone them
https://github.com/Asheraf/Translation https://github.com/zackdreaver/ROenglishRE
Step 5c. Download GRF Editor
http://www.mediafire.com/file/aflylbhblrzpz0h/GRF+Editor+v1.8.2.7.zip <-- author forgot to update in that topic, mediafire link is latest one
Step 5d. Compile GRF Editor
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5d.png
double click GRFEditor.sln
Step 5e. Open GRF Editor file
Navigate to the directory \GRF Editor Sources v1.8.2.7\GRF Editor\GRFEditor\bin\Release and open GRF Editor.exe
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5e.png
I also wondering why the author makes the execution files hide so deep inside
Step 5f. Drag the data folder from Asheraf client translation to new.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f.png
then save it as Asheraf.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f2.png
Step 5g. Repeat the process for zackdreaver translation
Close Grf. New -> Grf, Drag the data folder from zackdreaver/Ragnarok/data to new.grf, then save it as zackdreaver.grf
Now you have learn how to pack your own grf. You should have 2 new grf in client folder
Step 5h. open data.ini in your ragnarok client and edit DATA.INI
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5h.png
[Data] 1=Asheraf.grf 2=zackdreaver.grf 3=rdata.grf 4=data.grf
Step 5i. Replace Asheraf/system folder into client/system folder
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5i.png
// ========== CONTROVERSIAL PART ENDS HERE ===== I'm sure many client experts having your doubts why I do like this ========
A lot of problems can appear in this step, these problems also recent and changes with every client
6. Create your own patch client
Step 6a. Download latest nemo
create another folder name nemo
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6a.png
then git clone from this site
https://gitlab.com/4144/Nemo
Step 6b. Find a suitable client patches
http://nemo.herc.ws/downloads/
Since I download KRO 20180813, I chose 2018-06-20eRagexeRe
Step 6c. Open nemo.exe
Click Browse to select your downloaded client patch, then select Load Client
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6c.png
Step 6d. Use Recommend Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d.png
1. forget the "Always call SelectKoreaClientInfo" error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d1.png
2. DATA.INI
3. system/itemInfo_Sak.lub <--- note: the Capital letter of Info_Sak ... nemo doesn't auto-detect capital letters
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d3.png
4. Always Load Korea ExternalSetting lua files
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d4.png
5. Read Data Folder first
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d5.png
6. Apply Selected
Step 6e. Copy 2018-06-20eRagexeRE_patched.exe to the KRO client folder
By this step, you should be able to load your own hexed client without throwing any error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6.5.png
if you having problem in this Step 5 & 6, Open a New Topic in Client Support
FINAL STEP - change PACKEVER
#define PACKETVER 20180620
Hercules -> src\common\mmo.h
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7a.png
rAthena ->
src\config\packets.hpp <--- original directory, don't edit here
src\custom\defines_pre.hpp
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7b.png
Then Compile for a Final time
After thought, there are still some minor annoyance and adjustment
client/data/msgstringtable.txt (unpack it or just put at client/data/ folder)
line 3262 Smooth# line 3458 There was an error when loading the data account settings. (Please restart to retry.)# change them into just a #
Frequently Asked Question:
Change Renewal into Pre-Renewal
Hercules -> src/config/renewal.h
rAthena -> src/config/renewal.hpp
This guide will be feature and pin only for a few months ... while it last .... I guess
-
AnnieRuru got a reaction from Vietlubu in How to setup OFFLINE server for personal development use
Make your (offline) RO server in more than 5 hours - pun intended
Hercules Link
This Guide is intended for
- Windows users
windows sux, but 90% of the community still using windows, so I am targeting the majority of the members here
- You want to contribute something back to the community
if you just want to have fun by yourself, of course it's fine to use that 5 minute instant noodle guide
BUT if you want to contribute to the community, you have to use LATEST server and software available
... which makes this guide outdated very fast
Prelude: Determine your Windows Operating System type
a. Windows Key -> Right Click on My Computer -> Select Properties
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-1.png
b. Determine your Operating System type
I'm using Windows 7 Ultimate 64-bit system
https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-2.png
Step 1: Download and Install TortoiseGit
1a. Download TortoiseGit
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1a.png
1b. Installation
next... next... next.. next... next.. next.. Install !!!
1c. Create 2 new folders
1 for Hercules, 1 for rAthena
Right-click -> TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1c.png
1d. Download git 2.20.1
you'll get this warning message
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1d.png
Open Git for Windows Website, Download it
next... next... next.. next... next.. next.. Install !!!
1e. Reposition git.exe
This time go to TortoiseGit -> Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e.png
General tab -> Git.exe path
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e2.png
C:\Program Files\Git\bin
1f. Download Hercules and rAthena
Right Click on the folder, TortoiseGit -> Clone
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1f.png
https://github.com/HerculesWS/Hercules https://github.com/rathena/rathena
Problems might encounter during Step 1c,
when it ask for a git.exe, you have to go to that git for windows site, and download that thing
Problems might encounter during Step 1e,
sometimes even though you have already install git2.20.1.exe, but it still couldn't find the git.exe file
to solve it, Right-click -> TortoiseGit -> Settings, you get a warning, Click Ignore, then follow Step 1e
Step 2: Download and Install Microsoft Visual Studio 2017
Step 2a. Download Microsoft Visual Studio
https://visualstudio.microsoft.com/downloads/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2a.png
Step 2b. Downloading ...
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2b.png
Step 2c. Click Install Visual Studio Community 2017
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2c.png
Step 2d. Load Hercules Project
Double click Hercules-15.sln
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2d.png
it says missing Windows 10 SDK 10.0.15063 ...
Step 2e. Install individual component
you can either let Visual Studio do its magic, or ...
manually go to visual studio downloader ... click modify
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e.png
then select the component to install manually
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e2.png
Step 2f. Load rAthena Project
Do the same thing by double clicking rAthena.sln,
but this time rAthena project needs Windows 8.1 SDK and Windows Universal CRT SDK
Both emulator has been compiled
Problems might encounter during Step 2c
if using Windows 7/8, after the download is complete, it install a windows update that might crash all the programs in your operating system
this Parasite MUST be remove !!
To do this, go to Control Panel -> Program and Features
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g.png
Click View Install Update tab
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g1.png
then find KB2882822 and remove this parasite from your computer immediately before restarting your computer
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g2.png
IF you are the unlucky soul and you can't start any .exe file .... there's still a fix
Restart the computer in Safe Mode ...
many answer around the Internet tells you to press F8 when Windows Logo shows up, but this doesn't work for me, I have USB keyboard
so I found another method ... run System Configuration
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h.png
Select the [Boot] tab, then select Safe Mode.
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h2.png
this will make your windows always restart in safe mode until you turn it off
then follow the above process, uninstall that windows update, deselect safe mode, restart computer again, now it should be back to normal
Problems might encounter during Step 2f
During compiling, if you see this in your Visual Studio
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory this means you are missing a component Windows Universal CRT SDK
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2f.png
Step 3: Download and Install MySQL 8.0
Step 3a: Download MySQL 8.0
https://dev.mysql.com/downloads/mysql/
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a2.png
actually, you can just click this -> https://dev.mysql.com/downloads/file/?id=480824
I have 64-bit operating system, but this 32-bit installer works fine for me
Step 3b. Install MySQL 8.0
Select Custom
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b1.png
We only need 2 products, MySQL 8.0 and MySQL Workbench
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b2.png
Ready to Install
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b3.png
next... next.. Execute !! next.. next.. next..
Account and Roles, type "1234" as password
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b4.png
click [Check]... next... next.. next... DONE !!
Step 3c. Run MySQL Workbench
Welcome to MySQL Workbench
Double click the icon -> Click Connect
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3c.png
Step 3d. Create a Schema
Right click at the left side of the window
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d.png
and create a Database call Hercules. Remember change charset/collation to utf8
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d2.png
Step 3e. Install SQL Script for Hercules
Set Hercules as default Schema
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e.png
load hercules/sql-files/main.sql file
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e2.png
copy into Query field, then Press Execute button
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e3.png
repeat the same process again for log.sql file
Step 3f. Install SQL Script for rAthena
Set rAthena as default Schema
install rAthena/sql-files/main.sql and the log.sql
Problems might encounter during Step 3e.
If you got a warning message that `ipbanlist` table creation failed, this has been reported -> hercules & rAthena
that's why now we can only use utf8 charset
Step 4: Connect MySQL to Hercules and rAthena
Step 4a. Connect Hercules to MySQL
Copy paste the import-tmpl folder, and rename it into import
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4a.png
then open each individual files and modify each one of them
conf/import/char_server.conf
char_configuration: { // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: "Hercules" // Information related to inter-server behavior inter: { // Server Communication username and password. userid: "qwer" passwd: "asdf" // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: "127.0.0.1" // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: "127.0.0.1" } pincode: { enabled: false } } conf/import/map-server.conf
map_configuration: { // Information related to inter-server behavior inter: { // Interserver communication passwords, set in the login server database userid: "qwer" passwd: "asdf" // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: "127.0.0.1" // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: "127.0.0.1" } } conf/global/sql_connections.conf
sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "1234" db_database: "hercules" //codepage:"" }
Step 4b. Change s1/p1 inter server connection password
since hercules server hates you for using s1/p1, I change it into qwer/asdf then
Here's how to do it ... Open MySQL Workbench, double click your current running MySQL connection
Type "SELECT * FROM `login`;" , edit the field s1/p1, then click [Apply]
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b2.png
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b3.png
Step 4c. connect rAthena to MySQL
Copy paste the import-tmpl folder, and rename it into import
then open each individual files and modify each one of them
conf/import/char-conf.txt
// Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: rAthena // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 127.0.0.1 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 127.0.0.1 // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no conf/import/inter-conf.txt
// MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: 1234 login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: 1234 ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: 1234 char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: 1234 map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: 1234 log_db_db: rathena log_codepage: log_login_db: loginlog conf/import/login_conf.txt
// The login server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 conf/import/map_conf.txt
// Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 127.0.0.1 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 127.0.0.1
Note: you can do the same for rAthena, change s1/p1 into qwer/asdf. rAthena doesn't *BEEP* when you use s1/p1 though
simply add this line in both conf/import/char-conf.txt and conf/import/map_conf.txt then change it in MySQL Workbench
// Server Communication username and password. userid: s1 passwd: p1
Read Also: What is Import folder, just scroll down to the bottom and read it
Before going into next step, I want to stress enough and make sure you can get your server to connect to MySQL
so try running run-server.bat to connect your hercules --OR-- rathena server to MySQL
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5.png
if you can't do it right, Open a New Topic in General Server Support
problem might encounter during this step
[SQL]: Client does not support authentication protocol requested by server; consider upgrading MySQL client This happens if you have previous version of MySQL installed on your computer, and upgrade into MySQL 8.0
to fix this issue, run MySQL command line Client from start menu
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5a.png
then run these 2 commands seperately
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; FLUSH PRIVILEGES; https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5b.png
5. Download latest KRO Client and client translation files
Step 5a. Download latest KRO from
http://herc.ws/board/topic/15592-collection-official-full-clients-latest-kro/
https://rathena.org/board/topic/106413-kro-full-client-2018-08-13-includes-bgm-rsu/ <-- I pick this
// ========== THIS PART IS CONTROVERSIAL ===== BUT IT WORKS FOR ME ========
Step 5b. Create another 2 folders
let's name it Asheraf and zackdreaver ... the author of making client translation
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5b.png
then download their translation files by git clone them
https://github.com/Asheraf/Translation https://github.com/zackdreaver/ROenglishRE
Step 5c. Download GRF Editor
http://www.mediafire.com/file/aflylbhblrzpz0h/GRF+Editor+v1.8.2.7.zip <-- author forgot to update in that topic, mediafire link is latest one
Step 5d. Compile GRF Editor
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5d.png
double click GRFEditor.sln
Step 5e. Open GRF Editor file
Navigate to the directory \GRF Editor Sources v1.8.2.7\GRF Editor\GRFEditor\bin\Release and open GRF Editor.exe
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5e.png
I also wondering why the author makes the execution files hide so deep inside
Step 5f. Drag the data folder from Asheraf client translation to new.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f.png
then save it as Asheraf.grf
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f2.png
Step 5g. Repeat the process for zackdreaver translation
Close Grf. New -> Grf, Drag the data folder from zackdreaver/Ragnarok/data to new.grf, then save it as zackdreaver.grf
Now you have learn how to pack your own grf. You should have 2 new grf in client folder
Step 5h. open data.ini in your ragnarok client and edit DATA.INI
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5h.png
[Data] 1=Asheraf.grf 2=zackdreaver.grf 3=rdata.grf 4=data.grf
Step 5i. Replace Asheraf/system folder into client/system folder
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5i.png
// ========== CONTROVERSIAL PART ENDS HERE ===== I'm sure many client experts having your doubts why I do like this ========
A lot of problems can appear in this step, these problems also recent and changes with every client
6. Create your own patch client
Step 6a. Download latest nemo
create another folder name nemo
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6a.png
then git clone from this site
https://gitlab.com/4144/Nemo
Step 6b. Find a suitable client patches
http://nemo.herc.ws/downloads/
Since I download KRO 20180813, I chose 2018-06-20eRagexeRe
Step 6c. Open nemo.exe
Click Browse to select your downloaded client patch, then select Load Client
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6c.png
Step 6d. Use Recommend Settings
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d.png
1. forget the "Always call SelectKoreaClientInfo" error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d1.png
2. DATA.INI
3. system/itemInfo_Sak.lub <--- note: the Capital letter of Info_Sak ... nemo doesn't auto-detect capital letters
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d3.png
4. Always Load Korea ExternalSetting lua files
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d4.png
5. Read Data Folder first
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d5.png
6. Apply Selected
Step 6e. Copy 2018-06-20eRagexeRE_patched.exe to the KRO client folder
By this step, you should be able to load your own hexed client without throwing any error
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6.5.png
if you having problem in this Step 5 & 6, Open a New Topic in Client Support
FINAL STEP - change PACKEVER
#define PACKETVER 20180620
Hercules -> src\common\mmo.h
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7a.png
rAthena ->
src\config\packets.hpp <--- original directory, don't edit here
src\custom\defines_pre.hpp
https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7b.png
Then Compile for a Final time
After thought, there are still some minor annoyance and adjustment
client/data/msgstringtable.txt (unpack it or just put at client/data/ folder)
line 3262 Smooth# line 3458 There was an error when loading the data account settings. (Please restart to retry.)# change them into just a #
Frequently Asked Question:
Change Renewal into Pre-Renewal
Hercules -> src/config/renewal.h
rAthena -> src/config/renewal.hpp
This guide will be feature and pin only for a few months ... while it last .... I guess