No description
Find a file
Piotr Hałaczkiewicz 4a4751563c Add console command to update database to bcrypt
Add doc about user passwords.
Update config settings related to passwords.
2013-08-02 10:44:28 +02:00
3rdparty Fixed bcrypt x86 build 2013-07-28 17:28:08 +02:00
cache HCache | Item Packages Update 2013-07-05 19:19:40 -03:00
conf Add console command to update database to bcrypt 2013-08-02 10:44:28 +02:00
db Merge branch 'master' of https://github.com/HerculesWS/Hercules 2013-07-21 11:34:35 -03:00
doc Add console command to update database to bcrypt 2013-08-02 10:44:28 +02:00
npc Some fixes regarding Sentences, and Alignment 2013-07-11 13:10:39 -04:00
plugins Introducing Hercules Plugin Mananger 2013-05-02 17:14:01 -03:00
sql-files Fixed missing table 2013-07-14 07:19:36 +07:00
src Add console command to update database to bcrypt 2013-08-02 10:44:28 +02:00
tools Whitespace, TABs & Spellings 2013-06-14 21:27:02 +01:00
vcproj-9 Introducing Hercules Plugin Mananger 2013-05-02 17:14:01 -03:00
vcproj-10 Initial bcrypt support. 2013-07-28 13:58:13 +02:00
vcproj-12 Fixed Bug #7213 2013-05-03 12:30:15 -03:00
.gitattributes * Implemented suggestion in topic:528, related to GMs being able to warp to non-walkable cells; also added configuration. 2013-05-10 21:13:10 -03:00
.gitignore Updated GNU Make build scripts for bcrypt support 2013-07-28 16:26:58 +02:00
.travis.yml Some type conversion warnings fixed. If this breaks anything create a bug report ASAP and I will revert it gladly. 2013-05-18 18:17:38 -03:00
athena-start Dropped _sql suffix in server names. 2013-02-16 17:37:50 -02:00
char-server.bat Dropping _sql suffix in server names, part 2. 2013-02-16 17:43:04 -02:00
char-server.sh Dropped _sql suffix in server names. 2013-02-16 17:37:50 -02:00
CMakeLists.txt Follow up a2c45a8db6 2013-05-02 18:18:52 -03:00
configure Improved timer_cputimer_* crossfplatform support 2013-07-31 11:39:03 +02:00
configure.in Improved timer_cputimer_* crossfplatform support 2013-07-31 11:39:03 +02:00
dbghelp.dll - Updated dbghelp.dll 2013-07-10 15:48:50 -04:00
Hercules-9.sln Introducing Hercules Plugin Mananger 2013-05-02 17:14:01 -03:00
Hercules-10.sln Dropped engine setting, closing bug #7455. 2013-07-03 03:53:14 -03:00
Hercules-12.sln Dropped _sql suffix in server names. 2013-02-16 17:37:50 -02:00
libmysql.dll Updated DLLS to match libs. Please DO NOT update the libs from now on (except if mySQL has newer builds which are not compatible with client DLL). 2006-04-17 12:33:12 +00:00
LICENSE Updated License from GNU GPLv2 to GNU GPLv3. 2010-09-09 02:35:14 +00:00
login-server.bat Dropping _sql suffix in server names, part 2. 2013-02-16 17:43:04 -02:00
login-server.sh Dropped _sql suffix in server names. 2013-02-16 17:37:50 -02:00
mac.start.scpt OSX start file rename 2013-03-01 16:36:39 -03:00
Makefile.in Updated GNU Make build scripts for bcrypt support 2013-07-28 16:26:58 +02:00
map-server.bat Dropping _sql suffix in server names, part 2. 2013-02-16 17:43:04 -02:00
map-server.sh Dropped _sql suffix in server names. 2013-02-16 17:37:50 -02:00
pcre3.dll * Merged changes ONLY eAthena 15101. 2012-05-31 04:27:27 +00:00
README.md Fixed readme.md, thanks to Wolfed~! 2013-05-14 18:38:52 -03:00
README.txt -Insignificant 2013-04-23 23:59:30 -07:00
run-server.bat Dropping _sql suffix in server names, part 2. 2013-02-16 17:43:04 -02:00
serv.bat Dropped _sql suffix in server names. 2013-02-16 17:37:50 -02:00
start Attempt no.2 at svn:executable (followup to r13044) 2008-08-04 12:13:05 +00:00
zlib1.dll * Merged changes ONLY eAthena 15100. 2012-05-31 04:24:46 +00:00

Hercules

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.

  1. 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.

  1. 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
    • (For Debian/Others)

      • 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

  1. 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:

  • 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.

  • 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.

  • 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.

  1. 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.

  1. 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.