Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    245

Reputation Activity

  1. Like
    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
  2. Upvote
    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
  3. Upvote
    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
  4. Upvote
    AnnieRuru got a reaction from CarlosHenrq in SQL Query to show a Player Rank Position   
    the answer is exactly on the no.6 of the pinned topic
    @raksone
    dispbottom "============== My Rank ==============", 0xffe066; query_sql "SELECT `points`, 1+(SELECT COUNT(1) FROM `mvp_ranking` t1 WHERE t1.`points` > t2.`points`) FROM `mvp_ranking` t2 WHERE `char_id` = "+ getcharid(0), .@points, .@rank; dispbottom "My MVP Points "+ .@points + ".", 0x6666ff; dispbottom "My Rank is: " + .@rank + ".", 0x6666ff; dispbottom "==========================================", 0xffe066; end;  
  5. Upvote
    AnnieRuru reacted to midaswhisper in Re: AnnieRuru's Battleground   
    I'm using annieruru's battleground script http://upaste.me/ab3022385d0127b7f and everytime I click the NPC this appears.
    How to fix? Thank you very much.

  6. Upvote
    AnnieRuru got a reaction from VictorLarcher in How to apply a diff file   
    getting tired of people keep sending me personal message -> how do I apply your koe patch
    after about 6 PMs or so I getting really fed up,
    only then I realize there is no guide to properly teach members how to apply a diff file, so here I make one for you guys
    First step
    A lot of people download hercules in .zip format. This is WRONG.

    instead, follow the proper guide and use tortoisegit (if you are using windows) to download your server
    This is the proper guide on how to install hercules

     
    Question: but I am using rathena, not hercules
    Answer: just change the link into rathena ones
    https://github.com/rathena/rathena/wiki/Install-on-Windows
     
     
    Second step
    after you get your proper server, the first thing you have to do is get rid of your current one
    this is the painful process, because you did not follow the guide
    but on the up side, you can always update your server every week just by Git pull
    which already mentioned in that installation topic guide
    Question: but every time I Git pull, it always ask to resolve conflicts
    Answer: that's the reason hercules community stop providing patch file and transition towards plugin system
    you should always keep your server up to date with the latest revision as we always add new features and bug fix
    nobody on the board like to give support on old emulator
    Question: but rathena doesn't have plugin system
    Answer: yes rathena doesn't support right now, but will be soon in the near future. rathena already slowly transition towards C++ format
     
     
    Third Step
    now you have a .diff file, download the file somewhere, right click on it

    then point the link towards your hercules installation folder
    Apply Patch Serial... Review/apply single patch... if either option doesn't work, try the other
     
     
    Disclaimer:
    I am windows user, so I never use Linux or Centos whatever,
    so this guide is purely meant for those keep bombard my PM box over and over
  7. Upvote
    AnnieRuru got a reaction from fourxhackd in Charms   
    Download: 1.6
    plugin
     
     
    tested with
    { Id: 909 AegisName: "Jellopy" Name: "Jellopy" Buy: 6 Weight: 10 BuyingStore: true Charm: true // Charm_Stack: true Script: <" bonus bStr, 10000; "> OnEquipScript: <" sc_start4 SC_ENDURE,60000,10,0,0,1; hateffect HAT_EF_BOTTOM_BLOODYLUST, true; "> OnUnequipScript: <" sc_end SC_ENDURE; hateffect HAT_EF_BOTTOM_BLOODYLUST, false; "> // OnRentalStartScript: <" dispbottom "rent start"; "> // OnRentalEndScript: <" dispbottom "rent end"; "> }, just having Jellopy inside inventory will get bonus
    Remember: it has to use IT_ETC type item, which has been default to type 3 if you didn't specify
    and also "Charm: true" flag
    if added the "Charm_Stack: true" flag, the charms will stack
    - if the flag is false (default), having 10 same charms will give bonus 10 times, because they are separate items
    - if the flag is true, having 10 same charms will only give bonus once, because they are stack together
     
    version 1.3 onwards, added nocharms mapflag
    http://herc.ws/board/topic/15219-modification-to-noitem-plugin/
    to disable charms bonuses given in certain maps
    prontera mapflag nocharms disable all charms from taking effect on the map
    prontera mapflag nocharms 909 prontera mapflag nocharms Jellopy disable only this 'Jellopy' charm from giving bonus
     
    version 1.5 onwards, added OnEquipScript and OnUnequipScript support
    now you can gives permanent SC_ENDURE bonus like eddga card like effect
    or gives hateffect bonus like the example shown
     
     
    credit to digitalhamster
    in case you guys forgotten, I fixed digitalhamster's patch on eathena forum 4 years ago
    and the one in rathena also credited my name
    and if you like this plugin, remember to also repup Dastgir's post in this topic
    because I copy paste most of his stuffs
     
  8. Upvote
    AnnieRuru got a reaction from fourxhackd in [2015-12-31] FAKE_NPC and the NPC View ID -1   
    @@Oxxy
    use this tool to convert what Haru just said XD
    http://www.asciitohex.com/
     
     
    EDIT: the reason why we can't fix some bugs is because we have a very crappy and messy coding format in the source code
    when we directly fix the bugs, most of the time, is just a temporary measurement
     
    to permanently get rid of the bugs, the 1st step is of course make the source code have higher readability
     
    only a good structure code and a readable coding style that understood by many users, can help make our emulator less bug
  9. Upvote
    AnnieRuru got a reaction from skuray in Vendor Control (rewrite)   
    me start to love rewrite Emistry's script .... hehehe
    sure he don't mind
     
    Download: 2.1
    script & plugin
    plugin is meant for players can vend on top of npc
     
    look for the original topic here for description
    https://rathena.org/board/topic/84828-utility-vendor-control/
    ... but download the script here .. hahaha
     
     
  10. Upvote
    AnnieRuru got a reaction from aszrool in OnNPCKillEvent changes   
    https://github.com/HerculesWS/Hercules/pull/2061
    before understanding this pull request, let's talk about the history of OnNPCKillEvent
    History
    during the time OnNPCKillEvent implement, monster only spawn on the fields and dungeon, in this syntax
    ** Create a permanent monster spawn: <map name>,<x>,<y>,<xs>,<ys>%TAB%monster%TAB%<monster name>%TAB%<mob id>,<amount>,<delay1>,<delay2> and the monsters that spawned with event labels were only use in job changer quests
    *monster("<map name>", <x>, <y>, "<name to show>", <mob id>, <amount>{, "<event label>";} Note: if you noticed some parameter missing, yup those were added later.
    Notice the permanent monster spawn during that time still doesn't support event labels
    So, in order to trigger the permanent monster spawn, OnNPCKillEvent was the only way (during that time)
    this was to separate the trigger between OnNPCKillEvent and monster with event labels
    Why separate them ?
    there's a good reason to separate them, aleos also said in this issue
    in fact, this bug was also brought up several times during eathena ...
    Let's give 2 examples:
    Example 1: Bot-killer script
    Bot-killer script is intended to kill bots, and bots usually only appear on fields/dungeon
    which makes OnNPCKillEvent: label an ideal solution to work on them
    currently, Bot-Killer script doesn't trigger with job changer script or event script
    because the job changer npc, the monster was spawned with event labels
    example like priest job change quest -> you have to kill all the undeads within 5 minutes
    imagine ... IF the Bot-Killer script was able to trigger monster with event labels,
    while the players was rushing against time, suddenly a bot-killer script pops up !!
    this is enough to make them fail the test ...
    same thing goes to other event scripts such as devil square
    when players were busy killing monsters, trying to get the most kills, suddenly a bot-killer script pops up !!
    enough to make them lose the 1st place
    Example 2: MVP ranking script + MVP Ladder game
    MVP ranking script ... show the top 10 MVP hunters in your server
    MVP ladder game ... a game to form a party then kill MVPs inside arena
    currently, the MVP ranking script doesn't record the MVP kills from MVP ladder game
    the reason is ... the MVP ladder game spawn the MVPs with event labels ...
    imagine IF the OnNPCKillEvent label able to trigger monster with event label
    players just has to replay the MVP ladder game again and again to earn themselves the best MVP hunter ...
    each game adds 39 kills, so cheap !! Don't need to find MVPs on the field anymore
    now that's defeat the purpose of MVP hunting .... I mean the MVP ranking script
    So why propose the change now ?
    Things has changed since then, especially with the introduction of instance script
    since all instance monster has event labels, previously said that monster only spawn on the fields and dungeon no longer apply
    Take a look back at Example 2 ... the MVP ranking script
    currently the MVP ranking only record the MVP kills that spawn MVP tombs
    but it doesn't record the kills from instance ... for example Nacht Sieger or Nidhoggur's Shadow or even Lighthalzen MVP
    Now here's the tricky part ...
    Example 1: Bot-Killer
    If we keep it as it is, the script works fine
    and if let OnNPCKillEvent run event labels, bot-killer can trigger inside job change npc (BUG)
    Example 2: MVP ranking script + MVP Ladder game
    If we keep it as it is, the MVP ranking script doesn't record the MVP kills from instance script (BUG)
    and if allow OnNPCKillEvent run event labels, MVP ranker script record the kills from MVP ladder game (BUG)
    both options are not a perfect solution
    but there is a way to actually solve all these problem,
    find this line
    OnNPCKillEvent: replace with ...
    OnNPCKillEvent: if ( getmapflag( strcharinfo(PC_MAP), mf_nosave ) ) end; let ALL OnNPCKillEvent: doesn't trigger on the map that has nosave mapflag
    simple because, all job changer npc and event maps has nosave mapflag ... this is easy
    this simple solution actually solve both example's problem above
    .... well actually I also has another patch ready ...
    but not sure if this setting make things more complicated ?
    well ... currently still in the discussion stage ~
  11. Upvote
    AnnieRuru got a reaction from Heroic in OnNPCKillEvent changes   
    now I am agreeing with you
    I already started making the mobevent script command ...
    but I found our/hercules setunitdata are mostly broken so I have to fix that one 1st ...
    that took me a lot of time since I have to test them case by case basis
  12. Upvote
    AnnieRuru got a reaction from Heroic in OnNPCKillEvent changes   
    https://github.com/HerculesWS/Hercules/pull/2061
    before understanding this pull request, let's talk about the history of OnNPCKillEvent
    History
    during the time OnNPCKillEvent implement, monster only spawn on the fields and dungeon, in this syntax
    ** Create a permanent monster spawn: <map name>,<x>,<y>,<xs>,<ys>%TAB%monster%TAB%<monster name>%TAB%<mob id>,<amount>,<delay1>,<delay2> and the monsters that spawned with event labels were only use in job changer quests
    *monster("<map name>", <x>, <y>, "<name to show>", <mob id>, <amount>{, "<event label>";} Note: if you noticed some parameter missing, yup those were added later.
    Notice the permanent monster spawn during that time still doesn't support event labels
    So, in order to trigger the permanent monster spawn, OnNPCKillEvent was the only way (during that time)
    this was to separate the trigger between OnNPCKillEvent and monster with event labels
    Why separate them ?
    there's a good reason to separate them, aleos also said in this issue
    in fact, this bug was also brought up several times during eathena ...
    Let's give 2 examples:
    Example 1: Bot-killer script
    Bot-killer script is intended to kill bots, and bots usually only appear on fields/dungeon
    which makes OnNPCKillEvent: label an ideal solution to work on them
    currently, Bot-Killer script doesn't trigger with job changer script or event script
    because the job changer npc, the monster was spawned with event labels
    example like priest job change quest -> you have to kill all the undeads within 5 minutes
    imagine ... IF the Bot-Killer script was able to trigger monster with event labels,
    while the players was rushing against time, suddenly a bot-killer script pops up !!
    this is enough to make them fail the test ...
    same thing goes to other event scripts such as devil square
    when players were busy killing monsters, trying to get the most kills, suddenly a bot-killer script pops up !!
    enough to make them lose the 1st place
    Example 2: MVP ranking script + MVP Ladder game
    MVP ranking script ... show the top 10 MVP hunters in your server
    MVP ladder game ... a game to form a party then kill MVPs inside arena
    currently, the MVP ranking script doesn't record the MVP kills from MVP ladder game
    the reason is ... the MVP ladder game spawn the MVPs with event labels ...
    imagine IF the OnNPCKillEvent label able to trigger monster with event label
    players just has to replay the MVP ladder game again and again to earn themselves the best MVP hunter ...
    each game adds 39 kills, so cheap !! Don't need to find MVPs on the field anymore
    now that's defeat the purpose of MVP hunting .... I mean the MVP ranking script
    So why propose the change now ?
    Things has changed since then, especially with the introduction of instance script
    since all instance monster has event labels, previously said that monster only spawn on the fields and dungeon no longer apply
    Take a look back at Example 2 ... the MVP ranking script
    currently the MVP ranking only record the MVP kills that spawn MVP tombs
    but it doesn't record the kills from instance ... for example Nacht Sieger or Nidhoggur's Shadow or even Lighthalzen MVP
    Now here's the tricky part ...
    Example 1: Bot-Killer
    If we keep it as it is, the script works fine
    and if let OnNPCKillEvent run event labels, bot-killer can trigger inside job change npc (BUG)
    Example 2: MVP ranking script + MVP Ladder game
    If we keep it as it is, the MVP ranking script doesn't record the MVP kills from instance script (BUG)
    and if allow OnNPCKillEvent run event labels, MVP ranker script record the kills from MVP ladder game (BUG)
    both options are not a perfect solution
    but there is a way to actually solve all these problem,
    find this line
    OnNPCKillEvent: replace with ...
    OnNPCKillEvent: if ( getmapflag( strcharinfo(PC_MAP), mf_nosave ) ) end; let ALL OnNPCKillEvent: doesn't trigger on the map that has nosave mapflag
    simple because, all job changer npc and event maps has nosave mapflag ... this is easy
    this simple solution actually solve both example's problem above
    .... well actually I also has another patch ready ...
    but not sure if this setting make things more complicated ?
    well ... currently still in the discussion stage ~
  13. Upvote
    AnnieRuru got a reaction from Hytech in mvp reward   
    - script kjdsfksjdf FAKE_NPC,{OnNPCKillEvent: if ( getmonsterinfo( killedrid, MOB_MVPEXP ) && rand(100) < 10 ) getitem Poring_Coin, 1; // change this to gympass ... I don't have in my item_db end;}
  14. Upvote
    AnnieRuru got a reaction from Tsuuu in Deprecated Features   
    Related commit : https://github.com/HerculesWS/Hercules/pull/842
    if you have event scripts that uses *pcblockmove, its time to convert into *setpcblock
     
    Example : (old)
    pcblockmove(getcharid(CHAR_ID_ACCOUNT), true); now should be
    setpcblock(PCBLOCK_MOVE, true);  
    the new one is more flexible and can limit other actions too
  15. Upvote
    AnnieRuru got a reaction from wOni in Advance SQL commands   
    As usual, I only write advance guides
    This guide is a compilation of SQL commands that I have used, or Questions answered on the forum
    every single subject here are related to Hercules/Ragnarok Online in some ways, so you won't feel bored reading them XD
    Table of Content
    1. When to use *escape_sql script command
    2. How to build a case-sensitive table
    3. Choose a table type, MyISAM or InnoDB ?
    3a. How to index a table properly
    3b. Why you shouldn't use `char_reg_num_db` table
    4. AUTO_INCREMENT
    5. How to do IF-ELSE in SQL query ?
    5a. How to update multiple rows on different conditions in a single query
    6. How to show the current rank of the player
    7. INSERT INTO ... SELECT ...
    8. Table JOIN vs AS
    9. What is the maximum string limit for *query_sql
    9a. UNION
    This topic is now open to Suggestions, Ideas, Improvements, and Questions ~
    I'm sure many of you have some questions since the creation of this topic
    You may also post up your tricks if you want to share with us
  16. Upvote
    AnnieRuru got a reaction from Quazi in Breaking the emp announcer   
    http://herc.ws/board/topic/4745-emperium-breaker-ladder/
    check the diff
    change into announce strcharinfo(0)+" has break blah blah"
     
    EDIT:
    last hit basis is configure by conf\map\battle\monster.conf
    // Defines on who the mob npc_event gets executed when a mob is killed. // Type 1: On the player that killed the mob (if killed by a non-player, resorts to type 0) // Type 0: On the player that did the most damage to the mob. // NOTE: This affects who gains the Castle when the Emperium is broken. mob_npc_event_type: 1
     
  17. Upvote
    AnnieRuru got a reaction from Begin in how to disable @go,@warp   
    well, using rathena so ...
     
    you don't have to do source modification too
    bindatcmd can overwrite the original atcommand, useful for this operation
    - script kdjhfksjfhs -1,{OnInit: bindatcmd "go", strnpcinfo(0)+"::Onaaa"; bindatcmd "rura", strnpcinfo(0)+"::Onaaa"; bindatcmd "warp", strnpcinfo(0)+"::Onaaa"; bindatcmd "mapmove", strnpcinfo(0)+"::Onaaa"; end;Onaaa: if ( !Hp ) { message strcharinfo(0), "You can't use "+ .@atcmd_command$ +" when you are dead"; end; } atcommand .@atcmd_command$ +" "+ implode( .@atcmd_parameters$, " " ); end;}
  18. Upvote
    AnnieRuru got a reaction from LordJasz in Mission board 'only once' doesn't work.   
    2.4b http://upaste.me/0c8149627b3ddc0c6
    - fix a typo in mission limitation can do daily or only once, actually allows to do twice instead of once
    - fix a typo in mission time limit, if your mission no.2/3/4 has expired, the script always says slot no.1
    @Helena
    2.4c http://upaste.me/7c9c496344829d36f
    - fix this f*cking deny usage once again ...this time when submit a mission, the getarraysize calculation is made AFTER declare the datetime format
    - if the whole board is set to EVERYDAY, remove the player side deny usage variable completely on the next day
  19. Upvote
    AnnieRuru got a reaction from bWolfie in How to apply a diff file   
    getting tired of people keep sending me personal message -> how do I apply your koe patch
    after about 6 PMs or so I getting really fed up,
    only then I realize there is no guide to properly teach members how to apply a diff file, so here I make one for you guys
    First step
    A lot of people download hercules in .zip format. This is WRONG.

    instead, follow the proper guide and use tortoisegit (if you are using windows) to download your server
    This is the proper guide on how to install hercules

     
    Question: but I am using rathena, not hercules
    Answer: just change the link into rathena ones
    https://github.com/rathena/rathena/wiki/Install-on-Windows
     
     
    Second step
    after you get your proper server, the first thing you have to do is get rid of your current one
    this is the painful process, because you did not follow the guide
    but on the up side, you can always update your server every week just by Git pull
    which already mentioned in that installation topic guide
    Question: but every time I Git pull, it always ask to resolve conflicts
    Answer: that's the reason hercules community stop providing patch file and transition towards plugin system
    you should always keep your server up to date with the latest revision as we always add new features and bug fix
    nobody on the board like to give support on old emulator
    Question: but rathena doesn't have plugin system
    Answer: yes rathena doesn't support right now, but will be soon in the near future. rathena already slowly transition towards C++ format
     
     
    Third Step
    now you have a .diff file, download the file somewhere, right click on it

    then point the link towards your hercules installation folder
    Apply Patch Serial... Review/apply single patch... if either option doesn't work, try the other
     
     
    Disclaimer:
    I am windows user, so I never use Linux or Centos whatever,
    so this guide is purely meant for those keep bombard my PM box over and over
  20. Upvote
    AnnieRuru got a reaction from Begin in noitem plugin   
    1.4
    plugin
    -- fix a rare bug if the user put multiple noitem on the same map, it spam non-sensible error
    ---- although this will overwrite the previous one without warning this time
  21. Upvote
    AnnieRuru got a reaction from Begin in noitem plugin   
    Download: 1.9
    plugin
     
    tested with
    prontera mapflag noitem 0,4,5 prontera mapflag noitem IT_HEALING, IT_WEAPON, IT_ARMOR disable player from using healing items, and preventing equip weapon and armor.
    .
    prontera mapflag noitem Poring_Card prontera mapflag noitem 4001 disable player from using Poring Card
     
     
    Credit to original author -> https://rathena.org/board/topic/59578-mapflags-noitem-and-noskill2/
    Wynn_
     
  22. Upvote
    AnnieRuru reacted to ThyroDree in @pk command by Dastgir   
    Yes, I am making a high rate server same as si @Begin said, a PK Enabled Server that can be disabled via command by a player who doesn't want to be killed.
    Is this possible in hercules to have?
  23. Upvote
    AnnieRuru reacted to Begin in @pk command by Dastgir   
    Hello Ms. Annie,
    I am using @pk commands for years since rAthena. It is being used in a High Rate server which is a PK Enabled on all maps because players want a different view of PK Place other than PvP Room. Sometimes, @pk is being used when a player wants to only farm and doesn't want to be killed. Sometimes, being used by newbies or if you have a Gold Room, they're also using it to avoid being killed.
  24. Upvote
    AnnieRuru got a reaction from Begin in A battleground idea :D   
    https://rathena.org/board/topic/115744-a-battleground-idea-d/
    since you mark it as solve, then I assume you don't want to make any changes anymore
    http://upaste.me/60d349911d51d3996
    and move on to other project
  25. Upvote
    AnnieRuru got a reaction from Vex in How to apply a diff file   
    getting tired of people keep sending me personal message -> how do I apply your koe patch
    after about 6 PMs or so I getting really fed up,
    only then I realize there is no guide to properly teach members how to apply a diff file, so here I make one for you guys
    First step
    A lot of people download hercules in .zip format. This is WRONG.

    instead, follow the proper guide and use tortoisegit (if you are using windows) to download your server
    This is the proper guide on how to install hercules

     
    Question: but I am using rathena, not hercules
    Answer: just change the link into rathena ones
    https://github.com/rathena/rathena/wiki/Install-on-Windows
     
     
    Second step
    after you get your proper server, the first thing you have to do is get rid of your current one
    this is the painful process, because you did not follow the guide
    but on the up side, you can always update your server every week just by Git pull
    which already mentioned in that installation topic guide
    Question: but every time I Git pull, it always ask to resolve conflicts
    Answer: that's the reason hercules community stop providing patch file and transition towards plugin system
    you should always keep your server up to date with the latest revision as we always add new features and bug fix
    nobody on the board like to give support on old emulator
    Question: but rathena doesn't have plugin system
    Answer: yes rathena doesn't support right now, but will be soon in the near future. rathena already slowly transition towards C++ format
     
     
    Third Step
    now you have a .diff file, download the file somewhere, right click on it

    then point the link towards your hercules installation folder
    Apply Patch Serial... Review/apply single patch... if either option doesn't work, try the other
     
     
    Disclaimer:
    I am windows user, so I never use Linux or Centos whatever,
    so this guide is purely meant for those keep bombard my PM box over and over
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.