Aion Core Project: [Howto] Install Aioncore On Linux System - Aion Core Project

Jump to content

Toggle shoutbox Shoutbox

maria  : (25 July 2012 - 11:55 PM) if you want chek this new project of aion source
Loxo  : (17 November 2011 - 11:20 PM) Good to hear :). Then there is no reason for AionCore to not be quiet and I hope it will stay like this because this means Aion's open source is not dead again.
Crash Override  : (17 November 2011 - 09:52 PM) Oh no, Aion X Emu is still there, just weeding out the idiots and posers by taking our time on somethings.
Loxo  : (13 November 2011 - 04:03 PM) Yup, but AionXEmu isn't dead, right ? I mean, it is. But they plan to keep going later from what they said and what is announced on the main page.
Crash Override  : (11 November 2011 - 11:13 PM) Still quiet over here
Bark  : (10 March 2011 - 04:25 PM) Could I save the three Howto I made? I don't have access to "edit" Thank You.
Bark  : (10 March 2011 - 04:23 PM) Thanks for the news.
Razer  : (27 February 2011 - 12:09 PM) <_<
kyo-1  : (08 February 2011 - 08:23 PM) hello everyone
Lomilio  : (07 February 2011 - 07:48 AM) Advice please, when some will be new reviews. (rus)
Lomilio  : (07 February 2011 - 07:47 AM) Hello
maria  : (07 February 2011 - 04:49 AM) HELLO :)
sisop  : (06 February 2011 - 09:12 PM) It's always better to unite in one project.
10ton  : (06 February 2011 - 07:14 PM) more developers and more knowledges and we can up this project :)
sisop  : (06 February 2011 - 06:50 PM) Looks like this.
jefe  : (06 February 2011 - 12:49 AM) realy stop this source?
jefe  : (06 February 2011 - 12:49 AM) WTF!!
maria  : (01 February 2011 - 09:40 PM) Brvavo Reirei ban them all ^^
maiz  : (01 February 2011 - 09:30 AM) Somoeone to help.How i cange points who give mob in Dark Poeta, i need to change it score x2.
Reirei  : (01 February 2011 - 09:28 AM) announcement: I will not allow any more false rumors in forum nor shoutbox. if i encounter any more of those " aion core is dead" i will BAN those accounts. thank you.
Resize Shouts Area

Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

[Howto] Install Aioncore On Linux System Rate Topic: ****- 1 Votes

#1 User is offline   Dallas 

  • Intl. Moderator
  • PipPipPip
  • Group: International Moderator
  • Posts: 111
  • Joined: 09-January 11

Posted 12 January 2011 - 02:15 AM

Restored by Dallas, post by teser

Posted by teser

Hello folks,

there is a simple step by step guide how to install aion-core on fresh installed linux servers. I also added bonus chapters which include how to use screen, cron and will learn you how to daily/hourly backups to local + upload to ftp server.

NOTE: i will use Ubuntu/Debian linux as example there, if you have Redhat/Mandriva etc. you have to use yum instead of apt-get

First login as root to your console do following:

1. Update dependences

apt-get update
apt-get upgrade

2. Install Subversion (for SVN), Java, Maven and Zip

apt-get install subversion sun-java6-jdk sun-java6-jre maven2 zip

3. Install MySQL, Apache2 and PHP5

tasksel install lamp-server

apt-get install php5 mysql-server apache2

you will be asked to enter password for MySQL root user, remember to note it

to check current Maven, Java and your kernel version
mvn -version

4. Create new linux user to run login and gameserver

adduser server

then login as new created user
login server

5. Download AionCore SVN repository

cd /home/server/
svn co ac-go

to udpate SVN to the latest revision
cd /home/server/ac-go/
svn up

6. Compile the source code with Maven

enter your local SVN AionCore /trunk directory (in trunk are all files you need, dont care about others)
cd /home/server/ac-go/trunk/

