Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
AION X EMU + Ubuntu 10.04.1 Практикум
#1
Гайдов по установке на линух тут не нашел...
поэтому юзал http://aion-base.ru/installation_aion_on...armic.html
дошел до запуска.
Сделал:
Переходим в папку gameserver
cd aion/server/gameserver
пишем chmod +x StartGS.sh

Переходим в папку loginserver
cd aion/server/loginserver
пишем chmod +x StartLS.sh


Тут правда (ревизия 75 АХЕ) startLogin.sh и startGame.sh (думаю это не важно??)
В итоге запускаю:
sudo ./startGame.sh и
sudo ./startLogin.sh выдает
:/home/aion/server/gameserver$ ./startGame.sh: строка 3: ./game_loop.sh: Отказано в доступе
и
t:/home/aion/server/loginserver$ ./startLogin.sh: строка 3: ./login_loop.sh: Отказано в доступе

3я строка - это err=1
Подскажите плз, куда копать.

Кстати
Ответ
#2
Зачем через судока? Просто переходишь в папку и ./StartGS.sh. А если принципиально, то запусти лучше из под рута и не парь моцк.)

З.Ы. папку не забудь расшарить на 777 (гугли).

В свойствах файлов схшников еще поставь что бы можно было запускать.
Ответ
#3
пробовал и без sudo - все тоже самое...

-----
Попробовал:
...:/home/aion/server/gameserver$ sudo chmod 777 /home/aion/server/gameserver
[sudo] password for uzerr:
...:/home/aion/server/gameserver$ ./startGame.sh
...:/home/aion/server/gameserver$ ./startGame.sh: строка 3: ./game_loop.sh: Отказано в доступе

то же самое
Ответ
#4
Вот гайд взятый с форума Aion XEMU
Цитата: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 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

Делайте лучше по нему=)
Былобы хорошо если его бы перевели=)
Ответ
#5
Zombie, Биговые сенксы тебе, мил ЧЕловек Smile
ИМХО, уже увидел свой косяк, плз, заходи почаще в мой постег - чуствую, не мало еще вопрософф задам...
Ответ
#6
Оке=)) Не забываем тыкать на кнопочку "Поблагодарить" =)
Ответ
#7
Zombie Написал:Вот гайд взятый с форума Aion XEMU
Былобы хорошо если его бы перевели=)
Восстановил Dallas, написал teser
Написал teser

Привет ребята, есть простое пошаговое руководство как установить AiON-CORE на свежеустановленном Linux сервере. Также я добавил дополнительные главы из которых вы узнаете как использовать screen, cron, как настроить ежедневное/ежечасное создание локальных бекапов с последующей выгрузкой их на FTP-сервер.

Примечание:
Я буду использовать Ubuntu/Debian Linux в качестве примера, если вы используете Red Hat/Mandriva Linux и т.д. вы должны использовать команду yam вместо apt-get.

Сначала необходимо выполнить вход от имени пользователя root в консоли
1. Выполним обновление зависимостей
apt-get update
apt-get upgrade

2. Установить Subversion (для SVN), Java, Maven и Zip
apt-get install subversion sun-java6-jdk sun-java6-jre maven2 zip

3. Установить MySQL, Apache 2 и PHP5
tasksel install lamp-server

или
apt-get install php5 mysql-server apache2

Вам будет предложено ввести пароль для пользователя MySQL root, запомните его.

Что бы узнать какая версия Maven у вас установлена выполните следующую команду
mvn -version

4. Создайте нового пользователя Linux для запуска LoginServer и GameServer
adduser server

Войдите новым пользователем
login server

5. Скачать AionCore с SVN репозитория
cd /home/server/
svn co http://subversion.assembla.com/svn/ac-go/ ac-go

Для обновления с SVN до последней версии используйте команду
cd /home/server/ac-go/
svn up

6. Компиляция исходного кода с помощью Maven
Войди в вашей локальной копии SVN AionCore в директорию /trunk (все необходимые файлы находятся в этой директории, не общайте внимания на остальные)
cd /home/server/ac-go/trunk/

Сначала вы должны скомпилировать Commons (в течении компиляции скрипт будет много чего скачивать, будьте терпеливы)
cd AC-Commons
mvn

Затем компилируем LoginServer
cd ../AC-Login
mvn

После GameServer
cd ../AC-Game
mvn

Распакуйте скомпилированные иходники
Сначала создадим каталог для сервера
mkdir /home/server/test

Теперь мы можем начать распаковывать скомпилированные файлы

LoginServer
cd /home/server/ac-go/trunk/AC-Login/target
unzip ac-login-1.0.0.zip -d /home/server/test

