_shared/, попадает в plugins/Nexo/ на каждом бэкенде. Всё, что в
servers/<name>/, попадает только на этот бэкенд и переопределяет общую копию того же
файла.
Имя сервера — это то, как вы назвали его в списке серверов вашего прокси:
velocity.toml или config.yml у BungeeCord.
Как сделать один сервер другим
Положите файл, который хотите изменить, вservers/<name>/, повторяя путь, который он
имеет в _shared/. Переопределяется только этот один файл, всё остальное по-прежнему
приходит из _shared/.
Это для различия, которое вы намерены сохранить. Чтобы опробовать изменение на одном
сервере, прежде чем его получит остальная сеть, используйте вместо этого
/nexohub stage, которая удерживает все
остальные бэкенды на тех файлах, что у них уже есть.Группы
Если четыре сервера хотят одно и то же переопределение, размещение одного и того же файла в четырёх папкахservers/ означает, что менять его придётся в четырёх местах.
Группа — это промежуточный слой.
Назовите группу и перечислите её бэкенды в config.yml прокси:
nexo-data/groups/survival/, устроенную точно так же, как
_shared/.
Порядок такой: _shared/, затем группы, к которым принадлежит сервер, затем
servers/<name>/. Каждый слой побеждает предыдущий, поэтому одиночное переопределение
всё равно берёт верх над своей группой:
config.yml, так что побеждает названная последней.
Те же три слоя переносят не только файлы, но и
настройки. Всё, что вы напишете рядом с
servers: в группе, применяется к этим бэкендам:
/nexohub status называет слои, которые каждый сервер реально получил, — это самый
быстрый способ проверить, что группа делает то, что вы думаете:
Редактирование
groups: — это изменение конфига, поэтому после него выполните
/nexohub reload. Группа без перечисленных бэкендов игнорируется с предупреждением, а
/nexohub doctor указывает на участников группы, которых нет в списке серверов вашего
прокси.Совместное использование конфигов других плагинов
Плагинами, отличными от Nexo, можно управлять точно так же. Положите их под_plugins/:
Пак, который вы скачали
Пак, который вы купили или скачали, с MCModels или откуда угодно ещё, кладётся в_shared/pack/external_packs/ — либо распакованным в отдельную папку, либо в виде
скачанного zip:
.json и .mcmeta проверяется перед тем, как что-либо
будет отправлено, и один повреждённый файл в купленном паке блокирует весь пуш, пока вы
его не исправите. Распакуйте его, если хотите редактировать содержимое, и оставьте zip,
если нет.
Он попадает в plugins/Nexo/pack/external_packs/ на каждом бэкенде, и Nexo включает
его в пак. Удаление папки на прокси убирает её с каждого бэкенда при следующем пуше, и
то же самое происходит при удалении отдельного файла внутри неё, пока у этого бэкенда
включён prune.
Это противоположность тому, что BetterHUD и подобные плагины записывают в
external_packs/ при каждой загрузке — папкой или zip, в зависимости от их
pack-type. Их вы никогда не размещаете сами, и хаб их не удаляет; NexoHub отличает их
от ваших паков, читая, куда каждый плагин заявляет, что он собирает. См.
паки плагинов.Настройки, которые остаются локальными
Некоторые настройки принадлежат отдельному серверу и должны пережить пуш. По умолчанию NexoHub защищает настройки пак-сервера Nexo — именно они направляют этот бэкенд на хаб в первую очередь:Файлы, которые вы никогда не хотите пушить
/, исключает целую папку.
Это вам понадобится редко. Всё, что ваши другие плагины генерируют во время работы, уже
в безопасности, как и исполняемый файл PackSquash в pack/packsquash/.
Обращайтесь к exclude, когда файл, которым NexoHub всё-таки управляет, должен
пережить пуш, или когда устаревшая копия сгенерированного контента случайно оказалась в
nexo-data/, например после копирования целой папки plugins/Nexo/ на прокси.
Что пропускается автоматически
Скрытые файлы, резервные копии редакторов, заканчивающиеся на~, и всё, что больше
64 МБ, никогда не отправляются. Частичные загрузки, заканчивающиеся на .tmp или
.swp, не вызывают перезагрузку, поэтому загрузка большой папки по SFTP приводит к
одной перезагрузке после её завершения, а не к одной на каждый файл.
Перед отправкой чего-либо
Каждый.yml, .yaml, .json и .mcmeta сначала проверяется, и если в любом из них
есть ошибка, ничего не отправляется. Копия ваших файлов сохраняется при каждом их
изменении, так что правку можно отменить. См.
как не сломать свою сеть.