first we compile commons (it will also download alot stuff so be patient)
cd AC-Commons

login server
cd ../AC-Login

game server
cd ../AC-Game

7. Uncompress the compiled source

first we make directory from where will server start
mkdir /home/server/test

then we can start to uncompress compiled files

login server
cd /home/server/ac-go/trunk/AC-Login/target
unzip -d /home/server/test

game server
cd /home/server/ac-go/trunk/AC-Game/target
unzip -d /home/server/test

8. Set up MySQL database (login as root user)

you will need some client to make database and user for your aionserver, you can choice best option for you

option 1) create databases&user manually

login to Mysql as root user
mysql -u root -p

you will see

to create db type following
mysql> CREATE DATABASE ac_server_ls;
mysql> CREATE DATABASE ac_server_gs;

then u have to create database user for your server
mysql> USE mysql
mysql> CREATE USER 'server'@'localhost' IDENTIFIED BY 'yourpassword';

now we grant him full permisions for the two dbs we created
mysql> GRANT ALL PRIVILEGES ON ac_server_ls.* TO 'server'@'localhost';
mysql> GRANT ALL PRIVILEGES ON ac_server_gs.* TO 'server'@'localhost';
mysql> \q

option 2) using phpmyadmin tool

apt-get install phpmyadmin

connect with http://localhost/phpmyadmin/ (change localhost for your IP or domain)

login and check for Privilieges then Add new user, select the user name, computer "localhost", then click apply

now check for menu Database, and create two databases ac_server_ls and ac_server_gs

then edit user in Privilegies menu, select the db we did create and grant him all rights

option 3) using Navicat or other graphic tool from your home (login as root)

first to enable external connect to your server you need remove mysql resctriction in config file

look into /etc/mysql/my.cnf and find this line
bind-address =

and comment it so it look like this
# bind-address =

then restart your mysql
service mysql restart

/etc/init.d/mysql restart

9. Importing loginserver and gameserver SQL to the database

option 1) import databases manualy

login server db
cd /home/server/test/loginserver/sql
mysql -u root -p -h localhost ac_server_ls < ac_server_ls.sql

game server db
cd /home/server/test/gameserver/sql
mysql -u root -p -h localhost ac_server_gs < ac_server_gs.sql

importing droplist to the gs db
cd /home/server/test/gameserver/sql/drops
mysql -u root -p -h localhost ac_server_gs < drops.sql

option 2) import from external pc using navicat

- download all sql files to your local folder
- then in navicat right click you login server database and import file ac_server_ls.sql from loginserver/sql folder
- select your gameserver db and import ac_server_gs.sql from gameserver/sql and droplist.sql from gameserver/sql/drops folders

10. Configuring login and game server

now you have to edit config files in your login and gameserver

Loginserver config:

cd /home/server/test/loginserver/config/network

there is file, change it to following
# This is database url
database.url = jdbc:mysql://localhost:3306/ac_server_ls

# Database user
# Default: root (not safe)
database.user = server

# Database password
# Default: no password (not safe)
database.password = yourpassword

Gameserver config:

cd /home/server/test/gameserver/config/network

there are 3 files you need to edit

in file change
# This is database url
database.url = jdbc:mysql://localhost:3306/ac_server_gs?useUnicode=true&charact$

# Database user
# Default: root (not safe)
database.user = server

# Database password
# Default: no password (not safe)
database.password = yourpassword

in ipconfig.xml look for this line and change YOUR_EXTERNAL_IP_THERE for your external IP or domain
<ipconfig default="YOUR_EXTERNAL_IP_THERE">

in you dont need to change anythink, but you have to note id of gameserver (network.login.gsid = 1) and password of gameserver which will be used to authenticate with login server (network.login.password = password).

If you want to change gameserver name/ID check this topic http://www.aioncore....-of-server-ids/ where are listed all IDs (no you cant have custom server name, you must pick one from list)
# Port that will be used to listen for client connections
network.client.port = 7777

