Строчные ссылки на файлы модов и своё ожидание готовности
Игра приводит путь к вложенным файлам анимаций в нижний регистр целиком, вместе с именем папки мода. На Linux такие файлы не находятся, и сервер сыплет в лог сотнями FileNotFoundException. Кнопка на вкладке «Моды» раскладывает рядом строчные симлинки: файлы модов не меняются, повторный запуск после докачки безопасен, а на файловых системах без различия регистра кнопка честно говорит, что делать нечего. Ожидание строки о готовности стало настройкой профиля со значением по умолчанию 30 минут вместо общих 15. Сборке на три сотни модов пятнадцати не хватает, и панель объявляла бы работающим сервер, который ещё никого не пустит. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
сохраняется), перезапуск, автоподъём после падения, автозапуск вместе с
|
||||
менеджером. «Работает» панель показывает не раньше, чем сервер напечатает
|
||||
`*** SERVER STARTED ****`: пока идёт загрузка мира, состояние остаётся
|
||||
«Запускается».
|
||||
«Запускается». Сколько ждать эту строку — настройка профиля.
|
||||
- **Живая консоль** — вывод сервера в реальном времени и отправка любых команд
|
||||
(`players`, `save`, `servermsg`, `kickuser`, …).
|
||||
- **Мониторинг** — состояние, аптайм, CPU и память процесса сервера, свободные
|
||||
@@ -28,6 +28,8 @@
|
||||
самого конфига, поиск идёт и по названию, и по описанию.
|
||||
- **Мод-менеджер** — моды списком с галочками и перетаскиванием порядка
|
||||
загрузки, добавление по ссылке и разворачивание коллекций Steam целиком.
|
||||
Отдельная кнопка лечит ошибки анимаций у модов с заглавными буквами в
|
||||
именах файлов.
|
||||
- **Импорт пресетов сборок** — ZIP-пакет сборки загружается прямо в панель:
|
||||
конфиг, песочница и точки появления попадают в новый или существующий
|
||||
профиль, свои порты и пароли при этом сохраняются. Отдельно принимаются
|
||||
@@ -286,6 +288,32 @@ Mod ID, который нужен серверу, лежит внутри сам
|
||||
Один пакет мастерской может содержать несколько модов — в списке они идут
|
||||
отдельными строками, и включать их можно по отдельности.
|
||||
|
||||
### Регистр имён файлов модов
|
||||
|
||||
Project Zomboid приводит путь к вложенным файлам анимаций в нижний регистр
|
||||
целиком — вместе с именем папки мода. На Windows это незаметно, а на Linux
|
||||
сервер такие файлы не находит и сыплет в лог сотнями исключений:
|
||||
|
||||
```
|
||||
AnimNode.Parse threw an exception reading file: .../GunsOfMarz/.../UnloadShotgun_HB.xml
|
||||
FileNotFoundException: .../gunsofmarz/.../loadshotgun_hb.xml (No such file or directory)
|
||||
```
|
||||
|
||||
Читаемый файл — с правильным регистром, а ссылка внутри него резолвится
|
||||
строчными буквами. Переименование не помогает: в нижний регистр уходит весь
|
||||
путь, включая папку мода, а ссылки внутри модов написаны вразнобой.
|
||||
|
||||
Кнопка **«Разложить строчные ссылки»** на вкладке «Моды» кладёт рядом с каждым
|
||||
именем, где есть заглавные буквы, симлинк на него же строчными. Файлы модов не
|
||||
меняются: операция только добавляет имена и никогда не переписывает
|
||||
существующие. Повторный запуск безопасен и дёшев — уже готовые ссылки
|
||||
пропускаются, поэтому кнопку удобно нажимать после каждой докачки модов.
|
||||
|
||||
Останавливать сервер не нужно, но анимации читаются один раз при загрузке мира
|
||||
— чтобы ссылки подхватились, сервер надо перезапустить. На файловых системах,
|
||||
которые сами не различают регистр (Windows, macOS), кнопка сообщает, что делать
|
||||
нечего.
|
||||
|
||||
## Редактор конфигов
|
||||
|
||||
Вкладки «Конфиг сервера» и «Песочница» показывают параметры не сплошным
|
||||
@@ -345,6 +373,19 @@ Mod ID, который нужен серверу, лежит внутри сам
|
||||
`server_name`, `admin_password` и `java_memory` превращаются в первый профиль
|
||||
при первом запуске.
|
||||
|
||||
### Ожидание готовности
|
||||
|
||||
Панель считает сервер работающим, увидев в его выводе строку
|
||||
`*** SERVER STARTED ****`. Пока строки нет, состояние — «Запускается», и это
|
||||
честно: до неё сервер не принимает подключения.
|
||||
|
||||
Строка может и не прийти — своя сборка или своя версия сервера назовёт её
|
||||
иначе. На этот случай у профиля есть **ожидание готовности**: по его истечении
|
||||
панель считает сервер запущенным и пишет об этом в консоль. По умолчанию — 30
|
||||
минут; ванильный сервер поднимается за минуту, а сборке на три сотни модов
|
||||
нужно больше десяти. Если ваша сборка грузится дольше, поднимите значение,
|
||||
иначе панель скажет «Работает» серверу, который ещё никого не пустит.
|
||||
|
||||
## Обновление
|
||||
|
||||
Панель показывает свою версию и следит за релизами в репозитории: вкладка
|
||||
|
||||
Reference in New Issue
Block a user