|
2 years ago | |
---|---|---|
.github | 6 years ago | |
3rdparty | 4 years ago | |
Hercules.xcodeproj | 5 years ago | |
log | 9 years ago | |
npc | 4 years ago | |
plugins | 11 years ago | |
runtime | 6 years ago | |
save | 9 years ago | |
src | 2 years ago | |
tools | 4 years ago | |
vcproj-14 | 5 years ago | |
vcproj-15 | 5 years ago | |
vcproj-16 | 4 years ago | |
.appveyor.yml | 4 years ago | |
.gitattributes | 11 years ago | |
.gitignore | 6 years ago | |
.gitlab-ci.yml | 3 years ago | |
.mailmap | 6 years ago | |
.travis.yml | 4 years ago | |
AUTHORS | 11 years ago | |
CHANGELOG.md | 4 years ago | |
CONTRIBUTING.md | 6 years ago | |
Hercules-14.sln | 7 years ago | |
Hercules-15.sln | 6 years ago | |
Hercules-16.sln | 4 years ago | |
LICENSE | 14 years ago | |
Makefile.in | 6 years ago | |
README.md | 5 years ago | |
athena-start | 12 years ago | |
build.sh | 5 years ago | |
char-server.sh | 12 years ago | |
configure.ac | 3 years ago | |
login-server.sh | 12 years ago | |
map-server.sh | 12 years ago | |
mariadb.bat | 6 years ago | |
script-checker | 9 years ago | |
sysinfogen.sh | 9 years ago |
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.
Before installing Hercules, you will need to install certain tools and applications. This differs between the varying Operating Systems available, so the following list is broken down into Windows and Unix (incl. Linux) prerequisites.
For a list of supported platforms, please refer to the Supported Platforms wiki page.
mysql-server
) or MariaDBmysql-devel
)zlib-devel
)pcre-devel
)mysql
or mariadb
through Homebrew is recommended)pcre
through Homebrew is recommended)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).
mariadb.bat
to automatically install and configure MariaDB.Start Visual Studio and load the provided solution:
Compile and run the three projects, login-server, char-server, map-server.
Install the prerequisites.
Install a MySQL-compatible server, such as MariaDB (recommended) or MySQL Community Edition
Clone the Hercules repository Hercules repository using a git client, into a new folder.
Connect to the MySQL server as root:
CREATE DATABASE hercules;
CREATE USER 'hercules'@'localhost' IDENTIFIED BY 'password';
.GRANT SELECT,INSERT,UPDATE,DELETE ON hercules.* TO 'hercules'@'localhost';
Connect to the MySQL server as the new user:
Start Visual Studio and load the provided solution:
yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel git
apt-get install gcc make libmysqlclient-dev zlib1g-dev libpcre3-dev mysql-server git
pkg install clang35 gmake mysql56-server mysql-connector-c pcre git
xcode-select --help
brew install mysql pcre
git clone https://github.com/HerculesWS/Hercules.git ~/Hercules
CREATE DATABASE hercules;
CREATE USER 'hercules'@'localhost' IDENTIFIED BY 'password';
.GRANT SELECT,INSERT,UPDATE,DELETE ON hercules.* TO 'hercules'@'localhost';
./configure
make clean && make sql
(on FreeBSD, replace make
with gmake
)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 than not, all support issues can be solved simply by looking at the error messages given.
Examples:
[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=2_F_MAGICMASTER,{
* 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.
[Warning]: Using the default user/password s1/p1 is NOT RECOMMENDED.
[Notice]: Please edit your 'login' table to create a proper inter-server user/password (gender 'S')
[Notice]: and then edit your user/password in conf/map-server.conf (or conf/import/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.
[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.
The following list of links point to various help files within the repository, articles or pages on the Wiki or topics within the Hercules forum.
Hercules Forums: http://herc.ws/board/
Hercules Wiki: http://herc.ws/wiki/Main_Page
Git Repository URL: https://github.com/HerculesWS/Hercules
Hercules IRC Channel:
Network: irc.rizon.net
Channel: #Hercules
Hercules has a large collection of help files and sample NPC scripts located in /doc/
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
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.md
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.