Jump to content
  • 0
AvalonBright

Haven't run a server in four years, where do I start?!

Question

Like the title says! I used to run an eAthena server from 2004-2010, but for various reasons we went on hiatus. With how much has been added to RO in the last four years though I'm getting the itch to get a server going again, which led me to Hercules vs rAthena. From what I can see Hercules seems to be the way to go, but with SO many changes since I last ran a server I'm feeling pretty overwhelmed! Renewal wasn't even a thing when I last ran a server, nor was Github, and third jobs weren't even fully implemented. So you can see I'm pretty behind the times. I'm hoping I can get some help here, and I'd super appreciate if anyone could answer my questions!

 

1. How do I get started! I'm probably going to pay for a cheap host (I run a roleplaying server, so I just need room for 20-30 people, most likely!), but I don't know how to get started in this new world of Github, etc. Can someone direct me to any potential setup instructions that would work with a remote host's setup? I know rathena had the Judas Bible but I don't know if there's anything like that now, plus I'm pretty sure even that's outdated anyway.

 

2. What happened to the databases, etc? Just skimming through github I couldn't find the itemdb, the mobdb, the skilldb, etc. Where did they go?

 

3. Just how updated IS Hercules, entirely? I did some looking through the update threads but when I looked at github I couldn't seem to find any updates. I basically couldn't seem to find anything that suggested 13.2 and onward was actually implemented besides Jobs, but I'm sure that can't be the case! This may just be my cluelessness at the new server file structure though @ being unable to find dbs as well, so I may just be looking in the wrong places. But for example I saw nothing related to warps/npcs for Brasilis in the npc folders, or Dewata or Malaya, and so on and so forth.

 

Really this all boils down to question 1 I guess. I don't know how to get started even remotely, be it from server software to what I want to do on the client side of things either. Any very clear directions would be great!

Share this post


Link to post
Share on other sites

27 answers to this question

Recommended Posts

  • 0

http://herc.ws/board/topic/152-obtaining-hercules/

http://herc.ws/wiki/Getting_Started

http://herc.ws/board/topic/164-requested-links/

The databases are still located inside 'db' but there are two sub-folders pre-re and re, the first is only activated when you are running an 'old times' server and the latter is active by default.

Hercules is quite up to date, but it's not a priority, if you want to be up to date you should use rAthena instead, but Hercules uses less resources to run.

Share this post


Link to post
Share on other sites
  • 0

Thanks very much! Is there any information on a Windows install, though? I plan on checking it out and making sure I can get it running before I end up paying for a linux-based host.

Edited by AvalonBright

Share this post


Link to post
Share on other sites
  • 0

 

//============================================================

//= Hercules Readme File

//===== By: ==================================================

//= Hercules Dev Team

//===== Description: =========================================

//= Basic information and installation guide with links to

//= various forum posts and Wiki articles.

//============================================================

 

============================

|| Table of Contents ||

============================

|| 1. What is Hercules? ||

|| 2. Prerequisites ||

|| 3. Installation ||

|| 4. Troubleshooting ||

|| 5. Helpful Links ||

|| 6. More Documentation ||

============================

 

 

============================

|| 1. What is Hercules? ||

============================

Hercules is a collaborative software development project revolving around the

creation of a robust massively multiplayer online role playing game (MMORPG)

server package. Written in C, the program is very versatile and provides NPCs,

warps and modifications. The project is jointly managed by a group of volunteers

located around the world as well as a tremendous community providing QA and

support. Hercules is a continuation of the original Athena project.

 

 

 

============================

|| 2. Prerequisites ||

============================

Before installing Hercules there are certain tools and applications you will need.

This differs between the varying operating systems available, so the following

is broken down into Windows and Linux prerequisites.

 

Windows