GameServer
cd /home/server/ac-go/trunk/AC-Game/target
unzip ac-game-1.0.0.zip -d /home/server/test

8. Настройка базы данных MySQL (Войти от имени пользователя root)
Вам понадобиться какой-то клиент для того что бы создать БД и пользователя для вашего сервера AiON, вы можете выбрать любой, удобный вам, клиент

Вариант1. Создание БД и пользователя вручную

Войти в MySQL пользователем root
mysql -u root -p

Вы увидите
MySQL>

для создания БД выполните следующие команды
MySQL> CREATE DATABASE ac_server_ls;
MySQL> CREATE DATABASE ac_server_gs;

Теперь мы должны создать поьзователя БД для вашего сервера
mysql> USE mysql
mysql> CREATE USER 'server'@'localhost' IDENTIFIED BY 'yourpassword';

Теперь мы предоставляем ему полный доступ к двум созданым БД
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

Вариант2. Используем PhpMyAdmin
apt-get install phpmyadmin

Соединяемся с адресом http://localhost/phpmyadmin/ (замените localhost на ваш IP или доменное имя)
Входим, переходим в меню Привилегии и добавляем нового пользователя, устанавливаем имя пользователя, сомпьютер "localhost", жмем принять
Переходим в меню "Базы данных" и создаем две БД ac_server_ls и ac_server_gs
Редактируем созданного пользователя в меню Привилегии, выберите созданные БД и назначьте ему полный доступ

Вариант3. С помощью Navicat или других графических инструментов(Войти как root)
Для начала позвольте внешние подключения к серверу - вам нужно удалить MySQL resctriction в конфигурационном файле
Откройте /etc/mysql/my.cnf и найдите следующую строку
bind-address = 127.0.0.1
Закоментируйте эту строку, что бы она выглядела так
# bind-address = 127.0.0.1
После этого перезапустите ваш сервер MySQL
service mysql restart
или
/etc/init.d/mysql restart

9. Импортирование LoginServer и GameServer SQL файлы в БД
Вариант1. Импортировать базы вручную
LoginServer БД
cd /home/server/test/loginserver/sql
mysql -u root -p -h localhost ac_server_ls < ac_server_ls.sql
GameServer БД
cd /home/server/test/gameserver/sql
mysql -u root -p -h localhost ac_server_gs < ac_server_gs.sql
Импорт дроплиста в базу GameServer
cd /home/server/test/gameserver/sql/drops
mysql -u root -p -h localhost ac_server_gs < drops.sql

Вариант2. Импорт с помощью Navicat
Скачать все SQL файлы в вашу локальную директорию
После в Navicat ПКМ на БД вашего LoginServer и импортировать файл ac_server_ls.sql из loginserver/sql
Выберите вашу БД GameServer и импортируйте ac_server_gs.sql из gameserver/sql и droplist.sql из gameserver/sql/drops

10. Настройка ваших LoginServer и GameServer
Теперь вы должны отредактировать сонфиги ваших серверов (login и game)
Конфиг LoginServer
cd /home/server/test/loginserver/config/network
Тут находится файл database.properties измените его следующим образом
# 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
cd /home/server/test/gameserver/config/network
Здесь три файла которые нужно изменить
в database.properties измененить
# 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

в ipconfig.xml найти строку и изменить ее - YOUR_EXTERNAL_IP_THERE на ваш внешний IP или домен
<ipconfig default="YOUR_EXTERNAL_IP_THERE">

в network.properties вам не нужно ничего менять, но вы должны отметить идентификатор GameServer (network.login.gsid = 1) и пароль GameServer, который будет использоваться для аутентификации LoginServer'ом (network.login.password = пароль).
Если вы хотите изменить имя GameServer, установите другой идентификатор (не вы не можете использовать пользовательское имя сервера, вы должны выбрать одно из предоставленых имен)
# 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

Теперь вы должны добавить идентификатор GameServer и пароль в БД LoginServer, измените 127.0.0.1 на ваш реальный 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

Или откройте Navicat, ПКМ на БД LoginServer, выберите console и используйте для вставки ее для вставки вручную

11. Запуск Login и Game серверов + использование экрана
а) простой/по умолчанию путь как запустить Login и Game сервера
Запуск LoginServer
сделать скрипты исполняемыми
cd /home/server/test/loginserver/
chmod +x StartLS.sh
chmod +x StartLS_loop.sh
после запустить сервер
./StartLS_loop.sh

