rAthena is an open-source cross-platform MMORPG server.
C C++ CMake M4 Makefile Shell Other
Latest commit f56a3f6 Apr 25, 2017 @rAthenaAPI rAthenaAPI SQL synchronization
Permalink
Failed to load latest commit information.
.github Updated Issue and Pull Request templates Feb 14, 2017
3rdparty Updated ZLIB Apr 6, 2016
conf Channel System is Expanded! (#1933) Apr 19, 2017
db Fixed some Armors wLV and refineables (#2077) Apr 25, 2017
doc Channel System is Expanded! (#1933) Apr 19, 2017
npc Converted some scripts to warps (#1947) Apr 24, 2017
sql-files SQL synchronization Apr 25, 2017
src Channel System message correction Apr 24, 2017
tools Removed Doxygen related files, since we no longer use it. Mar 7, 2017
vcproj-10 Added support for VS 2017 RC Dec 5, 2016
vcproj-12 Initial release of the clan system Nov 16, 2016
vcproj-13 Added support for VS 2017 RC Dec 5, 2016
vcproj-14 Added support for VS 2017 RC Dec 5, 2016
vcproj-15 Added support for VS 2017 RC Dec 5, 2016
vcproj-9 Initial release of the clan system Nov 16, 2016
.gitattributes Revert .gitattributes to their original state Aug 2, 2016
.gitignore Removed Doxygen related files, since we no longer use it. Mar 7, 2017
.travis.yml Follow up 3108bb1 Oct 19, 2016
AUTHORS Added some active contributors to the author list Mar 31, 2016
CMakeLists.txt Fix and update Cmake build. Sep 10, 2014
LICENSE Updated License from GNU GPLv2 to GNU GPLv3. Sep 9, 2010
Makefile.in Cleaning scripts in 'tools/'. Jan 5, 2015
README.md Add CONTRIBUTING.md, ISSUE_TEMPLATE.md, and PULL_REQUEST_TEMPLATE.md (#… Jan 16, 2017
appveyor.yml Follow up abd9809 Oct 19, 2016
athena-start Bug Fixes Mar 11, 2015
charserv.bat TXT reference removal from emulator. Sep 3, 2014
configure Added a configure option for vip features Oct 19, 2016
configure.in Added a configure option for vip features Oct 19, 2016
dbghelp.dll Added latest version of dbghelp.dll (from microsoft debugger package)… Mar 31, 2008
function.sh TXT reference removal from emulator. Sep 3, 2014
install.sh Fixed #194 Jan 3, 2016
libmysql.dll Updated DLLS to match libs. Please DO NOT update the libs from now on… Apr 17, 2006
logserv.bat TXT reference removal from emulator. Sep 3, 2014
mac.rathena-start.scpt Okie ladies and gentleman if this commit breaks anything it's jman's … Jul 8, 2012
mapcache.bat Batch file for Windows Mapcache users Feb 13, 2017
mapserv.bat TXT reference removal from emulator. Sep 3, 2014
pcre3.dll * Merged changes ONLY eAthena 15101. May 31, 2012
rAthena-10.sln TXT reference removal from emulator. Sep 3, 2014
rAthena-12.sln TXT reference removal from emulator. Sep 3, 2014
rAthena-13.sln TXT reference removal from emulator. Sep 3, 2014
rAthena-14.sln VS 2015 support(commit 2/4) Nov 29, 2015
rAthena-15.sln Added support for VS 2017 RC Dec 5, 2016
rAthena-9.sln TXT reference removal from emulator. Sep 3, 2014
runserver.bat TXT reference removal from emulator. Sep 3, 2014
serv.bat Batch file for Windows Mapcache users Feb 13, 2017
uninstall.sh Fixed #194 Jan 3, 2016
zlib1.dll Updated ZLIB Apr 6, 2016

README.md

rAthena

Build Status: Build Status Build status

Table of Contents

  1. What is rAthena?

  2. Prerequisites

  3. Installation

  4. Troubleshooting

  5. Helpful Links

  6. More Documentation

  7. How to Contribute

  8. What is rAthena?


rAthena 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. rAthena is a continuation of the eAthena project.

  1. Prerequisites

Before installing rAthena 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 rAthena into (e.g. C:\rAthena)

    • Right click this folder and select "Git Clone"

    • Paste the GitHub URL into the box:

        	https://github.com/rathena/rathena.git
      
    • Open MySQL Workbench and create an instance to connect to your MySQL Server

    • Create a database (rathena), a user (rathena), 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 rathena database

  • Linux

    • Type:

      • (For CentOS)

          yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel git
        
      • (For Debian)

          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 'rathena'@'localhost' IDENTIFIED BY 'password';
      
    • Assign permissions:

        	GRANT SELECT,INSERT,UPDATE,DELETE ON `rathena\_rag`.* TO 'rathena'@'localhost';
      
    • Clone a GIT repository:

        	git clone https://github.com/rathena/rathena.git ~/rathena
      
    • Insert SQL files:

        	mysql --user=root -p rathena_rag < trunk/sql-files/main.sql (and others)
      
    • Configure and compile:

        	./configure && make clean && make server
      
    • When you're ready, start the servers:

        	./athena-start start
      
  • Optional

    • If you want to have your own forked version but still get updates from the main rAthena repository

      • Fork this repository to your GitHub account

      • List the current configured remote repository for your fork:

          git remote -v
        
      • Specify a new remote upstream repository that will be synced with your fork:

          git remote add upstream https://github.com/rathena/rathena.git
        
      • Verify the new upstream repository you've specified for your fork:

          git remote -v
        
      • You should see the main rAthena repository as well as your forked repository

      • Now, when you want to get updates from rAthena, simply do:

          git pull upstream master
        
    • Remember that rAthena falls under GNU GPLv3.

  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 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_athena.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 outputs 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

  1. More Documentation

rAthena has a large collection of help files and sample NPC scripts located in the /doc/ directory. These include detailed explanations of NPC script commands, atcommands (@), group permissions, item bonuses, and packet structures, among many other topics. We recommend that all users take the time to look over this directory before asking for assistance elsewhere.

  1. How to Contribute

Details on how to contribute to rAthena can be found in CONTRIBUTING.md!