Устанавливаем и запускаем Java сборку на Linux (Debian 8.3)
Описание
Итак начнём...
Устанавливаем непосредственно систему, у меня взята Debian 8.3:
Желательно что бы сетевой провод был выдернут (будем настраивать сеть вручную)
При запуске с диска (мы же записали образ Debian 8.* на диск? xD) выбираем Install
Далее выбираем язык который будет использоваться при установке и в установленной системе я выбрал English...
Далее выбираем местоположение: Other>Europe>Russian Federation...
(Местоположение в РФ связано с временным поясом, от него зависит правильность рестарта сервера)
Выбираем локальные установки: United States en_US.UTF-8...
Выбираем раскладку клавиатуры: American English
Далее идет настройка сети: Если системе не удалось получить IP автоматически (что желательно), жмём Configure network manually.
Вводим наш IP который будет на сервере, маску подсети (netmask), основной шлюз (gateway), сервер DNS (name server).
Основной шлюз и сервер DNS я сделал такими же как и IP...
Далее вводим имя хоста (hostname), доменное имя (domain)
Устанавливаем пароль для системного пользователя root (Root password): Что нибудь посложнее (желательно записать на бумажке что бы не забыть)...
Подтверждаем пароль...
Вводим имя для пользователя системы: Любое понравившееся имя...
Вводим имя аккаунта пользователя: Тут можно попроще...
Вводим пароль пользователя: Что нибудь посложнее (желательно записать на бумажке что бы не забыть)...
Подтверждаем пароль...
Выбираем часовой пояс: У меня это Moscow+00 - Moscow
Далее идёт разметка диска. Если нет желания заморачиваться выбираем первое: Guided - Use entire disk
Выбираем диск...
Выбираем схему разделов диска: У меня это All files in one partition...
Нам покажут схему разделов созданную по умолчанию. Жмём Finish partitioning and write changes to disk
Спросит действительно ли мы хотим записать схему разделов на диск, выбираем Yes и жмём Enter...
Пошла установка базовой системы...
После установки нам предложат просканировать другие диски с дистрибутивами жмём No
Далее спросит желаем ли мы использовать зеркало в сети, жмём No
Далее спросит желаем ли мы участвовать в рейтинге пакетов, или как то так жмём No
Появляется список ПО которое можно установить, снимаем отметки клавишей ПРОБЕЛ напротив:
Debian descktop environment, Print server, Standart system utilites, и ставим отметку напротив SSH server и жмём Enter...
Пройдёт установка софта и нам предложат запистаь загрузчик GRUB в загрузочную область нашего жесткого диска на что мы отвечаем Yes...
Выбираем Жесткий диск на который будет записан GRUB...
После этого установка заканчивается и установочный диск вытаскивается автоматически...
Система перезагружается и мы видим черный экран с предложением ввести логин, вводим root и пароль который ему назначали на этапе установки...
Мы в системе!!! Вставляем установочный диск, сетевой провод(если у нас есть подключение к WWW).
Начинаем установку необходимого софта (MySQL, Java).
Вводим команды (без кавычек):
"apt-get install mysql-server"
Выпадает список необходимых пакетов которые будут установлены вместе с mysql,
и в самом низу вопрос: Вы действительно хотите продолжить? Вводим "Y" (без кавычек), жмём Enter...
Во время установки нам предложат ввести новый пароль для пользователя root в mysql (не путать с системным пользователем).
Вводим пароль, жмём Enter (желательно записать на бумажке что бы не забыть)
Повторяем пароль, жмём Enter...
Далее устанавливаем Java:
"apt-get install default-jre" жмём Enter
Выпадает список необходимых пакетов которые будут установлены вместе с Java
и в самом низу вопрос: Вы действительно хотите продолжить? Вводим "Y" (без кавычек), жмём Enter...
Итак у нас всё необходимое установлено, переходим к этапу настройки:
Открываем файл /etc/mysql/my.cnf текстовым редактором "Nano"
Вводим команды (без кавычек):
"nano /etc/mysql/my.cnf" жмём Enter
Ищем строку:
bind-address = 127.0.0.1
Меняем 127.0.0.1 на наш IP указаный в процессе установки системы для того что бы мы смогли коннектиться к серваку с другого компа.
Жмём Ctrl+X
На предложение сохранить изменения вводим "y" (без кавычек) жмём Enter...
Теперь вводим (без кавычек):
"mysql -p" жмём Enter
Вводим пароль пользователя root в mysql жмём Enter
Нам необходимо создать пользователя базы данных и назначить ему привилегии.
Вводим команды (без кавычек):
"CREATE USER 'имя_пользователя'@'%' IDENTIFIED BY 'пароль_пользователя';" жмём Enter...
"GRANT ALL PRIVILEGES ON *.* TO 'имя_пользователя'@'%';" жмём Enter...
Всё, теперь у нас есть пользователь со всеми привилегиями для всех баз данных на сервере...
Где 'имя_пользователя'@'%' - здесь мы вводим желаемое имя пользователя, а '%' означает то, что мы сможем коннектиться к серваку с любого IP...
Вводим "exit" (без кавычек)...
Теперь перезагружаем mysql-server командой(без кавычек):
"/etc/init.d/mysql restart"
Отобразится статус проделываемой работы...
Создаем директорию (папку) для нашей сборки у меня она будет находится в корне диска для моего удобства.
Даем права на использование нашему пользователю которого мы создавали при установке системы.
Вводим команды (без кавычек):
"mkdir /l2" жмём Enter
"chown имя_пользователя /l2"
Итак у нас установлено всё необходимое, теперь нам нужно скопировать файлы нашей Java сборки,
создать базу данных и установить таблицы базы данных.
Копируем сборку. Это я делал через сеть подключившись с виндовой машины через SSH программой "Bitvise SSH Client"
(интуитивно понятна поэтому не стану описывать).
Сборка должна быть распакована иначе мы не сможем ее рапаковать стандартными утилитами "Debian".
Создаем базу данных. Это я тоже делал через сеть подключившись с виндовой машины программой "Navicat for MySQL"
(тоже интуитивно понятна описывать не стану). Уточню только то что создавая базу данных выбираем:
Character set: utf8 -- UTF-8 Unicode для корректного отображения кирилических шрифтов в игре.
Установка таблиц логин и гейм серверов:
Идем в папку с логин сервером ищем в папке sql файл mysql_settings.bat если работаем на виндовом компе и правим его блокнотом:
Ищем строки:
set USER=root
set PASS=pass
set DBNAME=l2jdb
set DBHOST=localhost
Меняем следующим образом (без кавычек):
set USER="имя_пользователя_mysql"
set PASS="пароль_пользователя_mysql"
set DBNAME="имя_созданной_в_Navicat_базы"
set DBHOST="IP-адрес_машины_с_mysql"
Проделываем то же самое в папке sql гейм сервера, либо копируем с заменой из папки sql логин сервера файл mysql_settings.bat.
И устанавливаем базы запустив install.bat
Если же мы хотим создать базу данных и установить таблицы логин и гейм сервера на машине с Debian вводим следующие команды (без кавычек):
Создаем базу данных:
"mysql -p" жмём Enter
Вводим пароль root в mysql.
"CREATE DATABASE имя_базы_данных CHARACTER SET = UTF8;" жмём Enter...
Выходим из mysql "exit"
Идем в директорию с нашим логин сервером т.к. у меня он находится в директории l2 в корне диска, а папка с логин сервером имеет название ls, то команда выглядит так:
"cd /l2/ls/sql" жмём Enter...
Редактируем файл установки БД
"nano install.sh" жмём Enter...
Видим примерно следующее:
#!/bin/sh
if [ -f mysql_settings.sh ]; then
. mysql_settings.sh
else
echo "Can't find mysql_settings.sh file!"
exit
fi
for sqlfile in install/*.sql
do
echo Loading $sqlfile ...
mysql -h $DBHOST -u $USER --password=$PASS -D $DBNAME < $sqlfile
done
Удаляем лишнее и приводим к следующему виду:
#!/bin/sh
for sqlfile in install/*.sql
do
echo Loading $sqlfile ...
mysql -u имя_пользователя_mysql --password=пароль_пользователя_mysql -D имя_базы_данных < $sqlfile
done
Жмём Ctrl+X
На предложение сохранить изменения вводим "y" (без кавычек) жмём Enter...
Делаем файл исполняемым:
"chmod 755 install.sh" жмём Enter...
Запускаем установку таблиц логин сервера командой (без кавычек):
"sh install.sh" жмём Enter...
Устанавливаются таблицы логин сервера...
Теперь идем в директорию sql нашего гейм сервера т.к. у меня он находится в директории l2 в корне диска, а папка с гейм сервером имеет название gs, то команда выглядит так:
"cd /l2/gs/sql" жмём Enter...
Редактируем файл установки БД
"nano install.sh" жмём Enter...
Видим примерно следующее:
#!/bin/sh
if [ -f mysql_settings.sh ]; then
. mysql_settings.sh
else
echo "Can't find mysql_settings.sh file!"
exit
fi
for sqlfile in install/*.sql
do
echo Loading $sqlfile ...
mysql -h $DBHOST -u $USER --password=$PASS -D $DBNAME < $sqlfile
done
Удаляем лишнее и приводим к следующему виду:
#!/bin/sh
for sqlfile in install/*.sql
do
echo Loading $sqlfile ...
mysql -u имя_пользователя_mysql --password=пароль_пользователя_mysql -D имя_базы_данных < $sqlfile
done
Жмём Ctrl+X
На предложение сохранить изменения вводим "y" (без кавычек) жмём Enter...
Делаем файл исполняемым:
"chmod 755 install.sh" жмём Enter...
Запускаем установку таблиц гейм сервера командой (без кавычек):
"sh install.sh" жмём Enter...
Устанавливаются таблицы гейм сервера...
Так как у меня есть папка upgrade с дополнительными таблицами БД, и файл upgrade.sh то я проделал еще и это:
Редактируем файл upgrade.sh
"nano upgrade.sh" жмём Enter...
Видим примерно следующее:
#!/bin/sh
if [ -f mysql_settings.sh ]; then
. mysql_settings.sh
else
echo "Can't find mysql_settings.sh file!"
exit
fi
for sqlfile in upgrade/*.sql
do
echo Loading $sqlfile ...
mysql -h $DBHOST -u $USER --password=$PASS -D $DBNAME < $sqlfile
done
Удаляем лишнее и приводим к следующему виду:
#!/bin/sh
for sqlfile in upgrade/*.sql
do
echo Loading $sqlfile ...
mysql -u имя_пользователя_mysql --password=пароль_пользователя_mysql -D имя_базы_данных < $sqlfile
done
Жмём Ctrl+X
На предложение сохранить изменения вводим "y" (без кавычек) жмём Enter...
Делаем файл исполняемым:
"chmod 755 upgrade.sh" жмём Enter...
Запускаем установку таблиц дополнений командой (без кавычек):
"sh upgrade.sh" жмём Enter...
Устанавливаются таблицы дополнений...
Итак, все необходимые таблицы базы данных установлены.
Переходим к этапу настройки сервера.
Идем в директорию с файлами конфигурации логин сервера:
"cd /l2/ls/config" жмём Enter...
Редактируем файл настроек логин сервера:
"nano authserver.properties" жмём Enter...
Я думаю что не надо объяснять как настраивать логин сервер...
Жмём Ctrl+X
На предложение сохранить изменения вводим "y" (без кавычек) жмём Enter...
Идем в директорию с файлами конфигурации гейм сервера:
"cd /l2/gs/config" жмём Enter...
Редактируем файл настроек гейм сервера:
"nano server.properties" жмём Enter...
Я думаю что не надо объяснять как настраивать гейм сервер...
Жмём Ctrl+X
На предложение сохранить изменения вводим "y" (без кавычек) жмём Enter...
Итак логин и гейм сервер настроены, переходим к запуску...
Идем в папку с логин сервером:
"cd /l2/ls/" жмём Enter...
Делаем исполняемыми файлы AuthServer_loop.sh и StartAuthServer.sh командой:
"chmod 755 AuthServer_loop.sh StartAuthServer.sh" жмём Enter...
Запускаем логин сервер:
"sh StartLoginServer.sh" жмём Enter...
На экране ничего не появится, вся информация находится в файле stdout.log в папке log логин сервера...
Переходим в директорию с гейм серверм:
"cd /l2/gs/"
Делаем исполняемыми файлы GameServer_loop.sh и StartGameServer.sh командой:
"chmod 755 GameServer_loop.sh StartGameServer.sh" жмём Enter...
Запускаем гейм сервер:
"sh StartGameServer.sh" жмём Enter...
На экране ничего не появится, вся информация находится в файле stdout.log в папке log гейм сервера...
Если всё сделано правильно то в файлах stdout.log мы увидим примерно следующее:
Логин сервер:
[07:43:51] INFO Loaded 127 server names
[07:43:52] INFO Loaded whirlpool2 as default crypt.
[07:43:53] INFO Cached 10 KeyPairs for RSA communication
[07:43:53] INFO Stored 20 keys for Blowfish communication
[07:43:53] INFO Loaded 0 registered GameServer(s).
[07:43:53] INFO Listening for gameservers on IP_адрес:9014
[07:43:53] INFO Listening for clients on IP_адрес:2106
Гейм сервер:
[07:49:18] INFO GameServer started.
[07:49:18] INFO Telnet server is currently disabled.
[07:49:18] INFO =================================================
[07:49:18] INFO Connecting to authserver on IP_адрес:9014
[07:49:18] INFO AllowedMemory: ........... 1544192 KB
[07:49:18] INFO Allocated: .......... 1461756 KB (94.6615%)
[07:49:18] INFO Non-Allocated: ...... 82436 KB (5.3385%)
[07:49:18] INFO AllocatedMemory: ......... 1461756 KB
[07:49:18] INFO Used: ............... 851047 KB (55.1128%)
[07:49:18] INFO Unused (cached): .... 610708 KB (39.5487%)
[07:49:18] INFO UseableMemory: ........... 693144 KB (44.8872%)
[07:49:18] INFO =================================================
[07:49:18] INFO Registered on authserver as 61 [Desperion]
Как видим всё стартовало, все работает...
Но что бы запустить сервер нам каждый раз нужно вводить кучу команд,
поэтому автоматизируем запуск сервера так, что бы он запускался при старте системы без входа в систему пользователя...
Выполняем команды (без кавычек):
"cd /etc/init.d" жмём Enter...
"touch startgs.sh" жмём Enter...
"touch startls.sh" жмём Enter...
"chmod 755 startgs.sh" жмём Enter...
"chmod 755 startls.sh" жмём Enter...
"nano startgs.sh" жмём Enter...
Пишем:
#!/bin/sh
cd /l2/gs/ && sh StartGameServer.sh
Жмём Ctrl+X
На предложение сохранить изменения вводим "y" (без кавычек) жмём Enter...
Далее:
"nano startls.sh" жмём Enter...
Пишем:
#!/bin/sh
cd /l2/ls/ && sh StartLoginServer.sh
Жмём Ctrl+X
На предложение сохранить изменения вводим "y" (без кавычек) жмём Enter...
Далее :
"cd /etc/rcS.d/" жмём Enter...
"ln -s ../init.d/mysql S18mysql" жмём Enter...
"ln -s ../init.d/startls.sh S19startls.sh" жмём Enter...
"ln -s ../init.d/startgs.sh S20startgs.sh" жмём Enter...
Всё готово, перезагружаем систему командой reboot ждем 2-5 мин. и через "Bitvise SSH Client" смотрим логи в соответствующих папках...
Извините за кучу букв, всё таки пошаговое руководство...
Думаю что кому нибудь помог...
P.S. Можно объединить запуск ЛС и ГС в одну команду...
cd /etc/init.d
touch startserver.sh
chmod 755 startserver.sh
nano startserver.sh
#!/bin/sh
cd /l2/ls/ && sh StartLoginServer.sh && cd /l2/gs/ && sh StartGameServer.sh
Жмём Ctrl+X
На предложение сохранить изменения вводим "y" (без кавычек) жмём Enter...
cd ../rcS.d
ln -s ../init.d/startserver.sh S19startserver.sh
все готово...
Рекомендуемые комментарии
Комментариев нет