Сервер Mindustry для общей фабрики и обороны волн: ставится за секунду без Steam, автосейв включён с первого старта, а тик мира 60 раз в секунду считают ноды на Ryzen 9 в Германии
Выберите подходящий тариф для вашего проекта
Mindustry распространяется под GPL-3.0, а серверная часть - это один файл server-release.jar из релизов на GitHub. SteamCMD здесь не нужен и не применим: в Steam лежит только клиент, серверного депо у игры нет, а старый tool-app «Mindustry Dedicated Server» снят издателем и застрял на сборке 2019 года. Мы качаем свежий релиз прямо с GitHub при установке сервера - на момент проверки это v159.7 весом 19 МБ. Ни Steam-аккаунта, ни купленной игры, ни ключей от вас не требуется
Это главная ловушка Mindustry: в чистой сборке автосохранение выключено, мир живёт только в оперативной памяти и исчезает при жёсткой остановке. Включается одной командой в консоли панели: config autosave true, интервал задаётся через config autosaveSpacing. Сохранения лежат обычными файлами .msav в config/saves: их видно в файловом менеджере, можно скачать, залить свой мир или откатиться. Поверх этого идут автоматические копии всего сервера в S3-хранилище - они снимаются независимо от настроек игры
У сервера Mindustry нет обработчика системных сигналов: при жёстком завершении JVM просто умирает, ничего не сохранив. Поэтому в конфигурации сервера остановка задана консольной командой exit - панель даёт процессу спокойно закрыть сеть и выйти штатно. Кнопки Stop и Restart в панели безопасны из коробки
Стартовая карта и режим задаются командой host в консоли панели, свои карты кладутся файлами в config/maps. Правила мира живут в config/rules.hjson: сервер создаёт его сам при первом запуске, дальше файл правится через файловый менеджер
Каталог config/mods сервер создаёт сам при первом старте. Моды загружаются туда через файловый менеджер панели или по SFTP и подхватываются при перезапуске. Никаких системных зависимостей ставить не нужно: Mindustry - чистый Java-байткод, ему достаточно JRE 17, который уже в образе
Мир Mindustry обновляется фиксированным тиком 60 раз в секунду в одном главном потоке - именно он упирается первым, когда фабрика разрастается, а по карте бегают сотни юнитов. Физику и поиск пути движок выносит в отдельные потоки, но узкое место всё равно одно: скорость одного ядра. Поэтому тарифы разворачиваются на Intel i9-9900K, AMD Ryzen 9 7950X3D и AMD Ryzen 9 9950X - линейка выбирается прямо в корзине. Диски везде NVMe SSD, ноды стоят в дата-центрах Германии
Трафик фильтруется на уровне сети. Mindustry слушает игровой порт сразу в двух протоколах, TCP и UDP на одном номере, и защита закрывает оба - а адрес публичного сервера рано или поздно расходится по чатам и спискам
Автоматические копии всего сервера в S3-хранилище поверх штатного автосейва игры, плюс планировщик задач в панели: ночной рестарт, бэкап перед крупной стройкой, откат к нужной точке. Перевод сервера на другую версию Mindustry делаем по тикету - выручает, когда мод ещё не адаптирован под свежий релиз
Недавно мы представили YourControl - это современная игровая панель, которую мы довели до нашего идеала. Безусловно ещё много открытых предложений, и они будут реализованы в ближайшее время
| Характеристика | Pterohost |
|---|---|
| Процессоры | Intel i9-9900K / Ryzen 9 7950X3D / Ryzen 9 9950X |
| Серверное ПО | server-release.jar с GitHub-релизов Anuken/Mindustry |
| Среда выполнения | OpenJDK 17 headless |
| Порт | Из вашей аллокации, TCP и UDP на одном номере (в Mindustry по умолчанию 6567) |
| Карты и режимы | Команда host, свои карты в config/maps |
| Правила мира | config/rules.hjson |
| Моды | Каталог config/mods, загрузка через панель или SFTP |
| Сохранения | Файлы .msav, автосейв каждые 300 секунд, до 10 копий |
| Диски | NVMe SSD Gen4 |
| DDoS-защита | Guard Rise (L3/L4/L7) |
| Панель управления | YourControl |
| Локация | Дата-центры в Германии |
Нет. Mindustry открыта и распространяется под лицензией GPL-3.0, а серверная часть - это отдельный файл server-release.jar из публичных релизов на GitHub. Ни Steam-аккаунт, ни купленная игра для сервера не требуются. Платные версии игры отличаются только магазинной обвязкой и на сервер никак не влияют
Мы скачиваем актуальный server-release.jar прямо с GitHub-релизов Anuken/Mindustry при создании сервера - на момент проверки это v159.7 весом 19 МБ. Никакого SteamCMD: у приложения Mindustry в Steam серверного депо нет вовсе, а отдельный tool «Mindustry Dedicated Server» снят издателем и остался на сборке 2019 года, использовать его бессмысленно. Запускается сервер командой java -jar server-release.jar, на старт уходит около секунды
Порт выдаётся вместе с аллокацией сервера, у самой игры по умолчанию стоит 6567. Нужен один номер, но сразу в двух протоколах - TCP и UDP. Отдельного порта под запросы у Mindustry нет: пинг от клиентов приходит на тот же UDP-порт. Игроку достаточно адреса и порта из панели, которые он вводит при подключении к серверу
Да, и это самая частая потеря прогресса в Mindustry. В чистой сборке автосохранение выключено, мир существует только в памяти процесса и при жёстком завершении теряется целиком. Включается командой config autosave true в консоли панели, интервал - через config autosaveSpacing. Сверху идут автоматические бэкапы всего сервера в S3-хранилище
Только консольной командой exit - её панель и отправляет при нажатии Stop или Restart. У сервера Mindustry нет обработчика системных сигналов: если процесс просто убить, JVM завершится аварийно и ничего не сохранит. Мы заранее прописали exit как команду остановки и подняли таймаут ожидания, так что кнопки в панели безопасны. Перед плановой остановкой можно дополнительно выполнить save в консоли
Карта и режим задаются командой host в параметрах запуска сервера - её же можно вызвать из консоли панели. Свои карты кладутся файлами в каталог config/maps через файловый менеджер или по SFTP, после чего становятся доступны для host. Каталог сервер создаёт сам при первом запуске
Правила лежат в файле config/rules.hjson, который сервер генерирует при первом старте. Его можно править через файловый менеджер панели, а
Файлы модов загружаются в каталог config/mods через файловый менеджер панели или по SFTP и подхватываются при следующем запуске сервера. Никаких системных зависимостей ставить не нужно - Mindustry целиком написана на Java и требует только JRE 17 или новее, который у нас уже стоит в образе
Немного: на пустой размещённой карте без игроков процесс занимает около 150 МБ. Но кроме кучи JVM память едят метапространство, стеки потоков и сетевые буферы, поэтому в лимит меньше 1 ГБ загонять сервер не стоит - на границе он ловит OOM. Дальше память растёт вместе с фабрикой и числом юнитов на карте: чем больше конвейеров и боевых единиц, тем больше объектов сервер держит в памяти каждый тик
Частота. Логика мира крутится фиксированным тиком 60 раз в секунду в одном главном потоке, и когда он перестаёт укладываться в такт, TPS проседает сразу у всех. Часть работы движок выносит в отдельные потоки - физику, обход препятствий и поиск пути, - так что несколько потоков серверу пригодятся. Но решающий параметр всё равно скорость одного ядра
Нет. Mindustry не отвечает на стандартные протоколы вроде A2S: у неё собственный формат опроса по UDP на игровом порту, и готового парсера под него в панели нет. Кто сейчас на сервере, видно в консоли и в логе подключений, а самим игрокам клиент показывает имя сервера, карту, число игроков и номер волны при пинге адреса
Привычного RCON у Mindustry нет. В движке есть опциональный локальный сокет управления, но он выключен по умолчанию и слушает только localhost, наружу его не выставляют. Все команды - host, save, config и прочие - вводятся в консоли сервера прямо в панели YourControl, оттуда же читается лог