> ## Documentation Index
> Fetch the complete documentation index at: https://nexohub.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Команды

> Всё, что можно выполнить, и что при этом выводится.

Все эти команды выполняются на прокси. На бэкендах команд нет.

| Команда | Что делает |
| - | - |
| `/nexohub status` | что есть у каждого бэкенда |
| `/nexohub push [server]` | отправить ваши последние файлы сейчас |
| `/nexohub stage <server>` | протестировать правки на одном бэкенде, придержав остальные |
| `/nexohub promote` | раздать то, что вы застейджили, всем |
| `/nexohub discard` | выбросить застейдженные правки |
| `/nexohub validate` | проверить, что файлы парсятся, без отправки |
| `/nexohub history` | версии `nexo-data/`, к которым можно вернуться |
| `/nexohub rollback <id>` | вернуть одну из них |
| `/nexohub adopt <server>` | принять файлы бэкенда как файлы сети |
| `/nexohub doctor` | проверить всю связку от начала до конца |
| `/nexohub packs` | показать или очистить сохранённые паки |
| `/nexohub contributions` | что прислали ваши плагины |
| `/nexohub reload` | перечитать `config.yml` |

## `/nexohub status`

```
[NexoHub] NexoHub, pack hosting delegated to HERMES
  lobby [3p] bundle 5d935602 in sync
      pack 58b2bb42  Nexo 1.26.0/26.2  (last heard 12s ago)
  pvp [1p] bundle 5d935602 +groups/survival+servers/pvp in sync
      pack 3094361a  Nexo 1.26.0/26.2  (last heard 4s ago)
[NexoHub] 2 pack(s) stored, keeping 5.
```

| | |
| - | - |
| `[3p]` | игроки на этом сервере |
| `in sync` | у него ваши последние файлы |
| `stale` | всё ещё на старых файлах |
| `never reported` | он выключен, или его мост настроен неправильно |
| `+groups/survival` | он входит в группу и получает этот слой |
| `+servers/pvp` | у него есть собственные переопределения |

Пустые серверы тоже отчитываются, так что `stale` никогда не означает просто «никого нет».
Старое значение `last heard` у простаивающего бэкенда — это нормально: оно обновляется,
только когда что-то меняется.

Неудачная перезагрузка или расхождение версий тоже выводятся здесь. См.
[устранение неполадок](/ru/guides/troubleshooting).

## `/nexohub push [server]`

```
[NexoHub] Pushed to 2 of 3 backend(s).
[NexoHub] 1 had no players connected; they pull on their next poll, join or restart.
```

Сохранение файла уже делает это, так что команда нужна редко.

<Warning>
  Указание сервера определяет, кого уведомят первым, а не кто получит изменения. Все получают
  одно и то же изменение в течение нескольких секунд. Чтобы правка не попала на боевые серверы,
  используйте `/nexohub stage`; чтобы дать одному бэкенду другие файлы, положите их в
  `nexo-data/servers/<name>/`.
</Warning>

## `/nexohub stage <server>`

Удерживает всех остальных на файлах в их текущем состоянии, чтобы вы могли редактировать
на одном бэкенде так, чтобы игроки этого не видели.

```
[NexoHub] Staging on dev.
[NexoHub] 3 backend(s) held on the files as they are now: lobby, pvp, smp
[NexoHub] Edit nexo-data/ now. Only dev follows it.
```

Сначала стейджите, потом редактируйте — копия снимается в момент выполнения команды.
При желании укажите несколько бэкендов: `/nexohub stage dev dev2`.

Пока стейдж активен, сохранение файлов, отправка и откат останавливаются на удерживаемых
бэкендах. `/nexohub status` помечает удерживаемые. Игроки, переходящие между удерживаемым
и застейдженным бэкендом, скачивают пак в обе стороны — именно это и означает тестирование
другого пака.

Стейдж переживает перезапуск прокси — намеренно.

## `/nexohub promote`

```
[NexoHub] Promoted what dev was running to the whole network.
[NexoHub] Pushed to 3 of 4 backend(s).
```

Если ваши файлы не парсятся, ничего не продвигается, и стейдж продолжает действовать.

## `/nexohub discard`

Возвращает `nexo-data/` ровно в то состояние, в котором его застал стейдж, включая удаления.

```
[NexoHub] Discarded the stage on dev.
[NexoHub] Restored 42 file(s) to nexo-data/.
[NexoHub] A snapshot was taken first, so /nexohub history still has the work you threw away.
```

Работа не пропала — откатитесь, чтобы её вернуть.

## `/nexohub validate`

```
[NexoHub] 2 file(s) do not parse:
  _shared/glyphs/emotes.yml line 7: mapping values are not allowed here
  _shared/pack/pack.mcmeta: invalid JSON
```

Для проблем в YAML указывается строка, для проблем в JSON — только имя файла.

