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 http://www.immortal-s-ai3.comlu.com/
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


or
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 http://subversion.assembla.com/svn/ac-go/ 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
mvn


login server
cd ../AC-Login
mvn


game server
cd ../AC-Game
mvn





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 ac-login-1.0.0.zip -d /home/server/test


game server
cd /home/server/ac-go/trunk/AC-Game/target
unzip ac-game-1.0.0.zip -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
mysql>



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> FLUSH PRIVILEGES;
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 = 127.0.0.1

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

then restart your mysql
service mysql restart


or
/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 database.properties, 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 database.properties 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 network.properties 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
network.client.host = *

# 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 127.0.0.1 for your external IP
mysql -u server -p
mysql> USE ac_server_ls;
mysql> INSERT INTO `gameservers` (`id`, `mask`, `password`) VALUES (1, '127.0.0.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 StartLS.sh
chmod +x StartLS_loop.sh


then start server
./StartLS_loop.sh




gameserver start

make scripts executable
cd /home/server/test/gameserver/
chmod +x StartGS.sh
chmod +x StartGS_loop.sh


then we start server
./StartGS_loop.sh




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/
nano login.sh


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 ./login.sh



now we make them executable
chmod +x login.sh
chmod +x startLogin



first gameserver script
cd /home/server/test/Ac-Game/
nano game.sh


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 ./game.sh



now we make them executable
chmod +x game.sh
chmod +x startGame




so how it works?

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


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


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



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
wget http://www.sun-aion.com/downloads/startBackup
wget http://www.sun-aion.com/downloads/backupmysql.sh



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


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

starBackup - is simple screen launcher which will run the backup on detached screen
backupmysql.sh - 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 backupmysql.sh 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.

Comments:

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 http://archive.canonical.com/ubuntu maverick partner
deb-src http://archive.canonical.com/ubuntu maverick partner

2

#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

Greetings
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: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resour                              ces-plugin/2.2/maven-resources-plugin-2.2.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin                              s/1/maven-plugins-1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-parent/1/maven                              -parent-1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/apache/1/apache-1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resour                              ces-plugin/2.2/maven-resources-plugin-2.2.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compil                              er-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin                              s/8/maven-plugins-8.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-parent/5/maven                              -parent-5.pom
Downloading: http://repo1.maven.org/maven2/org/apache/apache/3/apache-3.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compil                              er-plugin/2.0.2/maven-compiler-plugin-2.0.2.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefi                              re-plugin/2.4.2/maven-surefire-plugin-2.4.2.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire/2.                              4.2/surefire-2.4.2.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-parent/7/maven                              -parent-7.pom
Downloading: http://repo1.maven.org/maven2/org/apache/apache/4/apache-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefi                              re-plugin/2.4.2/maven-surefire-plugin-2.4.2.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-jar-pl                              ugin/2.2/maven-jar-plugin-2.2.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin                              s/10/maven-plugins-10.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-jar-pl                              ugin/2.2/maven-jar-plugin-2.2.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-instal                              l-plugin/2.2/maven-install-plugin-2.2.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-instal                              l-plugin/2.2/maven-install-plugin-2.2.jar
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[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] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[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

0

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