Как поднять свой сервер Horizon

horizon-server — сервер Minecraft 26.3 без Java: создание из лаунчера в пару кликов, установка на VPS, команды, бэкапы, веб-панель и что с Docker.

Автор: редакция MC Horizon · Опубликовано · Обновлено

Свой сервер Horizon поднимается за пару минут: во вкладке Servers лаунчера достаточно поставить галочку EULA и нажать Create. Для VPS есть консольный horizon-server — одна нативная программа без Java, с файлом server.toml, веб-панелью и бэкапами. На него заходят и игроки Horizon, и обычные клиенты Java Edition 26.3.

Что понадобится

  • Своя копия Minecraft 26.3 — как и для игры: сервер берёт файлы из подготовленных вами.
  • По умолчанию сервер проверяет аккаунты, как ванильный: каждый игрок входит через Microsoft. Сервер без проверки (offline mode) пускает любого под любым ником — держите такой только в своей сети или через VPN вроде Tailscale и с белым списком.
  • Ничего от Mojang сервер не скачивает и не содержит.

Способ 1. Из лаунчера (без команд)

  1. Вкладка Серверы в верхнем меню лаунчера (или кнопка запуска своего сервера на странице «Играть») → Создать сервер.
  2. Имя, мир (новый, по желанию с сидом, или копия вашего), режим, сложность, максимум игроков, кто может зайти: Только друзья (белый список, первый друг станет оператором) или Любой, у кого есть адрес.
  3. Поставьте галочку Я принимаю EULA Minecraft и нажмите «Создать».

На странице сервера: Start/Stop/Restart, плитки «игроки онлайн», TPS, MSPT и RAM, вкладки Overview (консоль), Players (оператор, кик, бан, белый список), «Настройки» и «Резервные копии». Если игра на сервере упадёт, лаунчер перезапустит её сам.

Как пустить друзей: в той же сети — адрес с кнопкой Copy; через интернет — встроенная интеграция с Tailscale (бесплатно, без настройки роутера, видят только приглашённые; лаунчер может ограничить им доступ одним Minecraft) или проброс TCP-порта 25565 на роутере.

Лаунчер → Serversкнопки, Tailscale,бэкапы каждые 6 чдомашний ПК horizon-server (CLI)init / start / statusupdate с откатомVPS, без экрана Dockerобраз не публикуется,собирается из реподля опытных
Три пути: лаунчер для дома, CLI для VPS, Docker — только самостоятельная сборка.

Способ 2. На Linux-VPS из командной строки

1. Установка (Linux x86-64 или macOS; на Windows есть аналог для PowerShell):

curl -fsSL https://raw.githubusercontent.com/horizon-rust/horizon/main/packaging/server/install.sh | sh

Скрипт качает последний релиз с GitHub, сверяет SHA-256, не просит sudo и кладёт horizon-server и horizon-prepare в ~/.local/bin. Linux на ARM — только сборка из исходников.

2. Файлы игры. Нужны Minecraft 26.3, запущенная хотя бы раз, JDK 25 и server.jar версии 26.3. Затем: horizon-prepare --prepare --server-jar /path/to/server.jar. На VPS без Minecraft удобнее подготовить файлы у себя и скопировать папку 26.3 на сервер в ~/.local/share/horizon/game-files/horizon-client/26.3.

3. Первый запуск:

mkdir my-server && cd my-server
horizon-server init
horizon-server start
horizon-server status

init спросит про EULA, имя и сид мира, порт, белый список и первого оператора и запишет server.toml. У каждого вопроса есть флаг, так что это можно автоматизировать. Порт по умолчанию — 25565.

Команды на каждый день

Команда Что делает
horizon-server run запуск с консолью в терминале
start / stop / restart в фоне
status TPS, MSPT, игроки, RAM
cmd КОМАНДА одна консольная команда
logs -f лог в реальном времени
whitelist add НИК, op НИК доступ
backup, backups, restore резервные копии
panel одноразовая ссылка на веб-панель (10 минут)
service install автозапуск вместе с системой
update / rollback обновление с бэкапом и откат

Обновления сами не ставятся: сервер сообщает о новом релизе, а update делает бэкап, переключается и сам откатывается, если новая версия не стартовала. Перед установкой обновления horizon-server проверяет SHA256SUMS и подпись релиза. Веб-панель слушает только локальный адрес — открывайте её через Tailscale или SSH-туннель, а не в интернет. Ванильную папку сервера можно взять как есть: horizon-server init в ней сохранит мир, ops.json и белый список.

А Docker?

Официального Docker-образа нет — это прямо написано в документации, вместе с тем, что образ можно собрать из репозитория самостоятельно. Если у вас всё на Docker, соберите образ из исходников и примонтируйте папку сервера и подготовленные файлы 26.3 как тома. Для начала проще установить horizon-server скриптом и сделать service install.

Чего ждать по производительности

В серверном бенчмарке проекта (ноутбучный 4-поточный i7-7500U, до 50 ботов): horizon-server занимал 0,7 ГБ памяти с одним игроком и 1,1 ГБ с пятьюдесятью — в 3,8–4,8 раза меньше, чем ванилла, Paper и Fabric с Lithium (каждый с кучей 4 ГБ); стартовал за 8–9 секунд против 15–22; при 50 игроках держал 20 TPS, как и Paper. Средний тик у Paper был короче на любом числе игроков. Для более чем 50 активных игроков документация советует больше ядер. Почему так — в статье «Rust против Java».

Что пока не работает

  • server.toml применяется при перезапуске, а не на лету.
  • Отдельные команды console, ban, pardon ещё в работе — пока horizon-server cmd ban НИК.

Расскажите о сервере

Когда сервер заработает, добавьте его в наш мониторинг: мы будем пинговать его каждые 5 минут, показывать онлайн и аптайм, а игроки смогут скопировать IP в один клик. Посмотреть, как это выглядит, можно на странице официального Horizon SMP. Если вы ещё не ставили сам Horizon — начните с гайда по установке.

Источники

Частые вопросы

Нужен ли Minecraft для сервера?

Да, своя копия 26.3: сервер читает подготовленные из неё файлы игры. На машине без Minecraft подготовьте файлы у себя и скопируйте папку 26.3 на сервер.

Смогут ли зайти игроки с обычной Java Edition?

Да, ванильный клиент 26.3 заходит на сервер Horizon и в онлайн-режиме входит своим аккаунтом, защищённый чат работает.

Как добавить сервер в ваш мониторинг?

Через форму «Добавить сервер»: мы пингуем сервер и просим на время вставить код в MOTD, чтобы подтвердить владение.

Комментарии

Комментарии загрузятся, когда вы до них долистаете.