# Host that will be used to listen for client connections = *

# Maximum online players on the server
network.client.maxplayers = 1000

# Required access level to enter gameserver
# If set to bigger than 0 only GM's are able to connect
# and normal players can't see server on serverlist
# Default = 0
network.client.requiredlevel = 0

# Address of login server
network.login.address = localhost:9014

# Id of this game server
network.login.gsid = 1

# Password of this game server
network.login.password = password

now you have to add gameserver ID and password to the loginserver database, change for your external IP
mysql -u server -p
mysql> USE ac_server_ls;
mysql> INSERT INTO `gameservers` (`id`, `mask`, `password`) VALUES (1, '', 'password');
mysql> \q

or open Navicat, right click you login database, select Console and use the insert query or add it manually

11. Starting login and game server + using screen

a> simple/default way how to start login and gameserver

loginserver start

make scripts executable
cd /home/server/test/loginserver/
chmod +x
chmod +x

then start server

gameserver start

make scripts executable
cd /home/server/test/gameserver/
chmod +x
chmod +x

then we start server

b> now i show you in my opinion alot better way how to start and manage servers/services using screen

login as root and instal this package
apt-get install screen

now we have to create two new files in both LS and GS directory

first loginserver scripts
cd /home/server/test/loginserver/

and copy there this
java -Xms8m -Xmx32m -ea -cp ./libs/*:ac-login-1.0.0.jar com.aionemu.loginserver.LoginServer

and second one
nano startLogin

copy this inside
screen -A -m -d -S aion_loginserver_ID1 ./

now we make them executable
chmod +x
chmod +x startLogin

first gameserver script
cd /home/server/test/Ac-Game/

and copy there this
java -Xms512m -Xmx1536m -ea -Xbootclasspath/p:./libs/jsr166.jar -javaagent:libs/ac-commons-1.0.0.jar -cp ./libs/*:ac-game-1.0.0.jar com.aionemu.gameserver.GameServer

and second one
nano startGame

copy this inside
screen -A -m -d -S aion_gameserver_ID1 ./

now we make them executable
chmod +x
chmod +x startGame

so how it works?

basically startLogin and startGame does start the scripts and which will run on backround so u can swap and check process anytime

start LS
cd /home/server/test/loginserver/

start GS
cd /home/server/test/gameserver/

now you can list the screens with this command
screen -r

it will show you list of processes runing on screen with PID.screen_name and if it [atached] or [detached]

this is example of my screens to have idea how it look like
server SGP :~/aion/test/ac-go/loginserver$ screen -r

There are several suitable screens on:
1392.aion_gs_test (28/11/10 01:17:17) (Detached)
7655.aion_gs_nezekan (27/11/10 16:26:07) (Detached)
6701.wow_azshara_gs (27/11/10 16:05:32) (Detached)
3256.lineage_ls_antharas (27/11/10 13:50:43) (Detached)
2894.lineage_gs_antharas (27/11/10 13:49:08) (Detached)
22315.aion_ls_test (25/11/10 16:51:57) (Detached)
27458.aion_gs_hellion (25/11/10 00:42:49) (Detached)
13704.ventrilo_server_231 (24/11/10 18:39:24) (Detached)
3553.wow_azshara_gs_restarter (24/11/10 11:35:28) (Detached)
3231.aion_ls_hellion (24/11/10 11:26:50) (Detached)
2804.aion_ls_nezekan (24/11/10 11:18:45) (Detached)

you can see that m running more servers, so this screen is very helpful there so for ataching the screen you simply type the number of process

screen -r 1392

this will attach screen of test gameserver so i can look whats happening or shutdown server with Ctrl+C

if u want to leave attached screen and go back to shell hold Ctrl + A then D, it will detach the screen to the backround

TIP: if u you cant atach to some screen in list because it show it's still atached (like u dced on atached screen etc.), you can detach it with this command (using 1392.aion_gs_test as example)
screen -d 1392

12. Backup to localhost + ftp

When u have server running you need backup a databases to not lost important saved data from your players, there is simple script which will backup selected databases, gzip them and save to your defined backup directory and another script which will send them to ftp server of your choice. Then I learn you how to use cron service to schedule it as you like.

create a directory where we store our backup scripts
cd /home/server
mkdir backup
cd backup

now download the backup and startbackup scripts

and create the directory in backup folder where we store our SQL dumps (backups)
mkdir sql

you should see two new files there startBackup and and one directory sql

starBackup - is simple screen launcher which will run the backup on detached screen - is simple script which allows you to set up databases to backup to your local host folder with ftp send option
sql - is directory where we will store our sql backups

now you have to edit the config in script, you should be able to do it on your own, there is every setting commented so it should be easy for everyone and alot thinks can stay on default if u followed my guide

13. Using Cron service for backup script

14. Tips&Tricks

- you should allways run you login and gameserver as the server user we created, but it can happen you run/compile/decompress or whatever it as root and by that you overwrite the rights to write to files for server user

you can fix it with this command (login as root)
chown -R server /home/server

- if you would like to use some file manager, you can try install midnight commander (login as root)
apt-get install mc

I will finish/fix/make it better readable later today. However it can be used already.


by NoobOne

Nice guide, thx for it.

just a little addition from my site:

before you can install the packages

sun-java6-jdk sun-java6-jre

under Ubuntu, you have to uncomment the partner-repositories in sources.list

mcedit /etc/apt/sources.list

search for these lines and remove the # then save the file.

deb maverick partner
deb-src maverick partner


#2 User is offline   TheChris 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 25-February 11

Posted 27 February 2011 - 09:21 PM

hi people
i tried but i cant install

hope i post here right =)
if not im sorry pls make new thread or let me know

I even have no idea about MVN i only know svn

Chris =)

server@Chris:~/ac-go/trunk/Commons$ mvn install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [install]
[INFO] ------------------------------------------------------------------------
Downloading:                              ces-plugin/2.2/maven-resources-plugin-2.2.pom
Downloading:                              s/1/maven-plugins-1.pom
Downloading:                              -parent-1.pom
Downloading:                              ces-plugin/2.2/maven-resources-plugin-2.2.jar
Downloading:                              er-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom
Downloading:                              s/8/maven-plugins-8.pom
Downloading:                              -parent-5.pom
Downloading:                              er-plugin/2.0.2/maven-compiler-plugin-2.0.2.jar
Downloading:                              re-plugin/2.4.2/maven-surefire-plugin-2.4.2.pom
Downloading:                              4.2/surefire-2.4.2.pom
Downloading:                              -parent-7.pom
Downloading:                              re-plugin/2.4.2/maven-surefire-plugin-2.4.2.jar
Downloading:                              ugin/2.2/maven-jar-plugin-2.2.pom
Downloading:                              s/10/maven-plugins-10.pom
Downloading:                              ugin/2.2/maven-jar-plugin-2.2.jar
Downloading:                              l-plugin/2.2/maven-install-plugin-2.2.pom
Downloading:                              l-plugin/2.2/maven-install-plugin-2.2.jar
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Cannot execute mojo: resources. It requires a project with an existing po                              m.xml, but the build is not using one.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16 seconds
[INFO] Finished at: Sun Feb 27 22:18:11 CET 2011
[INFO] Final Memory: 6M/119M
[INFO] ------------------------------------------------------------------------
server@Chris:~/ac-go/trunk/Commons$ mvn install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Cannot execute mojo: resources. It requires a project with an existing pom.xml, but the build is not using one.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Sun Feb 27 22:18:26 CET 2011
[INFO] Final Memory: 6M/150M
[INFO] ------------------------------------------------------------------------

This post has been edited by TheChris: 27 February 2011 - 09:22 PM


Share this topic:

Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users