102 lines
5.7 KiB
Markdown
102 lines
5.7 KiB
Markdown
# Zote Core Loader
|
|
|
|
__Zote Core__ — серверное ядро, основанное на Inner Core 1.16.200, созданное для создания уникального геймплея с модами.
|
|
|
|
Основой серверного ядра послужил [Nukkit-MOT](https://github.com/MemoriesOfTime/Nukkit-MOT), его можно легко обновить, заменив соответствующую библиотеку.
|
|
|
|

|
|
|
|
## Установка
|
|
|
|
Поддерживается любая платформа, поддерживающая Java 17 или выше. Загрузите последний релиз серверного ядра, либо соберите репозиторий с помощью Gradle.
|
|
|
|
Запустите собранное ядро, открыв консоль в папке с ним:
|
|
|
|
```sh
|
|
java -jar ZoteCore-SNAPSHOT.jar
|
|
```
|
|
|
|
## Конфигурация
|
|
|
|
Настройки производятся посредством трех основных файлов: *server.properties* и *zotecore.yml*. Они будут созданы автоматически сразу же после запуска ядра, документация по первым двум доступна в репозитории Nukkit.
|
|
|
|
> Некоторые настройки Nukkit заблокированы загрузчиком, среди которых *multiversion-min/max-protocol* (422), *xbox-auth* (авторизация с помощью него не доступна) и *save-player-data-by-uuid* (false).
|
|
|
|
### zotecore.yml
|
|
|
|
Стандартные настройки ядра, которые можно использовать как основу:
|
|
|
|
```yml zotecore.yml
|
|
# Изменение информации пака, который клиент должен иметь для входа на сервер.
|
|
# Устаревшие или не реализованные методы, однако, добавлены не будут.
|
|
pack: Inner Core Test
|
|
pack-version: 2.3.0b116 test
|
|
pack-version-code: 153
|
|
|
|
# Устанавливает список модов и конфигураций для загрузки, вы можете
|
|
# указать название, имя папки модпака из /modpacks или путь.
|
|
modpack: innercore
|
|
|
|
# Использование ванильного интерфейса верстака, вместо кастомного.
|
|
# Внимание: в настоящее время не поддерживается
|
|
# и пользовательские рецепты не будут отображаться.
|
|
use-legacy-workbench-override: on
|
|
|
|
# Отключение исправления инвентаря для подключенных клиентов,
|
|
# устаревшие версии не работают должным образом с ним,
|
|
# не позволяя перемещать предметы по инвентарю.
|
|
use-legacy-inventory: on
|
|
|
|
# Переключение режима отладки для неподдерживаемых методов (например, клиентских).
|
|
# Может быть одним из: none, debug (по умолчанию), warning, raise.
|
|
unsupported-method-handling: debug
|
|
|
|
# Могут ли моды использовать небезопасные функции (например, вызов eval) или нет.
|
|
# Внимание: это может создать риск безопасности, однако, например, его запрет
|
|
# влияет на requireGlobal и часто может нарушить работу модов.
|
|
allow-unsafe-scripting: on
|
|
|
|
# Режим разработчика позволяет получать дополнительную информацию
|
|
# о работе ядра, а также профайлинг методов.
|
|
developer-mode: off
|
|
|
|
# Время в секундах между запусками автосохранения данных модов (любое от 20),
|
|
# а также мира, если он включен в другой опции.
|
|
auto-save-period: 60
|
|
|
|
# Нужно ли помимо данных модов сохранять еще и миры.
|
|
auto-save-world: on
|
|
|
|
# Включен ли сокетный сервер или нет. Сокеты требуют дополнительный порт,
|
|
# подключение через серверные сокеты более стабильное.
|
|
socket-server-enable: on
|
|
|
|
# Порт серверного сокета, обычно должен быть между 10000 и 24999.
|
|
# Но учтите, что по умолчанию клиент использует порт 2304.
|
|
socket-port: 2304
|
|
```
|
|
|
|
## Консольные команды
|
|
|
|
+ custom_items — выводит список кастумных предметов
|
|
+ custom_blocks — выводит список кастумных блоков
|
|
+ mods — выводит список модификаций на сервере
|
|
+ inner_core_network — выводит список подключенных к протоколу игроков на сервере
|
|
+ state — выводит стейты блока по рантайм идентификатору
|
|
|
|
> Все команды предназначены для операторов и не могут быть вызваны игроками.
|
|
|
|
## Лицензия
|
|
|
|

|
|
|
|
## Техническая информация
|
|
|
|
| Ключ | Значение |
|
|
|---|---|
|
|
| Версия протокола | 422 (1.16.200) |
|
|
| Версия Horizon | 9 (1.2.0-android-12) |
|
|
| Коммит Apparatus | `73194cfd` |
|
|
| Коммит Instant Referrer | `a264591` |
|
|
| Коммит Nukkit-MOT | `2b53fb5` |
|