Как скомпилировать файлы в линеаге 2 для своего сервера

Обновлено: 01.07.2024

В данном уроке я расскажу как правильно подключать свои папки проектов для компиляции .u пакетов. А так же мы скомпилируем простой скрипт.

Что нам понадобится:
1) Unreal Runtime так как он наиболее подходит по схожести стандартных функций.
2) Декомпилятор .u пакетов или просмотерщик классов, такие как UE Explorer или WOTgreal Package Exporter
3) Текстовый редактор, я использую Notepad++ и плагин для подсветки UnrealScript

Приступим:
1) Первым делом нам понадобится скрипт/класс который мы будем собирать, я использую клиент Lineage II Epic Tales of Aden – Infinite Odyssey: Shadow of Light part 2 и декомпилятор WOTgreal Package Exporter. Открываем декомпилятором папку систем и выбираем к примеру LineageMonster7.u и в появившемся списке классоф ищем класс clock_work_cucuru , это ездовая птица, которая у нас появилась в клиенте GOD, после того как нашли и выбрали у нас с права появится код, его мы и будем использовать.

2) Что нам нужно что б скомпилировать наш пакет с классом который мы выбрали для компиляции:
Создать папку в главном каталоге рунтайма с названием будущего пакета .u который мы хотим получить. И в данной папке создать папку Classes.
Classes - папка в которой будут лежать наши исходные классы для компиляции в .uc формате.
Теперь нам необходимо создать любым текстовым редактором класс clock_work_cucuru с форматом .uc и вставить в него код который мы выбрали в нашем декомпиляторе. Сохраняем и закрываем.

3) После того как мы создали папку нашего проекта с нужным классом нам необходимо подключить её для компиляции в нашем редакторе, для этого нам необходимо найти в папке system, файл UE2Runtime.ini и открыть его.

В данном файле мы будем подключать наш проект для компиляции, для этого нам необходимо найти секцию [Editor.EditorEngine] и ниже в конце секции будет параметры EditPackages= , они и отвечают за подключение.
После самого нижнего EditPackages= в нашей секции добавляем строку
EditPackages=ИмяНашейПапкиПроекта

Но так как наш класс использует класс LineageRidePawn и многие другие класс используют LineagePawn, нам необходимо подключить пакет LineageWarrior.u, для этого берём из папки систем нашего клиента наш пакет и декриптером l2decrypt.exe прогоняем, полученный файл переименовуем в оригинальное название и закидываем в папку system нашего редактора. И в нашем конфиге выше
EditPackages=ИмяНашейПапкиПроекта
Добавляем строку EditPackages=LineageWarrior , именно выше так как наши скрипты используют классы и методы из пакета LineageWarrior а компилятор ла2 работает только последовательно!
Так же вы можете подключить наши скрипты в редактор, для этого ищем в этом же конфиге секцию [UnrealEd.UnrealEdEngine] и так же после нижнего EditPackages= добавляем наши выше добавленные строки. Всё теперь мы можем сохранить документ и закрыть.

4) Теперь мы можем приступать к компиляции, делается это довольно просто. Что б не издеватся над собой и каждый раз не прописывать код пути к нашей папке систем, мы сразу в системе создаём бат(.bat) файл с любым названием и пишем в него cmd. После чего сохраняем и закрываем. Теперь запустите его и напишите make ucc и компиляция нашего .u пакета начнётся. Если вы хотите упростить компиляцию, можете в нашем бат файле сразу прописать make ucc и просто запускать его!

Так же перед перекомпиляцией не забываем удалять наш скомпилированный .u пакет из папки system.

Гайд писал на скорую руку.
Спасибо за внимание, пользуйтесь. От себя скажу, что всё это есть в интернете стоило всего лишь почитать литературу по компиляции .u пакетов для любой игры на основе унреал движка!

Так же же мой первый видео урок с использованием аудио описания, не ругаться за дикцию, проблемы из-за того что терялся что сказать)


Урок был создан в качестве образовательного пособия, для того что бы показать вам принцип работы с компилятором UnrealScript для Lineage2. Для того что бы у вас начали работать более сложные функции и собирало их, вам по данному примеру необходимо собрать библиотеки с функциями Lineage 2.

Автор статьи: webdes27(mmodev27)
Скайп автора: l2j-ct

Статья была написана мной и распространена по разным ресурсам! За озвучку видео извиняюсь, это был первый мой гайд с аудио сопровождением.

Пример того что у вас может получится можно посмотреть здесь . Разумеется модель и эффект вы сами подбираете. Привязка к костям есть в скриптах клиента, смотрим на питбосов и по аналогу делаем.

Декомпил Java сборки Lineage 2

Сегодня мы с вами научимся декомпилировать и собирать(компилировать обратно) привычные для нас ядра различных java сборок Lineage 2.

Много криков слышится о том что без исходных кодов работать с компилированным ядром ява сервера - не возможно. Это абсолютно не верная информация и абсолютно не правильная.
Сегодня, мы с вами ознакомимся с 1 из методов работы с подобным видом продуктов.
Что нам понадобится?
1. Естественно, любой свободный декомпилятор Java среды.
2. Любой версии Java JDK платформы (Developer kit).
3. Наличие хотябы 1 полу прямой руки.
Итак, для начала - выбираем нашу любимую жертву, над которой будем усердно работать.
Не знаю, для какой цели вам нужен кусок исходных кодов - но дело ваше. Для эксперемента, жертвой были выбран скомпилированный код команды l2jserver, чтоб обидно не было никому.
Первым нашим шагом будет декомпиляция собственно нужного нам класса.
Много ума здесь совсем не нужно. Поэтому - задействуем ранее скачанный декомпилятор(я буду вести пример на основе jd gui decompiller).
Открываем jar архив с нужным нам классом:

Декомпил Java сборки Lineage 2

Декомпил Java сборки Lineage 2

Декомпил сборки
Декомпилируем нужный нам класс в исходные коды (java):
Декомпил сборки

Теперь, настал момент истины и их нужно обратно собрать.
Делать мы это будем ровно в 1 клик. Для сбора мы создадим папочку: D:\compile\, в которую поместим декомпилированный нами ранее класс(скрин №2) и сам .jar архив который мы декомпилировали.
Теперь - осталось не много не мало - скомпилировать наш класс. Для этого, мы используем консоль нашей OS (у виндузятников - cmd, линупсоиды - думаю подсказывать не нужно где консоль).
Для начала, проверим - доступен ли нам компилятор (javac) в исконном виде. Введем в консоль:

javac

Если после введения команды нам высветило большой манаул - все в порядке. Если же результатом исполнения стало:

"javac" не является внутренней или внешней командой

то беда пришла за нами. Дело - копеечное, решается ровно в 4 клика.
Если возникло двигаем: Мой компьюетр->свойства->дополнительно->переменные среды и ищем там переменную "Path". Выбираем - редактирование, и дописываем путь к бинарникам нашей Jdk (/путь до jdk/bin), к примеру это будет выглядеть так:

и добавляем (через ; к переменной). Сохраняем, и открываем консоль снова. Если при исполнении javac все в порядке - воуля, проблема устранена.
Теперь - непосредственно компилируем ранее декомпилированный нами класс.
Заходим туда, где лежит наш класс:

Компилируем сам класс:

D:\compile>javac -classpath l2jserver.jar -Xlint:unchecked Имя_декомпилированного_класса.java

как пример - компиляция GameServer.java :

D:\compile>javac -classpath l2jserver.jar -Xlint:unchecked GameServer.java

Что ж, на выходе (в той же папке) мы получили: наш_класс.class. Дело сделано, все довольны.
Осталось - мелочи. Открываем декомплируемое нами ядро (l2jserver.jar) простым архиватором (winzip, winrar, 7z) и доходим до уровня, где лежит старый класс (/com/sf/ и т д). Удаляем старый класс, жмем "ADD" и запихиваем сюда класс, который мы скомпилировали выше.
Вот собственно и все, мы проделали операцию нужную вам. После декомпилирования класса вы можете внести свои поправки в исходный код и успешно скомпилировать его и всунуть куда нужно.

Если ссылка на файл уже не работает нажмите на кнопку Нужно Авторизоватся и напишите в окне для жалобы "битая ссылка".
После этого файл будет перезалит в течении суток.

Нравится +1
Не нравится -1

Доброго времени суток! Вы начали увлекаться серверами не просто, как игрок, но и как разработчик ? И у Вас наверняка возникло желание создать свой сервер Lineage 2, что бы побегать с друзьями? Или же создать сервер не только для друзей, но и для других игроков, и при этом еще попробовать заработать ? Именно об этом и пойдет речь в этом материале. Мы подробно расскажем, как правильно создать свой сервер Lineage 2 Interlude, какие нужны для этого программы и как сделать все правильно, без ошибок. Ну что же, погнали 🙂

Качаем и устанавливаем нужные программы для своего сервера

программы для создания своего сервера lineage 2


3. Инсталируем Navicat. Саму установку я объяснять Вам не буду, она несложная, всего около трех кликов нужно сделать, что бы установить программу.

Переходим к установке своего сервера Lineage 2 Interlude

1. Заходим в Navicat.

navicat

Всё, с Navicat мы закончили и теперь его можно закрыть.

Нажимаем любую кнопку, и мы попадаем в вот такое меню:

Выбираем полную инсталляцию сервера, вводим 1 и жмём Enter. Ждём 100% завершения установки. Дальше нажимаем на любую клавишу и закрываем окно.

Если Вы оказываете различные услуги поддержки игроков, разрабатываете сборки и т.п, то свяжитесь с нами и возможно мы будем рекламировать Ваши услуги тут.


Итак, погнали.
1. Устанавливаем Яву. Просто запускаем инсталлятор, жмём дальше, дальше, дальше, ждём установки и всё.