* TortoiseGIT (http://code.google.com/p/tortoisegit/)

* MSysGit (http://code.google.com/p/msysgit/downloads/list?can=2)

* MySQL (http://www.mysql.com/downloads/mysql/)

* MySQL Workbench (http://www.mysql.com/downloads/workbench/)

* MS Visual C++ (http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express)

 

Linux (names of packages may require specific version numbers on certain distributions)

* gcc

* make

* mysql

* mysql-devel

* mysql-server

* pcre-devel

* git

* zlib-devel

 

 

 

============================

|| 3. Installation ||

============================

This section is a very brief set of installation instructions. For more concise guides

relevant to your Operation System, please refer to the Wiki (links at the end of this file).

 

Windows

* Install prerequisites

* Create a folder to download Hercules into (e.g. C:Hercules)

* Right click this folder and select "Git Clone".

* Paste the GIT URL into the box: https://github.com/HerculesWS/Hercules.git

* Open MySQL Workbench and create an instance to connect to your MySQL Server

* Create a database (hercules), a user (hercules), give permissions (GRANT SELECT,INSERT,UPDATE,DELETE)

and then login using the new user

* Use MySQL Workbench to run the .sql files in /sql-files/ on the new Hercules database

 

Linux

(For CentOS) Step 1: yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel

Step 2: rpm -Uvhhttp://repo.webtatic.com/yum/centos/5/latest.rpm

Step 3: yum install --enablerepo=webtatic git-all

Step 4: yum install --enablerepo=webtatic --disableexcludes=main git-all

(For Debian) Type: apt-get install git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev

* Type: mysql_secure_installation

* Start your MySQL server

* Setup a MySQL user: CREATE USER 'hercules'@'localhost' IDENTIFIED BY 'password';

* Assign permissions: GRANT SELECT,INSERT,UPDATE,DELETE ON `hercules_rag`.* TO 'hercules'@'localhost';

* Type: git clone https://github.com/HerculesWS/Hercules.git ~/Hercules

* Insert SQL files: mysql --user=root -p hercules_rag < trunk/sql-files/main.sql (and others)

* Type: cd trunk && ./configure && make clean && make sql

* When you're ready, type: ./athena-start start

 

 

 

============================

|| 4. Troubleshooting ||

============================

If you're having problems with starting your server, the first thing you should

do is check what's happening on your consoles. More often that not, all support issues

can be solved simply by looking at the error messages given.

 

Examples:

 

1.) You get an error on your map-server_sql that looks something like this:

[Error]: npc_parsesrcfile: Unable to parse, probably a missing or extra TAB in

file 'npc/custom/jobmaster.txt', line '17'. Skipping line...

* w1=prontera,153,193,6 script

* w2=Job Master

* w3=123,{

* w4=

 

If you look at the error, it's telling you that you're missing (or have an extra) TAB.

This is easily fixed by looking at this part of the error: * w1=prontera,153,193,6 script

If there was a TAB where it's supposed to be, that line would have prontera,153,193,6 at w1

and 'script' at w2. As there's a space instead of a TAB, the two sections are read as a

single parameter.

 

2.) You have a default user/password warning similar to the following:

[Warning]: Using the default user/password s1/p1 is NOT RECOMMENDED.

[Notice]: Please edit your 'login' table to create a proper inter-server user/pa

ssword (gender 'S')

[Notice]: and then edit your user/password in conf/map-server.conf (or conf/impo

rt/map_conf.txt)

 

Relax. This is just indicating that you're using the default username and password. To

fix this, check over the part in the installation instructions relevant to the `login` table.

 

3.) Your Map Server says the following:

[Error]: make_connection: connect failed (socket #2, error 10061: No connection

could be made because the target machine actively refused it.

)!

 

If this shows up on the map server, it generally means that there is no Char Server available

to accept the connection.

 

 

 

============================

|| 5. Helpful Links ||

============================

The following list of links point to various help files within the GIT, articles or

pages on the Wiki or topics within the Hercules forum.

 

* Hercules Forums

http://herc.ws/board/

 

* GIT Repository URL:

https://github.com/HerculesWS/Hercules

 

* Hercules IRC Channel

irc.rizon.net

Channel: #Hercules

 

 

 

============================

|| 6. More Documentation ||

============================

Hercules has a large collection of help files and sample NPC scripts located in /doc/

 

* Scripting

It is recommended to look through /doc/script_commands.txt for help, pointers or

even for ideas for your next NPC script. Most script commands have a usage example.

 

* @commands

In-game, Game Masters have the ability to use Atcommands (@) to control players,

create items, spawn mobs, reload configuration files and even control the weather.

For an in-depth explanation, please see /doc/atcommands.txt

 

* Permissions

The Hercules emulator has a permission system that enables certain groups of players

to perform certain actions, or have access to certain visual enhancements or in-game

activity. To see what permissions are available, they are detailed in /doc/permissions.txt

 

There are more files in the /doc/ directory that will help you to create scripts or update the

mapcache, or even explain how the job system and item bonuses work. Before posting a topic asking

for help on the forums, we recommend that all users take the time to look over this directory.

 

 

 

test this

https://www.mediafire.com/folder/6xqxlxdx7leth/Ragnarok Main folder

https://www.mediafire.com/folder/sqrrrqa797mre/GRF FILES

 

this is my ready made

https://www.mediafire.com/folder/hg3wqu9a1cc7w/ready made

 

 

 

Edited by themon

Share this post


Link to post
Share on other sites
  • 0

Thanks very much! Is there any information on a Windows install, though? I plan on checking it out and making sure I can get it running before I end up paying for a linux-based host.

try this guide -> http://herc.ws/wiki/Compiling#Windows

Share this post


Link to post
Share on other sites
  • 0

Sigh. Having some more trouble as far as compiling is concerned. :( It keeps telling me char-server and map-server are in use  by another process even though they clearly aren't. Getting "2 succeeded, 2 failed"...

 

Edit: Never mind. It didn't want to write them just because I had the solution expanded. <_<

 

Double edit! Setting the SQL databases up and I'm on the

 

 

Close the existing query tabs by hitting the "X" in the upper right of the tab. With the ragnarok tables still open, scroll down to the "login" table and RIGHT click it, then select "Edit Table Data".

 

step. However, my version of Workbench doesn't have that. When I right-click I have the following options:

 

  • Select Rows - Limit 1000
  • Copy to Clipboard >
  • Send to SQL Editor >
  • Create Table
  • Create Table Like >
  • Alter Table
  • Table Maintenance
  • Drop Table
  • Truncate Table
  • Search Table Data
  • Refresh All

I thought Alter Table or Table Maintenance or Send to Editor would work, but nothing seems to be doing the trick. Can someone help me out? :(

 

I'm also getting "Access denied for user 'ragnarok@localhost' (using password: YES)" when I try to run the server now, and again, no idea why. x_x

 

In inter-server.conf I changed sql.db-password and log_db_pw to the password I used in Workbench, and char_server_id/pw and map_server_id/pw to the ones I set in char and map server-confs. Incorrect?

 

It probably also doesn't help from this guide I'm skipping the in-game account setup and jumping to this step:

 

 

 

On the Workbench Home Screen, click "Manage Security" under Server Administration. Select "mysqld@localhost" and then click "OK".

 

Except I can't figure out where, since again, My Workbench version doesn't HAVE anything like Manage Security or Server Administration. Hell, I don't even have a mysqldb@localhost, the two setups I have are "twilightro" (the server, ofc), and "Local Instance MySQL56". : This guide seems to be using versions that are very out of date and I'm clueless as to where I'm supposed to get this straightened out. :

Edited by AvalonBright

Share this post


Link to post
Share on other sites
  • 0

Open your server's SQL instance in Workbench so that a window opens for it, presenting you with a window like this:

 

9QW8Ezx.png

 

In the sidebar, you should see a menu option for Users and Privileges; it is underlined in the image above. Click on it, a window like this should appear:

 

L4XwnrI.png

 

Select or create your desired username for your server, and then set a password for it. If you haven't already made a schema for your server, make one now. I only intend to use my local server for testing purposes, so for the sake of easy reference and configuration, I've set my schema, username, and password all to ragnarok, as it is the default configuration. From here, click on the Schema Privileges tab and add the user ragnarok to the schema ragnarok. I've given the user ragnarok all privileges except GRANT, as it won't ever need it.

 

p8R19Nd.png

 

Anddd that's it, as far as setting up your user(s) properly in Workbench. If I missed something or if you have any other questions, please feel free to ask.

Share this post


Link to post
Share on other sites
  • 0

Thank you again! I thiiink I figured everything out as far as SQL goes but I'm not sure. I followed the guide I mentioned after getting an old version of Workbench so I could follow along better, and I made SOME progress at least? The login server is at least saying it's ready, but I'm getting the same errors as before with map and char, specifically:

 

"Access denied for user 'avalon@localhost' (using password: YES)".

 

Again I'm assuming it has something to do with what I set for ids and passwords in inter-server.conf but I'm not sure where I went wrong there... Or how to actually figure out how to get help for it. @_@

 

The char-server says "Debug at ..srccharinter.c:915, but I've never dealt with the source directly before. The line reads "Sql_ShowDebug(sql_handle);" so I'm not sure how that's remotely helpful to the issue. And yes, I read what to put in inter-server here.

Edited by AvalonBright

Share this post


Link to post
Share on other sites
  • 0

I don't know why I didn't before, usually I'm better about that kind of thing. >_> I believe I figured out the inter-server.conf info for the SQL correctly as everything *seemed* to connect, but then this pops up when I try to run the server now.

 

43OQwTt.jpg

Share this post


Link to post
Share on other sites
  • 0
Guest unplugged

try checking your char-server.conf and check for 

 

// Server Communication username and password.

Share this post


Link to post
Share on other sites
  • 0

Did you change in your mysql hercules-login.

You must change s1 and p1.

Be sure the first accout is server. Make the gender S

Also check map-server.conf and char-server.conf see if you have made the username and password all the same

Edited by themon

Share this post


Link to post
Share on other sites
  • 0

Yeah, I did that. I have both set to "ragnarok" in char-server and map-server, and I changed the "S" account in SQL to ragnarok/ragnarok from s1/p1 just in case. Still getting the same errors. I don't know why it's even saying "account avalon" and a password, because I've set nothing to use my name except the GM account I made during setup. And even that is "GMAvalon", not "Avalon." >.<

 

Edit: Wow. I am really, really dumb. REALLY dumb. I totally forgot to change the settings in the import conf files, not the main ones. Finally online, now just need to set a client up! Thanks for everyone's help so far!

Edited by AvalonBright

Share this post


Link to post
Share on other sites
  • 0

Problem after problem. I'm following the directions for diffing a client in this thread, but every time I try to run the Diff Patcher it says "cannot find any WeeDiffGen plugins. Please create a folder named 'WeeDiffGen' inside the same folder where the plugin is." I did that. I have folder hierarchy of DesktopRO setup for the Diff Patcher itself, then WeeDiffGen.dll and the separate folder named 'WeeDiffGen' inside DesktopRO Setupplugins.

Edited by AvalonBright

Share this post


Link to post
Share on other sites
  • 0

I tried to just see if I could connect using the default "YourRO.exe" client and data folder from here, but it isn't letting me connect past character creation. Once I get a character created, it just says "Disconnected from server", and the map-server gives me the following error:

 

Tlbb85q.jpg

 

I thought it was just the fact I used the default data folder so I changed the clientinfo.xml to my WAN IP, but then I couldn't connect to the server at ALL. I'm not sure what needs changed or why this client isn't letting me connect past the character server. :(

 

Also I'm sure I can't have things set to 127.0.0.1 when actual players are trying to connect, but I don't know what to replace that with, if I need to. Like I said it's been awhile! I recall players having to have my WAN IP in their clientinfo, but I forget if I needed to as well or being the host I stuck with 127.0.0.1. Hopefully this connection to map server issue doesn't need some crazy amount of fixing to, well, fix.

Edited by AvalonBright

Share this post


Link to post
Share on other sites
  • 0

Did you change you mmo.h

 

#ifndef PACKETVER

#define PACKETVER 20131223

#endif // PACKETVER

 

Change 20131223 to 20140115

 

And also did you add the packet data for that client in your srcpacket.h

Cause its looking for wanttoconnect packet

 

packet(0x0B19,19,clif->pWantToConnection,2,6,10,14,18);

Edited by themon

Share this post


Link to post
Share on other sites
  • 0

No, I didn't. I've never had to edit those files when I ran servers before. Nor did the setup guides mention it. :( Will I need to recompile after editing that?

Edited by AvalonBright

Share this post


Link to post
Share on other sites
  • 0

No, I didn't. I've never had to edit those files when I ran servers before. Nor did the setup guides mention it. :( Will I need to recompile after editing that?

@offtopic

maybe before, you used precompiled one.

@ontopic

You have to recompile everytime you changed any source file(files in src folder)

Share this post


Link to post
Share on other sites
  • 0

Hmm. I don't have a packet.h... Is it packets.h in srcmap?

 

Also when I edited the mmo.h the checkmark icon on the folder turned to a red "!" instead. Is that just because I edited something or is it saying there's a problem?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

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