Установка линукс (Ubuntu server 7.10 i386) и запуск сервера L2Emu IL на нем…
Описываю как что делал для себя...
Технические условия...
Комп:
Цитата
Celeron 1200МГц, 512Мб оперативы, хард - 20Гб
Сеть:
Цитата
роутер D-link Dl-824vup+ с IP 192.168.0.1
внутренняя сеть - 192.168.0.0/255.255.255.0…
локалка – 10.211.22.200, 10.0.0.0/255.255.248.0
интернет - 78.107.239.220, 0.0.0.0/255.255.255.255
IP сервера - 192.168.0.5
На роутере добавлены Виртуальные серверы с IP 192.168.0.5 и TCP портами 7777, 2106, 80
Установка Ubuntu server 7.10… берем здесь
http://mirror.yandex.ru/ubuntu-releases/gutsy/ 1. Загружаемся с диска и жмем "Install to the Hard Drive"…
2. Затем идут региональные настройки, я везде выбрал "русский", "Россия" и т.п. От автоопределения клавы отказываемся… тип и раскладку клавиатуры я поставил "Русский"… переключение раскладок - Ctrl+Shift…
3. Во время настройки сети давим "Отмена" и выбираем "Настроить сеть вручную", IP – 192.168.0.5, Маска – 255.255.255.0, Шлюз – 192.168.0.1, DNS – 192.168.0.1…
4. Вводим имя компа – "server"…
5. Разметка диска… выбираем "Вручную"… и создаем 2 раздела: Swap и Файловую систему… Swap – 2Гб, первичный, начало диска, использовать как "Раздел подкачки"… Файловая система – все что осталось, первичный, Использовать как "Ext3", точка монтирования – "/", Метка ‘загрузочный’ – "вкл"…
6. Часовой пояс – "Москва", Системные часы показывают UTC? – "Да"…
7. Имя пользователя, учетная запись, 2 раза пароль…
8. При выборе сервера жмем "Tab"...
Ждем пока установится и перезагружаемся… Заходим в систему…
Теперь немого настроим систему…
1. Сначала поменяем пароль пользователя root… выполняем:
Код
sudo passwd root
вводим пароль текущего пользователя, а затем 2 раза новый пароль для root… выполняем:
Код
logout
и заходим под рутом
2. Отредактируем файл с репозиториями…
Код
nano /etc/apt/sources.list
надо закомментировать все строки deb-src и deb cdrom, для того чтобы система не качала исходники и не требовала диск с дистрибутивом… Жмем Ctrl+X выхода... сохраняемся...
3. Обновляем систему… выполняем:
Код
aptitude update && aptitude dist-upgrade && aptitude upgrade
затем перезагружаемся:
Код
shutdown –r now
После перезагрезки снова заходим под рутом
Теперь приступим к установке программ…
1. Midnight Commander, двухоконный файловый менеджер, типа досовского Norton Commander или виндового FAR Manager…
Код
apt-get install mc
2. Поддержка ZIP-архивов…
Код
aptitude install unzip
aptitude install zip
3. Браузер Elinks…
Код
apt-get install elinks
4. Java Development Kit 6…
Код
aptitude install sun-java6-jdk
Соглашаемся с лицензионным соглашением...
после окончания выполняем:
Код
nano /etc/jvm
На 1е место вписываем /usr/lib/jvm/java-6-sun...
5. MySQL… выполняем:
Код
apt-get install mysql-server
указываем пароль на базу…
6. Веб-сервер Apache 2…
Код
apt-get install apache2
7. PHP 5…
Код
apt-get install php5 libapache2-mod-php5
8. ANT, программа для компилляции…
Код
aptitude install ant
9. Subversion, программа, для получения исходников с SVN…
Код
aptitude install subversion
10. Maven, программа для компилляции сервера…
запускаем браузер
Код
elinks
и вводим URL
Код
http://www.sai.msu.su/apache/maven/binaries/apache-maven-2.0.8-bin.tar.gz
сохраняем файл на диск /… выходим из браузера… Esc – File – Exit… Запускаем MC:
Код
mc
… идем куда сохранили архив и распаковываем его в /mvn… (с архивами работаем как с обычными папками… Для копирования жмем F5 и указываем путь /mvn)…
11. PhpMyAdmin, управление базами данных…
Сворачиваем MC комбинацией "Ctrl+O" и выполняем
Код
apt-get install phpmyadmin
после установки запускаем браузер и вводим URL
Код
http://switch.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.4-all-languages.zip
сохраняем файл (/) и выходим из браузера… Возвращаемся в MC ("Ctrl+O")Распаковываем полученный архив в папку /var/www/… и переименовываем полученную папку в phpmyadmin… потом нодо записать в эту папку файлы из аттача...
12. SSH, Удаленный доступ к файлам... сворачиваем MC и выполняем...
Код
apt-get install ssh-server
Теперь надо получить исходники и собрать из них сервер…
1.Качаем исходники… Переходим в корень диска, жмем F7 и создаем папку /l2emu… Сворачиваем MC… Переходим в созданную папку
Код
cd /l2emu/
затем качаем GameServer, LoginServer и DataPack
Код
svn co http://tools.assembla.com/svn/L2Emuproject/archives/
DiskW
Код
svn co http://tools.assembla.com/svn/L2Emuproject/trunk/L2Emu_DiskW/
Внимательнее с регистром букв, линукс придирчив к этому… Для ускорения процесса можно запускать скачки в разных сеансах… переключение сеансов осуществляется комбинациями Alt+{F1..F6}… Ждем пока все скачается… Разворачиваем MC и распаковываем архивы L2Emu_GameServer_IL.zip, L2Emu_LoginServer_IL.zip, L2Emu_DataPack_IL.zip из папки /l2emu/archives/ в папку /l2emu, в итоге в папке /l2emu должны появиться папки L2Emu_GameServer_IL, L2Emu_LoginServer_IL, L2Emu_DataPack_IL… Распаковка займет прилично времени… Потом надо скопировть папку .svn из /l2emu/archives/ в получившиеся папки…
2. Перед сборкой желательно немного заглянуть в исходники (для редактирования выбираем файл и жмем "F4"), а именно…
/l2emu/L2Emu_GameServer_IL/src/main/java/net/sf/l2j/gameserver/serverpackets/... здесь редактируем файлик NpcHtmlMessage.java… на 165 строке, надо заменить 8192 на 5120… это нужно для предотвращения падения клиента, от html’ок размером более 5кб (в винде можно 8кб, а в линуксе только 5кб…)… после изменений не будут работать некоторые окна админки… до изменений, клиент падал бы с критом…
/l2emu/L2Emu_GameServer_IL/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/… нам нужен файл AdminCTFEngine.java, здесь в блоке, начинающемся на 38 строке, 2 раза повторяются комманды ”admin_ctf_minlvl” и ”admin_ctf_maxlvl”… повтор надо стереть…
3. Приступим к сборке… Сворачиваем MC…
DiskW
Код
cd /l2emu/L2Emu_DiskW/
JAVA_HOME=/usr/lib/jvm/java-6-sun/ ant
DataPack
Код
cd /l2emu/L2Emu_DataPack_IL/
JAVA_HOME=/usr/lib/jvm/java-6-sun/ ant
LoginServer
Код
cd /l2emu/L2Emu_LoginServer_IL/
JAVA_HOME=/usr/lib/jvm/java-6-sun/ /mvn/bin/mvn –Dmaven.test.skip=true
GameServer
Код
cd /l2emu/L2Emu_GameServer_IL/
JAVA_HOME=/usr/lib/jvm/java-6-sun/ /mvn/bin/mvn –Dmaven.test.skip=true
4. Разворачиваем MC, создаем папку /server и распаковываем в нее архивы…
LoginServer - l2j-loginserver-dist.zip (/l2emu/L2Emu_LoginServer_CT1/target/)
GameServer – l2j-gameserver-dist.zip (/l2emu/L2Emu_GameServer_IL/target/)
DataPack – L2Emu_DataPack_IL.zip (/l2emu/L2Emu_DataPack_IL/build/)
5. После распаковки в папке /server, получилось 5 папок l2j-gameserver, l2j-loginserver, guides, tools и sql… Для удобства я переименовал папки l2j-gameserver и l2j-loginserver в game и login соответственно… а также перенес содерджимое папок game/dist и login/dist в game и login соответственно…
6. Распаковываем содержимое папки /diskw/www/ из архива DiskW - L2Emu_DiskW.zip (/l2emu/L2Emu_DiskW/build/) в /var/www/...
Устанавливаем базы
1. Немного подправим установщик баз… Идем в /server/tools/, редактируем файл database_installer.sh… в 1й строке надо поставить пробел между # и !/bin/bash, потом удалить все знаки ”^” и пустые строки, также заменить items_on_ground.sql, vip.sql и update_01 (…09) на itemsonground.sql, vipinfo.sql и update_1 (…9) соответственно… Сохраняем и выходим… Теперь дадим права на запуск этого файла… жмем F9 -> файл -> права доступа… отметить в 3х местах запуск/поиск и выбрать «Установить»…
2. Создаем базу ”Emu_DB”… Сворачиваем MC и выполняем:
Код
mysqladmin –pPASS CREATE ‘Emu_DB’
(пробел между –p и паролем не ставится)...
3. Устанавливаем таблицы в базу… выполняем
Код
cd /server/tools/
./database_installer.sh
вводим данные для LS: хост (localhost), базу (Emu_DB), логин (root) и пароль… вводим то же самое для GS, затем подтверждаем создание конфига (y), отказываемся от бэкапа баз LS (n), выбираем полную установку (f)… отказываемся от бэкапа баз GS (n), выбираем полную установку (f)… от обновлений отказываемся (n)…
Настраиваем сервер…
1. идем в /server/login/config/network/ редактируем файл database.properties, здесь указываем пароль к базе
Код
Password =
в этой же папке редактируем файл network.properties, здесь ставим
Код
LoginServerHostName = 0.0.0.0
2. идем в /server/login/ очищаем от ”^” и пустых строк файлы register_gameserver.sh и account_manager.sh, даем им права на запуск… также очищаем от ”^” и пустых строк файл setenv.sh…
3. Сворачиваем MC и выполняем
Код
cd /server/login/
./register_gameserver.sh
вводим 1…
Сздадим админа… выполняем
Код
./account_manager
выбираем 1, username – admin, password, accesslvl – 200… жмем 5 для выхода…
4. Разворачиваем MC и редактируем loginserver_loop.sh… очищаем от ”^” и пустых строк… заменяем
Код
java -Dfile.encoding=UTF-8 -Xmx64m net.sf.l2j.loginserver.L2LoginServer > log/stdout.log 2>&1
на
Код
java -Djava.util.logging.config.file=console.cfg -Xmx64m net.sf.l2j.loginserver.L2LoginServer
для того, чтобы ход загрузки сервера отображался в консоли...
5. идем в /server/game/config/network/ редактируем файл database.properties, здесь указываем пароль к базе
Код
Password =
в этой же папке редактируем файл network.properties,
Код
GameserverHostname = 0.0.0.0
ExternalHostname = 78.107.239.220
InternalHostname = 192.168.0.5
InternalNetworks = 192.168.0.0/255.255.255.0
OptionalNetworks = 78.107.239.220,0.0.0.0/255.255.255.255;10.211.22.200,10.0.0.0/255.255.248.0
6. идем в /server/game/ и очищаем очищаем от ”^” и пустых строк файлы setenv.sh и gameserver_loop.sh… также дать файлу gameserver_loop.sh права на запуск и заменить в нем
Код
java -Dfile.encoding=UTF-8 -Xmx712m net.sf.l2j.gameserver.GameServer > log/stdout.log 2>&1
на
Код
java -Djava.util.logging.config.file=console.cfg –Xmn128m –Xms512m –Xmx512m –server net.sf.l2j.gameserver.GameServer
Выходим из MC (F10) и переходим к запуску сервера… Логин и Гейм серверы запускаем в разных сеансах
1. LoginServer…
Код
cd /server/login/
./loginserver_loop.sh
2. GameServer…
Код
cd /server/game/
./gameserver_loop.sh
Доступ к фалам...
Возможно кому-то удобнее все подготовит в винде, а на сервер перенести уже все готовое...
1. Можно записать в винде на болванку и перенести на сервер...
Чтобы монтировать и демонтировать CD надо создать .sh файл с правами на запуск следующего содержания
Код
# !/bin/sh
retval=`/bin/mount | grep /media/cdrom`
if [ -n "$retval" ];
then /bin/umount /media/cdrom 1> /dev/null 2> /dev/null
if [ "$?" -ne 0 ];
then echo "Can’t unmount CDROM"
else echo "Unmount CDROM"
eject /dev/cdrom
fi
else /bin/mount /media/cdrom 1> /dev/null 2> /dev/null
if [ "$?" -ne 0 ];
then echo "Can’t mount CDROM"
else echo "Mount CDROM"
fi
fi
2. Доступ по SSH... я пользуюсь SSH-клиентом WinSCP ( http://winscp.net/download/winscp406setupintl.exe )...
Там все просто... вводим хост (192.168.0.5), порт (22), логин и пароль пользователя системы... через несколько секунд получаем полный доступ к файлам на сервере ...Доступ к базам...
1. phpMyAdmin... с удаленной машины в браузере вводим:
Код
http://192.168.0.5/phpmyadmin
вводим логин и пароль... и делаем с базами что захотим...
2. Navicat... создаем новое подключение... хост - localhost, порт - 3306, логин и пароль доступа к базе... затем переходим на вкладку SSH... отмечаем галочку "Use SSH Tunnel"... хост - 192.168.0.5, порт - 22, логин и пароль пользователя системы... жмем "ОК" и подключаемся... делаем с базами, что захотим...Обновлено: GameGuard Server пропал с свн...Обновлено: доступ к файлам через SSH... доступ к базам с удаленной машины phpMyAdmin и Navicat...