AION X EMU + Ubuntu 10.04.1 Практикум
Гайдов по установке на линух тут не нашел...
поэтому юзал http://aion-base.ru/installation_aio...10_karmic.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 Подскажите плз, куда копать. Кстати:Развернуть ↓ |
Re: AION X EMU + Ubuntu 10.04.1 Практикум
Зачем через судока? Просто переходишь в папку и ./StartGS.sh. А если принципиально, то запусти лучше из под рута и не парь моцк.)
З.Ы. папку не забудь расшарить на 777 (гугли). В свойствах файлов схшников еще поставь что бы можно было запускать. |
Re: AION X EMU + Ubuntu 10.04.1 Практикум
пробовал и без 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: Отказано в доступе то же самое |
Re: AION X EMU + Ubuntu 10.04.1 Практикум
Вот гайд взятый с форума Aion XEMU
Цитата:
Былобы хорошо если его бы перевели=) |
Re: AION X EMU + Ubuntu 10.04.1 Практикум
Zombie, Биговые сенксы тебе, мил ЧЕловек :)
ИМХО, уже увидел свой косяк, плз, заходи почаще в мой постег - чуствую, не мало еще вопрософф задам... |
Re: AION X EMU + Ubuntu 10.04.1 Практикум
Оке=)) Не забываем тыкать на кнопочку "Поблагодарить" =)
|
Re: AION X EMU + Ubuntu 10.04.1 Практикум
Цитата:
Написал 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'ом |
Re: AION X EMU + Ubuntu 10.04.1 Практикум
Люди, помогите плз!!
Дошел по мануалу до 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: Нет такого файла или каталога ... повторяетя безконечно :( Что не так? |
Re: AION X EMU + Ubuntu 10.04.1 Практикум
а каталог log у тебя есть?
если нет: mkdir home/server/test/loginserver/log и снова запусти сервер |
Re: AION X EMU + Ubuntu 10.04.1 Практикум
Цитата:
Код HTML:
В итоге запускаю: Код HTML:
[I]Переходим в папку gameserver Код HTML:
Тут правда (ревизия 75 АХЕ) startLogin.sh и startGame.sh (думаю это не важно??) |
Текущее время: 02:27. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot