Ядро
Arclight - гибридное ядро Bukkit + Forge для создания серверов с поддержкой как модов, так и плагинов. Ядро отличается от других гибридных тем, что имеет билды почти на все версии Minecraft (хоть и некоторые из них уже не поддерживаются), полностью уникальную систему загрузки сервера, оптимизацию миксинов, мобов, прогрузки мира и т.д. Данное ядро я могу рекомендовать тем, кто:
- Экспериментирует с настройками и умеет анализировать краш-репорты/логи.
- Умеет работать с серверами, понимает терминологию и разрабатывает свой проект.
Если вы новичок, вам следует обратить своё внимание на CatServer/Magma, т.к. Arclight действительно не похож на остальные гибридные ядра.
1.Загрузка и установка
Данное ядро можно загрузить на
официальной странице GitHub проекта. У новых версий ядра есть кодовое название, допустим 1.20 -
Trials, 1.19.4 -
Executions. Версии ниже 1.19 кодовых названий
не имеют! Помимо того, что вы можете загрузить уже собранное ядро, вы так же можете скачать исходники проекта на нужную вам версию и собрать его лично. Для загрузки готовых .jar файлов ядра перейдите в раздел
Releases:
После загрузки ядра перенесите его в нужную вам директорию на нужном вам устройстве, создайте базовый скрипт запуска:
"C:\Program Files\java\директория с jdk17\bin\java.exe" -jar arclight-fore-xxx-xxx.jar -nogui
Запустите скрипт, подождите пока ядро загрузит все необходимые библиотеки и
пропатчит все классы.
Предупреждение:
При первом запуске ядро пропатчит все классы всех используемых библиотек, модов и т.д. Если вы захотите перейти с Arclight на другое ядро, то у вас возникнет ошибка с мирами, т.к. Arclight применяет свои оптимизационные патчи и к механике миров. Прошу вас обратить на это внимание перед тем как жаловаться на то, что у вас что-то работает не так как у всех.
После первого запуска ядро выключится и попросит вас принять
EULA (Политику конфиденциальности). Вы должны открыть файл
eula.txt и заменить
eula=false на
eula=true.
Если вы сделали всё правильно, то на второй раз ядро запустится правильно, сгенерирует все файлы и мир, теперь вы можете выключить сервер командой
stop и приступить к его детальной настройке.
2.Настройка конфигурации Arclight
Важно:
В этом разделе есть спец. пометки:
arr - массив из нескольких строк
int - значение должно быть числом
bool - значение должно быть true или false
str - значение должно быть каким-то словом
def - это значение стоит по умолчанию
Файл конфигурации Arclight называется
arclight.conf и появляется в корне сервера. В этом разделе мы попробуем разобраться со всеми настройками этого ядра.
Файл конфигурации подан в формате .conf, а это значит что у него есть секции. Ознакомиться с каждой из этих секций вы можете ниже.
Строка "_v" - версия конфигурации, не трогаем.
Секция async-catcher{} - настройки утилиты, которая ловит какие-либо сбои в выполнении каких-либо методов на сервере.
str Режим работы
Всего здесь можно указать 4 значения: NONE, DISPATCH,
def BLOCK и EXCEPTION.
NONE - Ничего не делать
DISPATCH - Выполнить метод без попыток его заблокировать
def BLOCK - Заблокировать сбитый метод
EXCEPTION - Выдать ошибку
Я рекомендую оставить значение по умолчанию
defaultOperation=block
bool Дампы
Определяет будет ли ядро логгировать всевозможные действия в debug.log
dump=true
arr Исключения
Здесь вы можете указать исключения, которые не обязательны к логгированию
overrides {}
bool Предупреждения
Определяет будет ли ядро выдавать предупреждения об возможных ошибках
warn=true
Секция compatibility{} - настройки совместимости с различными модами/плагинами. В связи с тем, что данная секция предназначена исключительно для экспертов, понимающих зачем они будут редактировать какие-либо настройки в этой секции опишу всё максимально кратко.
arr Отключение/перезапись свойств энтити
entity-property-overrides {}
arr Миры с "дополнительной логикой"
extra-logic-worlds=[
"com.example.mod.ExtraLogicWorld"
]
bool Механика прав
Может иметь 3 значения - true/false/reverse. Изменяет методику передачи прав от модов к плагинам.
forward-permission=true
arr Отключение/перезапись свойств материалов
material-property-overrides {}
bool Адаптация модовых измерений
symlink-world=false
Секция locale{} - отвечает за язык, здесь даже не буду объяснять, т.к. в ней и так всё понятно.
Секция optimization{} - настройки некоторых оптимизационных методов, которые Arclight использует по умолчанию.
bool Кэширование классов плагинов
Интересная функция, позволяет ускорить время запуска плагинов.
cache-plugin-class=true
bool DataFixerUpper
DataFixerUpper - система, которая переносит данные из миров старых версий Minecraft. Arclight позволяет отключить эту систему, таким образом ускоряя время запуска сервера.
Может повредить мир если вы активируете её во время работы сервера.
disable-data-fixer=false
int Интервал между обновлением селектора цели
По факту неправильно установленное число в этом поле может привести к катастрофическому падению производительности вашего сервера, поэтому я не рекомендую его редактировать.
goal-selector-update-interval=2
Итак, мы можем сделать выводы, что данное ядро определённо может предложить интересный функционал профессионалам в сфере создания серверов/их оптимизации. Я не рекомендую использовать его новичкам, т.к. методы его работы очень отличаются от методов работы стандартных гибридных ядер. Я мог допустить некоторые ошибки при описании некоторых функций т.к. к ядру Arclight нет огромного количества документации. Надеюсь, что моя статья была для вас познавательной и полезной, если вы нашли в ней ошибку, прошу сообщить об ней в комментариях.