это я опустил установку и запуск прочих сервисов от mysql, apache, интеграции php в апач.
это уже стоит давно и работает
просто создал юзверя и бд в mysql.
попробовал monit для слежения утечек памяти в работе явы, но еще рано, конфиг далек от совершенства.
полный мануал который нашел(второй такой же за исключением пары моментов):
Скрытый текст
и запустите его:
# ./usr/local/etc/rc.d/mysql-server.sh start
После чего для начала стоит установить пароль в MySQL на супер-пользователя root:
# mysqladmin -u root -password new_password
Теперь логинимся в MySQL:
# mysql -u root -p
И создаем базу данных для сервера линейки, а так же пользователя, из под которого сервер коннектиться к БД.
mysql> create database l2jdb;
mysql> GRANT ALL PRIVILEGES ON l2jdb.* TO 'имя_юзера'@'localhost' IDENTIFIED BY 'пароль_юзера';
На всякий случай сменим шифрование пароля юзера мускуля на старое (снимает проблемы с использованием некоторых PHP-скриптов и утилит, работает или нет сам сервер с новым шифрованием – не помню, возможно что тоже не работает):
# mysql -u root -p
mysql> set password for 'имя_юзера'@'localhost'=old_password('пароль_юзера');
5. Ставим Javavmwrapper.
Установка – стандартная, из портов:
# cd /usr/ports/java/javavmwrapper
# make install clean
6. Ставим Java.
Можно конечно поставить яву из портов, но сборка пакета займет ОЧЕНЬ много времени, и если вам не хочется забивать себе голову компиляцией этого пакета с выкачиванием в ручную всех зависимостей с sun.com, можно установить яву с уже скомпилированного пакаджа.
Для этого качаем с сайта http://www.freebsdfoundation.org/downloads/java.shtml пакеты Diablo JDK и Diablo JRE под свою систему, ложим их, к примеру, в темповый каталог (/tmp) и устанавливаем с помощью утилиты pkg_add:
# cd /tmp
# pkg_add diablo-jdk-freebsd5.i386.1.5.0.07.01.tbz
# pkg_add diablo-jre-freebsd5.i386.1.5.0.07.01.tbz
Всё, ява установлена.
7. Ставим Screen.
Ну здесь так же стандартная установка из портов:
8. Ставим Subversion.
И вновь стандартная установка из портов:
# cd /usr/ports/devel/subversion
# make install clean
9. Ставим Apache + SSL
Опять идем в порты:
Вписываем строчку в /etc/rc.conf:
‘apache_enable=»YES»‘
.
10. Ставим PHP и php-extensions.
И сновь всё из портов:
# cd /usr/ports/lang/php4
При установке extensions стоит проверить выбор компонентов FTP, GD, MYSQL, SOCKETS, ZIP, все остальные можно оставить по умолчанию.
На этом установка основных (и не очень)) приложений завершена, можно приступать к настройке сервера Lineage.
Ставить сервер и иже с ним будем в /usr/games (вы можете выбрать любой другой каталог, разницы особо нет))).
12. Закачиваем последнюю ревизию с SVN (если с SVN какие-либо проблемы или вы просто им не пользуетесь можете смело пропускать этот пункт):
# mkdir /usr/games/SVN
# svn co http://tools.assembla.com/svn/rusteamc5 /usr/games/SVN
13. Готовим сборку к запуску.
Для удобства рекомендую всё же поставить Midnight Commander, т.к. заниматься копированием/редактированием большого количества файлов из командной строки не очень удобно. Поставить его можно из пакаджей:
# pkg_add -r mc
либо из портов:
# cd /usr/ports/misc/mc
# make install clean
Запускается он командой mc.
13.1. И так, далее – создаем каталог /usr/games/l2j и копируем в него каталоги из SVN/Server с названиями gameserver и login.
13.2. Копируем в gameserver каталоги из SVN/Datapack с названиями config и data.
13.3. Копируем в gameserver/data каталоги из SVN/Geodata с названиями geodata и pathnode.
13.4. В каталогах geodata и pathnode лежат архивы с данными геодаты и патчами, их конечно же нужно распаковать, для чего стоит поставить RAR:
# cd /usr/ports/archivers/rar
# make install clean
Распаковать файлы можно либо стандартными командами rar’а из командной строки, либо входя в архив прямо из Midnight Commander’a (при установленом rar’е он позволяет это делать). Архивы после распаковки можно удалить, если что – они всегда есть в каталоге SVN.
13.5. Настройки для сервера делаются так же как и на любой другой системе – правятся файлы конфигурации, лежащие в каталогах config игрового (gameserver) и логинсервера (login), не забудьте изменить в них имя и пароль пользователя для подключения к БД.
14. Создаем таблицы в базе данных.
Для создания таблиц можно создать для себя файлик по типу и подобию SVN/Datapack/tools/database_installer.bat либо изменив его под себя по типу:
#!/bin/sh
mysql -u имя_пользователя --password=пароль_пользователя -D l2jdb < ../sql/account_data.sql
mysql -u имя_пользователя --password=пароль_пользователя -D l2jdb < ../sql/armor.sql
mysql -u имя_пользователя --password=пароль_пользователя -D l2jdb < ../sql/armorsets.sql
mysql -u имя_пользователя --password=пароль_пользователя -D l2jdb < ../sql/auction.sql
mysql -u имя_пользователя --password=пароль_пользователя -D l2jdb < ../sql/auction_bid.sql
.... и так далее
и, присвоив ему права на выполнение (chmod 755 имя_файла), запустить его.
Либо можно все запросы на создание и наполнение таблиц выполнить вручную с помощью команды:
# mysql -u имя_пользователя -pпароль_пользователя l2jdb < имя_файла.sql
Сначала ставятся все файлы из каталога sql, потом из каталога sql/RT, при надобности ставятся расширения из sql/Addon (не забудьте при их установке установить и настроить сами аддоны из каталога ../optional), и последними ставятся апдейты БД из sql/updates.
15. Первый запуск
При первом запуске стоит поставить в login/config/loginserver.properties переменную AcceptNewGameServer=True, что бы ваш гейм-сервер мог без проблем зарегистрироваться на логин-сервере. После первого удачного запуска ее рекомендуется отключить (false). А так же не забыть включить в конфиге гейм-сервера геодату (по умолчанию она отключена).
Создаем в каталоге логин-сервера скрипт для его запуска с названием l2ls.sh и следующим текстом:
#!/bin/sh
while true; do
nice -n -20 /usr/local/bin/java -Xms1024m -Xmx1024m -cp javolution.jar:c3p0-0.9.1.2.jar:mysql-connector-java-5.0.6-bin.jar:l2jserver.jar net.sf.l2j.loginserver.LoginServer
sleep 10
done
Присваиваем ему права на выполнение:
chmod 755 l2ls.sh
В каталоге гейм-сервера создаем скрипт для запуска с названием l2gs.sh и таким текстом:
#!/bin/sh
while true; do
nice -n -20 /usr/local/bin/java -Xms1024m -Xmx1024m -cp bsf.jar:bsh-2.0b4.jar:commons-logging-1.1.jar:javolution.jar:jython.jar:c3p0-0.9.1.2.jar:mysql-connector-java-5.0.6-bin.jar:l2jserver.jar net.sf.l2j.gameserver.GameServer
sleep 10
done
Так же присваиваем ему права на выполнение:
chmod 755 l2gs.sh
Теперь можно попробовать в разных консолях запустить l2ls.sh и l2gs.sh (кто не знает – переключение между консолями на локальной машине – ctrl+F1,F2,F3 и тд))).
Если всё нормально, логин-сервер запустился, гейм-сервер запустился и приконнектился к логин-серверу, то продолжаем…
16. Запуск сервера в фоновом режиме.
Для запуска логин и гейм серверов в фоновом режиме будем использовать виртуальную консоль через screen.
Создадим в корневом каталоге сервера (/usr/games/l2j) скрипт с названием start такого содержания:
cd /usr/games/l2j/login/
/usr/local/bin/screen -AmdS la2_realm /usr/games/l2j/login/l2ls.sh
cd /usr/games/l2j/gameserver/
/usr/local/bin/screen -AmdS la2_world /usr/games/l2j/gameserver/l2gs.sh
И присвоим ему права на выполнение:
chmod 755 start
Теперь при запуске этого скрипта сервера у вас запустятся в фоне, не высыпая ничего на экран.
Для просмотра запущеных консолей можно воспользоваться командой
# screen -list
Должен вывестись список примерно такого типа:
There are screens on:
931.la2_realm (Detached)
933.la2_world (Detached)
2 Sockets in /tmp/screens/S-root.
Для подключения к виртуальной консоли используйте команду
# screen -r la2_realm
Что бы отключиться от виртуальной консоли нажмите ‘Ctrl+a d’.
Ну что же, всё нормально, всё запускается в бэкргаунде. Пора настроить запуск сервера при старте системы.
17. Запуск сервера при старте системы.
Идем в каталог /usr/local/etc/rc.d и создаем там скрипт lineage.sh такого содержания:
#!/bin/sh
cd /usr/games/l2j/
./start
Теперь при старте системы сервера login и gameserver запустятся автоматически.
из всего этого использовал только установку JDK6 и то ставил из портов
скачал L2jServer_BETA_8600.zip
в нем 2 архива:
.L2J_DataPack_BETA.zip
..community\
..doc\
..game\
..languages\
..login\
..sql\
..tools\
.L2J_Server_BETA.zip
..doc\
..game\
..images\
..languages\
..libs\
..login\
..tools\
с sql разбрался, добавляются файлы из datapack/sql
а вот с этим:
ты имеешь в виду что:
.L2J_Server_BETA.zip
..game - это gameserver
..login - это loginserver
так?
а что тогда делают диры game/login в DataPack
или нужно просто DataPack вставить в Server, с если она будет, заменой файлов?