Сервер отображается как stale
Пустой сервер — не причина. Бэкенды отчитываются сами, так что сервер, на котором никого
нет, всё равно показывает, что у него есть. Проверяйте в таком порядке:
1
Он запущен?
Бэкенд, который выключен или не имеет моста, отображается как
never reported, а
не stale.2
Секрет правильный?
В логе бэкенда написано
Hub rejected the request: wrong hub.secret in config.yml.
Скопируйте его заново с прокси.3
Имя правильное?
Если вы задали
server_name вручную, оно должно точно совпадать со списком серверов
вашего прокси. Бэкенд, на котором ни разу не было игрока и у которого не задано имя,
не может запросить свои файлы.4
Он может достучаться до прокси?
Could not reach the hub означает файрвол или неправильный hub.address. Если на
прокси задан http.api_address, бэкенд должен указывать на этот порт.5
Опрос выключен?
poll_seconds: 0 означает, что этот бэкенд синхронизируется только пока на нём
кто-то есть. В его логе при запуске написано Polling is off.last reload failed на сервере, который выглядит нормально
Nexo said: — это то, что Nexo напечатал во время работы, и обычно
там сказано, что именно.
Чистая перезагрузка означает, что пак был собран. Она не означает, что у Nexo не было
жалоб по пути, поскольку NexoHub не может отличить ошибку от строки прогресса в
собственном выводе Nexo. Если что-то по-прежнему выглядит неправильно, прочитайте
консоль этого бэкенда.
Ничего не отправлено, файлы не парсятся
Бэкенды расходятся в версиях
Игроки не получают пак
Запустите/nexohub doctor.
При хостинге по умолчанию пак раздаётся внешним хостом, и doctor об этом сообщает:
packs.host: proxy doctor запрашивает ваш адрес снаружи:
Invalid PackServer type specified: HUB
Nexo запустился раньше, чем мост успел зарегистрироваться. Проверьте, что
NexoHubBridge.jar находится в plugins/ этого бэкенда, и посмотрите чуть выше этой
строки — там будет собственная ошибка моста.
Nexo продолжает работу без пак-сервера, так что игрокам не отправляется ничего
сломанного.
NexoHubBridge is inactive: hub.secret is not set
Скопируйте secret из config.yml прокси в конфиг этого бэкенда и перезапустите. Он
одинаковый на каждом бэкенде.
Пока вы этого не сделаете, этот бэкенд не трогает раздачу паков Nexo, вместо того чтобы
перехватывать её наполовину, так что игроки там не получают пак. Остальная сеть в
порядке.
players will not be able to download it
Прокси был недоступен или отклонил загрузку, поэтому вместо сломанной ссылки не было
отправлено ничего. Проверьте, что прокси запущен и что hub.address и hub.secret
верны. Повторная попытка будет при следующей перезагрузке.
The hub has no Nexo files of its own, so nothing was swept
Нормально сразу после установки на прокси. Ничего не сломалось и ничего не потеряно.
Хаб, у которого пусто в nexo-data/, никогда не трактуется как «удалить файлы этого
бэкенда», даже если его бандл уже несёт сгенерированный вывод других бэкендов или общие
исходники плагинов.
Сделайте одну из двух вещей, о которых говорит сообщение: /nexohub adopt <server>,
чтобы заполнить его с бэкенда, которому вы доверяете, или сами положите файлы в
nexo-data/_shared/.
Could not reach the hub, continuing on the last synced files
Бэкенд запустился, пока прокси был выключен. Он использует файлы, синхронизированные в
прошлый раз, и догоняет самостоятельно. Вы видите это один раз, а не раз в минуту.
HUD или модели выглядят неправильно на одном сервере
Обычно это конфликт имён плагинов. На прокси:resourcepack-obfuscation в конфиге BetterHUD.
Модели могут выглядеть неправильно без предупреждения на прокси, потому что BetterModel
передаёт свой вывод напрямую Nexo, и хаб его никогда не видит. Проверьте лог бэкенда:
pack.use-obfuscation: false в plugins/BetterModel/config.yml на каждом
бэкенде и перезапустите. Nexo в любом случае обфусцирует объединённый пак, так что вы
ничего не теряете.
См. паки плагинов.
/nexohub contributions пуст или в нём нет плагина
Проверьте в консоли бэкенда, что он решил:
pack-type: noneв его конфиге означает, что он ничего не собирает.- Его
build-folder-locationуказывает за пределыNexo/pack/external_packs/, так что Nexo никогда не импортирует его как внешний пак. BetterModel поставляется так намеренно. - Его конфиг не парсится, и бэкенд об этом сообщает.
external_packs/, никогда не публикуется, поскольку
никакой плагин на него не претендует. Вместо этого положите его в
nexo-data/_shared/pack/external_packs/ на прокси, и его получит каждый бэкенд.
Я распаковал пак на одном бэкенде, и он разошёлся повсюду
Папка вexternal_packs/ публикуется там, где zip — нет, потому что запись папки
туда — это способ, которым собираются некоторые генераторы. Бэкенд об этом сообщает:
nexo-data/_shared/pack/external_packs/ на прокси и удалите с бэкенда.
Чтобы оставить её на этом одном бэкенде, укажите её в contribute_exclude.
Мои паки не переместились, когда я запустил /nexohub adopt
Усыновление никогда не переносит pack/external_packs/, потому что большая его часть
всё равно пересобирается на каждом бэкенде. Команда перечисляет, что она оставила, и
помечает то, за что не отвечает ни один плагин:
nexo-data/_shared/pack/external_packs/.
Остальным ничего не нужно.
Пак, который я удалил из external_packs, продолжает возвращаться
Его возвращают обе половины. Плагин записывает его снова при следующем запуске, а хаб
возвращает ваш собственный вклад как _hub-<name>-<id>.
Остановите то, что его генерирует — удалите HUD из конфига BetterHUD, деинсталлируйте
плагин или добавьте папку в contribute_exclude — и он исчезнет при следующей
перезагрузке.
Если бэкенд не может отозвать его сам, удалите его вручную:
Мультипак-шаблоны показывают основной пак
Ваш хост скрывает хеш пака в URL, а мультипаку он нужен. Так делаютPOLYMATH и
LOBFILE. Переключитесь на hermes, s3 или proxy. См.
хостинг.
Игроки скачивают пак заново при переходе между серверами
- Старый
NexoHubBridge.jarна этих бэкендах. Обновите его везде. - Они не смогли достучаться до хаба, когда генерировали. Исправьте соединение и отправьте изменения снова.
- Один хранит содержимое пака, которого нет у остальных, так что файлы совпадают только
на бумаге. Проверьте
/nexohub contributions.
Pack.obfuscation.type: NONE здесь не помогает, хотя кажется, что должен. Два сервера с
идентичными файлами всё равно собирают разные байты даже при полностью выключенной
обфускации.Если полосы загрузки нет и игроки видят только применение пака, ничего не скачивается
заново — это пак отправляется повторно, а подавлять это — работа NexoProxy.Правка сделала только хуже
Заполняется диск на прокси
/nexohub packs prune делает это прямо сейчас,
packs.keep и sync.snapshots задают лимиты.