## `/nexohub history`

```
[NexoHub] 4 snapshot(s), newest first:
  1769517840000-5d935602  118 file(s)  3m ago  your edit
  1769516010000-0c47b7c6  117 file(s)  33m ago  your edit
  1769508900000-77c1a2e5  96 file(s)  2h ago  before adopting lobby
```

Пометка в конце — причина, по которой снимок был сделан. Идентификаторы сортируются так же,
как читаются.

## `/nexohub rollback <id>`

Восстанавливает снимок и отправляет его. Достаточно первых нескольких символов идентификатора.

```
[NexoHub] Restored 117 file(s) from 1769516010000-0c47b7c6, taken 36m ago.
[NexoHub] 2 file(s) added since then were removed.
```

Команда удаляет файлы, добавленные после снимка, — иначе она не смогла бы отменить добавление
файла. Текущее состояние сначала снимается, так что откат можно откатить.

## `/nexohub adopt <server>`

Принимает собственную папку `plugins/Nexo/` бэкенда как сетевую `_shared/`. Для переноса
существующей сети на хаб, а не для повседневного использования.

```
[NexoHub] Asked lobby for its plugins/Nexo/ folder.
[NexoHub] _shared/ already holds 96 file(s); a snapshot is taken before anything is overwritten.
```

Бэкенд, на котором никого нет, вместо этого будет опрошен при следующем опросе. Ему нужно
знать своё имя, которое при `server_name: auto` он узнаёт при первом входе игрока — так что
на совершенно новой установке кто-то должен сначала зайти один раз.

Сгенерированный вывод не переносится. После этого выполните `/nexohub validate`. Весь процесс
описан в разделе [перенос существующей сети](/ru/guides/migrating).

## `/nexohub doctor`

Выполняет проверки, которые иначе вы делали бы вручную. Команда делает запрос туда и обратно,
поэтому занимает некоторое время.

```
[NexoHub] Checking...
  ok   everything under nexo-data/ parses
  note pack hosting is delegated to HERMES, so public_address is unused
  ok   all 3 backend(s) have reported in
  ok   no backend reports a failed reload
  ok   backends agree on their Nexo and Minecraft versions
  ok   every backend on the same files serves the same pack
  note plugins/nexohub/ uses 62 MiB (2 pack(s), 4 snapshot(s))
[NexoHub] No problems found.
```

Строки `bad` подсчитываются в конце. Строки `note` полезно знать, но это не ошибки.

Единственная проверка, которую вы не сможете сделать сами, — доступен ли ваш адрес игрокам:
при `packs.host: proxy` doctor запрашивает его снаружи вашей сети.

## `/nexohub packs`

```
[NexoHub] 2 stored pack(s), newest first:
  58b2bb4218c7  153 KiB  2m ago
  3094361a6eda  153 KiB  18m ago
```

`/nexohub packs prune` очищает сразу, не дожидаясь. Пак, который сервер всё ещё раздаёт,
никогда не удаляется, что бы ни говорил `packs.keep`.

## `/nexohub contributions`

То, что прислали плагины ваших бэкендов: шрифты BetterHUD, модели ModelEngine и всё
остальное, записанное в `plugins/Nexo/pack/external_packs/`.

```
[NexoHub] 3 contribution(s), from 2 backend(s):
  lobby
      betterhud  412 KiB  5e6f7a8b
      bettermodel  1204 KiB  c1d2e3f4
  pvp
      betterhud  388 KiB  9a0b1c2d
```

Каждый бэкенд поддерживает свои записи в актуальном состоянии, поэтому чтобы удалить одну
из них, нужно остановить плагин, который её создаёт, а не удалять папки.

`/nexohub contributions drop <server> [name]` принудительно удаляет запись за бэкенд, который
не может сообщить об этом сам — выведенный из эксплуатации, на старом мосте или с
`contribute: false`.

<Warning>
  Если этот бэкенд всё ещё генерирует папку, он опубликует её снова при следующей перезагрузке.
  Остановите плагин или добавьте его в `contribute_exclude`.
</Warning>

## `/nexohub reload`

Перечитывает `config.yml`. Используйте после изменения порта, адреса, секрета, групп,
настроек или хостинга — вместо перезапуска прокси.

```
[NexoHub] Reloaded config.yml and rebuilt every bundle.
```

Изменения хостинга здесь вступают в силу сразу, но каждый бэкенд узнаёт о них только при
следующей синхронизации. После команды выполните `/nexohub push`.

## На бэкендах

Запускать нечего. Вы можете наблюдать за происходящим в их логах:

```
[NexoHubBridge] Applied bundle 5d935602, 42 file(s) into plugins/.
[NexoHubBridge] Registered the HUB pack server with Nexo.
[NexoHubBridge] The hub has bundle 5d935602; pulling it without waiting for a player.
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.