запуск GameServer
сделать скрипты исполняемыми
cd /home/server/test/gameserver/
chmod +x StartGS.sh
chmod +x StartGS_loop.sh
запустить сервер
./StartGS_loop.sh

б) сейчас я покажу вам спосо, на мой взгляд на много лучше, как запустить и управлять серверами/сервисами используя экран
Войдите в консоли от имени пользователя root и установите пакет screen
apt-get install screen
Теперь нам надо создать два новых файла в каталогах LS и GS
Первый скрипт для loginserver:
cd /home/server/test/loginserver/
nano login.sh
и скопируйте туда следующее
java -Xms8m -Xmx32m -ea -cp ./libs/*:ac-login-1.0.0.jar com.aionemu.loginserver.LoginServer
и второй:
nano startLogin
скопируйте в него это:
screen -A -m -d -S aion_loginserver_ID1 ./login.sh
Теперь мы должны сделать их исполняемыми
chmod +x login.sh
chmod +x startLogin

Первый скрипт для gameserver:
cd /home/server/test/Ac-Game/
nano game.sh
копируем в него:
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
и второй:
nano startGame
копируем в него это:
screen -A -m -d -S aion_gameserver_ID1 ./game.sh
Делаем скрипты исполняемыми
chmod +x game.sh
chmod +x startGame

И так, как это работает?
startLogin и startGame создают сценарии запускаются login.sh и game.sh которые будут работать в фоновом режиме. Теперь можно проверить процесс в любое время.
Запуск LS
cd /home/server/test/loginserver/
./startLogin
Запуск GS
cd /home/server/test/gameserver/
./startGame
Теперь вы можете просмотреть экраны коммандой
screen -r
он покажет вам список запущеных процессов в формате PID.screen_name и их состояния [atached] или [detached]
Это мой пример, что бы было понят как это выглядит:
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)

Вы видете что запущенно несколько серверов, так что команда sceen может быть очень полезной, для ataching screen вы просто вводите номер процесса.
screen -r 1392
эта команда выведет на экран состояние созданого нами сервера GS, и теперь мы можем наблюдать за ним или выключить его

Если вы не хоте продолжать наблюдать за работой GS нажмите Ctrl+D, это завершит вывод на экран состояния сервера

12.Бекап на локальную машину и загрузка на FTP-сервер
Когда вы имеете рабочий сервер, вы начинаете нуждаться в бекапах ваших БД что бы не потерять информацию о ваших игроках. Есть простой скрипт который будет сохранять указаные БД сжимать их и сохранять в отдельный каталог и другой скрипт который будет отправлять их (бекапы) на выбраные вами ftp-сервер. Я расскажу вам как использовать службу cron что бы запланировать это так как вам удобно.
Создадим директорию где будут лежать наши скрипты бекапа
cd /home/server
mkdir backup
cd backup
Теперь скачаем скрипты:
wget http://www.sun-aion.com/downloads/startBackup
wget http://www.sun-aion.com/downloads/backupmysql.sh
И создать каталог в нашей папке бекапов для хранения дампов БД (SQL dumps)
mkdir sql
ls
Вы должны будете увидеть содержимое папки backup - два файла startBackup и backupmysql.sh, и одну папку sql
starBackup - просто файл запуска, он будет выводит на экран ход выполнения операции
backupmysql.sh - это простой скрипт, который позволяет настраивать базы данных для резервного копирования в локальную папку с последующей отправкой на ftp-сервер
sql - это каталог в котором мы будем хранить наши резервные копии SQL

Теперь вы должны отредактировать конфигурационный в backupmysql.sh, вы должны сделать это по своему усмотрению, т.к. я все настройки прокомментировал поэтому он должен быть понятен всем, или можете оставить его содержимое "по умолчанию", если вы выполняли все согласно руководства

13. Использование Cron службы для резервного копирования сценария

14. Советы и хитрости
- Вы всегда должны запускать ваши сервера пользователем server, которого мы создали, но может произойти так что вы запускаете/компилируете/распаковываете от имени пользователя root и этим вы перезаписываете права на записать в файлы для пользователя server
Вы можете исправить это следующей командой:
chown -R server /home/server
- Если вы хотите использовать какой ни будь файловый менеджер, вы можете установить Midnight Commander (выполнив вход пользователем root)
apt-get install mc

Я закончу/исправлю/сделаю руководство читабельнее позднее. Однако оно может быть использовано уже.

Комментарии:
по NoobOne
Прекрасное руководство, спасибо.
Маленькое дополнение от меня:
Перед установкой пакетов
sun-java6-jdk sun-java6-jre
под Ubuntu, вы должны раскомментировать partner-repositories в sources.list
mcedit /etc/apt/sources.list
Найдите эту строку и удали в ее начале #, после сохраните изменения
deb http://archive.canonical.com/ubuntu maverick partner
deb-src http://archive.canonical.com/ubuntu maverick partner

Добавлено через 3 минуты
Заметка от меня, этот гайд был написан для CORE старой версии, т.к. сейчас что CORE что AXE работают отталкиваясь от ядра Engine компилирование необходимо проводить не Maven'ом а Ant'ом
Ответ
#8
Люди, помогите плз!!
Дошел по мануалу до 11 пункта (см выше)

ruso@Fomalhaut:/home/server/test/loginserver$ ls
ax-login-1.0.1.jar config data libs login_loop.sh sql startLogin.bat startLogin.sh
ruso@Fomalhaut:/home/server/test/loginserver$ ./startLogin.sh
ruso@Fomalhaut:/home/server/test/loginserver$ ./login_loop.sh: строка 6: log/stdout.log: Нет такого файла или каталога
./login_loop.sh: строка 6: log/stdout.log: Нет такого файла или каталога
./login_loop.sh: строка 6: log/stdout.log: Нет такого файла или каталога
./login_loop.sh: строка 6: log/stdout.log: Нет такого файла или каталога
...
повторяетя безконечно Sad
Что не так?
Ответ
#9
а каталог log у тебя есть?
если нет:
mkdir home/server/test/loginserver/log
и снова запусти сервер
Ответ
#10
ruso Написал:Гайдов по установке на линух тут не нашел...
поэтому юзал http://aion-base.ru/installation_aion_on...armic.html
дошел до запуска.
Сделал:
Переходим в папку gameserver
cd aion/server/gameserver
пишем chmod +x StartGS.sh

Переходим в папку loginserver
cd aion/server/loginserver
пишем chmod +x StartLS.sh


Тут правда (ревизия 75 АХЕ) startLogin.sh и startGame.sh (думаю это не важно??)
В итоге запускаю:
sudo ./startGame.sh и
sudo ./startLogin.sh выдает
:/home/aion/server/gameserver$ ./startGame.sh: строка 3: ./game_loop.sh: Отказано в доступе
и
t:/home/aion/server/loginserver$ ./startLogin.sh: строка 3: ./login_loop.sh: Отказано в доступе

3я строка - это err=1
Подскажите плз, куда копать.

Кстати
Уже не актуально но все же!


В итоге запускаю:
sudo ./startGame.sh и
sudo ./startLogin.sh выдает
:/home/aion/server/gameserver$ ./startGame.sh: строка 3: ./game_loop.sh: Отказано в доступе
и
t:/home/aion/server/loginserver$ ./startLogin.sh: строка 3: ./login_loop.sh: Отказано в доступе

Данная ошибка из за того что вы дали доступ не тем файлам,хотя даже не существующим файлам

Переходим в папку gameserver
cd aion/server/gameserver
пишем chmod +x StartGS.sh

Переходим в папку loginserver
cd aion/server/loginserver
пишем chmod +x StartLS.sh


Хотя сами пишете что у вас

Тут правда (ревизия 75 АХЕ) startLogin.sh и startGame.sh (думаю это не важно??)

Как раз оказалось важно!
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  DLE + Aion регистрация Karat 11 8,580 10-28-2021, 09:34 AM
Последний пост: Talos
  İnterServ (PTS Aion 4.6) Nexus034 0 1,981 11-21-2020, 10:38 PM
Последний пост: Nexus034
  Дебагнутый Server64 (Aion pts) hops55 4 4,447 10-06-2020, 06:37 AM
Последний пост: Romanz
  Aion сервер под клиент 4.8 EU PROGRAMMATOR 67 72,261 03-24-2019, 09:32 AM
Последний пост: css
  U3J-Aion сборка flopix 15 6,441 01-18-2019, 05:22 PM
Последний пост: flopix
  Помогите "оформить" Aion KoToWeD 0 1,746 08-15-2016, 04:01 AM
Последний пост: KoToWeD
  GeoData for Aion Karen 4 3,092 12-29-2014, 12:44 AM
Последний пост: Karen
  Парсер для AION zorgtm 41 21,388 09-30-2013, 05:53 PM
Последний пост: Phantom-Dev
  U3J AiON 514 - странное поведение системы на атаку МОБ'ов TieLay 1 2,395 06-07-2013, 11:16 AM
Последний пост: TieLay
  U3J AiON 504 s4nders 2 3,118 04-12-2013, 04:28 PM
Последний пост: s4nders

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)