2. Устанавливаем MySQL 5.1. После установки запускаем утилиту настройки MySQL Server Instance Configuration Wizard (она сама запустится по окончанию установки, если нет – её можно запустить принудительно из Пуск-Программы-MySQL). Жмём Next, пока не появится поля со вводом пароля (Modify Security Settings).


3. Устанавливаем Navikat 8.2. for MySQL. Программа платная, но есть триал на месяц, так что не сцать. Да и кряк найти, думаю, не проблема будет при желании. Запускаем это программу, жмём File > New Connection.



Connection name - пишем что-нибудь, дальше всё заполнено, как по умолчанию в настройках MySQL (надеюсь, вы там ничего не меняли, ну а если меняли – то сюда впишите то, на что изменили), последняя строчка «Пароль» - пишем туда пароль, который мы вводили в настройках MySQL (например, 12345). Жмём ОК. В левой колонке главного окна программы Connections появилась надпись Localhost_3306 (или какие-то другие циферки). Кликаем два раза по ней, открывается списочек. Теперь кликаем правой кнопочкой мышки по этой же напдписи, выбираем New Database… и в первой строчке пишем l2jdb.


Вторую и третью строчки оставим без изменений и жмём Ок. Теперь ещё раз кликаем второй кнопкой мыши на строчке Localhost_xxxx, снова жмём New Database… и создаём вторую базу с именем l2jcb. На этом пока что манипуляции с этой программкой заканчиваются.

3. Распаковываем скачанные архивы с сервером l2j. Назовём, допустим, папку с ними “Server”. Внутри там много всяких папочек, но для начала нам нужна папка tools. Внутри лежит database_installer.bat, жмём правой клавишей по нему и выбираем Изменить. Меняем указанные ниже строчки на значения тоже приведенные ниже (можно скопировать):
set lsuser=root
set lspass=12345
set lsdb=l2jdb
set lshost=localhost
set cbuser=root
set cbpass=12345
set cbdb=l2jcb
set cbhost=localhost
set gsuser=root
set gspass=12345
set gsdb=l2jdb

Жмём F и ждём установки файлов сервера в базу данных MySQL. Здесь с MySQL 5.0. у меня была загвоздка – выдавались всякие дурацкие ошибки на черных и фиолетовых фонах. Я долго не мог понять, в чем причина, но потом просто установил версию 5.1. и всё отлично установилось. В процессе установки батник будет задавать вопросы, устанавливать или не устанавливать какие-то там дополнительные компоненты. Подтверждаем нажатием клавиши “y” (англ). Ждём окончания установки.

5. Ползём обратно в папку логин, запускаем RegisterGameServer.bat. Вот что он нам должен выдать:

GSRegister
1 - Register GameServer
2 - List GameServers Names and IDs
3 - Remove GameServer
4 - Remove ALL GameServers
5 - Exit
Choice: _

6. Запускаем логин-сервер startLoginServer.bat и ждём его загрузки. Если всё хорошо, выглядеть он должен примерно так:



7. Запускаем игровой сервер startGameServer.bat в папке gameserver, ждём его загрузки (это затяжной процесс). Если всё хорошо, и он приконнектился к логин-серверу, всё выглядеть должно вот так:



В строке ServerAddr= ставим свой IP адрес. Клацаем File – Save and Encrypt file и сохраняем его поверх старого L2.ini.Всё, теперь запускаем линейку и пытаемся зайти в игру.

По умолчанию на Яве стоит авторегистрация. То бишь, когда вы заходите в игру впервые, вы вводите любые логин и пароль, которые впоследствии запоминаются сервером и привязываются к вашему персонажу. Чтобы зайти на своего персонажа во второй раз, нужно ввести тот же логин и пароль, который вы ввели перед тем, как создали этого персонажа. Дальше, чтобы стать ГМом, нужно создать персонажа, затем найти его в базе данных и присвоить ему 1-ый уровень доступа. Открываем NaviCat 8.2. for MySQL, заходим в l2jdb/tables/characters, в появившейся таблице находим своего персонажа, тянем нижнюю полосу прокрутки вправо, пока не увидим колонку acsesslevel. Ставим «1» для того чара, которому нужно выдать права админа. Теперь когда вы войдете в игру, ваш персонаж будет по умолчанию с зелёным ником и он сможет вызывать админку по команде //admin . А там уже будет и виверна, и ГМшопы, и точенья, и выдача скилов – в общем, там разобраться не трудно. Подробно описывать эту панельку здесь не буду. Надеюсь, со временем допрёте сами.
Если у вас сильно тормозит компьютер при запущенном сервере и клиенте, то возможно вам немного поможет ссылка скрыта от гостей (авторизуйтесь) Эта небольшая утилита очистит ваш компьютер от ненужных файлов, исправит ошибки реестра и незначительно увеличит производительность системы.
Спасибо за внимание. Надеюсь, у вас всё получилось. А если возникли проблемы – пишите в комментариях, и мы обязательно постараемся вам помочь.

Читайте также: