Начало работы над сервером для Lineage 2


Уже некоторое время работаю над новым (для меня) и интересным (опять же для меня) проектом – сервером для онлайн игры Lineage 2. Сервер для игры написан на языке Java, имеется открытый исходный код. Вот и занимаюсь тем, что модифицирую этот код согласно желаниям заказчика. Но разработка без тестирования невозможна, поэтому все же приходится разбираться и в нюансах установки/запуска игрового сервера. Как раз ниже о них немного и расскажу, просто общие моменты, кто разбирается – и так поймет, да и для меня будет заметка на память.

Итак, компиляция и запуск должны производиться на соответствующих версиях Java. Сказано 17-я версия – значит 17-я. А вот программа для компиляции такого большого значения не имеет. Желательно конечно, но не обязательно, к примеру, Эклипс. А даже если и Эклипс то версия может не совпадать.

Далее, открываем эту папку исходников, находим файл build.xml, кликаем правой кнопкой мыши и компилируем с помощью Ant.



Тут придется немного подождать, но вскоре уровнем выше проекта должна появиться новая папка build с архивом. Архив распаковываем и дальше начинается самое интересное.

Вообще, для игры Lineage 2 пойдет наверно любой сервер. Для начала ставим опять же необходимую версию Java. Также потребуется mysql, а вообще лучше сразу поставить LAMP – благо в современных системах это делается просто и практических в пару кликов. Ну и phpMyAdmin также не забудем.

Начнем с базы данных – это самое простое. Поставили мускуль, phpMyAdmin и создадим сразу базу данных с названием l2jmobiusessence. Название может быть любым. Заодно, кстати, можно и пользователя для этой бд создать (хоть с таким, хоть не с таким названием) – это желательно, от пользователя root работать с БД не очень безопасно. Дальше в эту базу данных ставим последовательно логин сервер и гейм сервер (из папки db_installer). Причем на сервере с веб интерфейсом это будет просто – запуск программ (есть и экзешники и jar-ники), а вот с обычным удаленным придется поступить так: взять из папки sql все файлы с расширением sql и импортировать их в БД, можно даже через phpMyAdmin.

Дальше меняем доступы в файлах login\config\LoginServer.ini и game\config\Server.ini (GameserverHostname, пароль и тому подобное). База готова.

Теперь заливаем скомпилированные файлы на сервер и пробуем запустить LoginServer.sh. Выходит ошибка – необходимо создать директорию log рядом и предоставить права на запись. Аналогично с GameServer.sh (GameServerTask.sh). Понятно, что sh надо предварительно установить на сервере.

Также отдельно возможно необходимо зарегистрировать сервер, тут расписывать не буду и так много получилось. Для локального XAMPP не пришлось регистрировать. Да, не забудьте поставить авторегистрацию (при неправильном вводе логина, точнее несуществующего) сервер сам создает учетку с этим логином-паролем. Ну и в принципе можно играть.

Еще немного по самому клиенту игры. Необходимо как-то дать понять ему, к какому ip подключаться. Прописывается это все в файле L2.ini, что в папке system. Просто так файл не открыть, есть специальные программы. Например, L2Lige или аналоги.

Итак, первый раз мы скомпилировали, запустили сервер, подключились к нему из клиента



Дальше надо разбирать код и менять, что надо. Но это уже совсем другая история.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, игры, java, Lineage 2




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Начало работы с API от AmoCRM на PHP
Урок 3. Оператор CREATE SQL
Урок 2. Ведение в макеты Yii2