Как поднять сервер Minecraft: пошаговая инструкция
Решил поднять свой сервер Minecraft — и уткнулся в десяток статей, где половина команд устарела, а вторая половина написана явно не для новичка. Разберём весь путь по шагам: от системных требований до автозапуска после перезагрузки, чтобы сервер жил сам по себе, а не только пока у вас открыт терминал.
Содержание
Что нужно для старта: требования к серверу
Minecraft — игра не самая прожорливая, но и не лёгкая, особенно если планируете держать больше 5-10 игроков одновременно или ставить модпаки.
Минимальный набор для ванильного сервера на 2-5 игроков:
- RAM: от 2 ГБ (это минимум, на котором сервер вообще запустится и не будет падать по OutOfMemory на простых картах)
- CPU: 2 ядра — Minecraft плохо параллелится, важнее частота ядра, чем их количество
- Диск: SSD обязательно, от 10-15 ГБ под мир, бэкапы и логи
- ОС: Linux (Ubuntu/Debian) — стабильнее и дешевле по ресурсам, чем Windows Server, для консольного запуска сервера это оптимальный выбор
- Java: версия зависит от версии Minecraft — для актуальных релизов нужна Java 21, для более старых сборок (1.16-1.18) может хватать Java 17
Если планируете модпак на Forge/Fabric с десятком тяжёлых модов или сборку на 15+ игроков — закладывайте 4-8 ГБ RAM. Моды едят память не хуже, чем куча игроков, а иногда и больше.
Vanilla или Paper: что ставить
Тут развилка, от которой зависит вся дальнейшая установка.
Vanilla — официальный сервер от Mojang. Плюс: 100% совместимость с любым официальным контентом, никаких сюрпризов. Минус: тяжелее по производительности, нет поддержки плагинов, меньше гибкости в настройке (нельзя, например, точечно отключить механики вроде взрыва криперов от TNT).
Paper — форк ванильного сервера (через ветку Spigot от Bukkit), заточенный под производительность и плагины. На практике для выживания с друзьями или небольшого паблика Paper почти всегда предпочтительнее: он оптимизирует нагрузку на тикрейт, даёт кучу настроек в paper-world-defaults.yml (можно, например, урезать дальность обзора мобов или частоту тика редстоуна) и открывает доступ к экосистеме плагинов — от простых /tpa и защиты территории до полноценных экономик.
Минус Paper — если вы гонитесь за модпаком (Forge/Fabric), он не подходит: плагины Bukkit/Paper и моды Forge — это разные экосистемы, совместить напрямую нельзя (есть гибридные решения вроде Mohist, но это отдельная тема со своими граблями и не для продакшена).
Для этой инструкции берём Paper как самый практичный вариант для старта — команды для Vanilla будут отличаться только именем jar-файла.
Поднять сервер Minecraft за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверСкачиваем и запускаем server.jar
Заходим на сервер по SSH и создаём отдельную папку — держать файлы сервера в домашней директории вперемешку с чем-то ещё не стоит.
mkdir -p ~/mc-server && cd ~/mc-server
Проверяем, что Java установлена и какой версии:
java -version
Если Java нет или версия не та — на Ubuntu ставится так (для Java 21):
sudo apt update
sudo apt install openjdk-21-jre-headless -y
Скачиваем сборку Paper с официального сайта проекта (papermc.io) — там же можно выбрать конкретную версию Minecraft и билд:
wget https://api.papermc.io/v2/projects/paper/versions/1.21.1/builds/latest/downloads/paper-1.21.1-latest.jar -O server.jar
Для Vanilla файл скачивается со страницы minecraft.net/download/server — там прямая ссылка на server.jar под конкретную версию, команда wget аналогичная.
Первый запуск — он же генерирует служебные файлы и сразу упадёт с требованием принять лицензионное соглашение:
java -Xms2G -Xmx2G -jar server.jar nogui
Флаги -Xms и -Xmx задают начальный и максимальный размер кучи Java — стартовое и максимальное выделение памяти под сервер. Выставляйте их одинаковыми (это снижает паузы на изменение размера кучи "на лету") и не выше, чем реально доступно на VPS — если у вас 2 ГБ RAM, не ставьте -Xmx4G, сервер просто не запустится или начнёт валиться в своп.
eula.txt и первичная настройка
После первого запуска в папке появится eula.txt. Открываем его:
nano eula.txt
И меняем строку:
eula=false
на:
eula=true
Это подтверждение, что вы принимаете лицензионное соглашение Mojang — без этого сервер запускаться откажется. Сохраняем (Ctrl+O, Enter, Ctrl+X в nano).
Настройка server.properties
Главный конфиг сервера — server.properties, тоже создаётся при первом запуске. Открываем и правим под себя:
nano server.properties
Основные параметры, на которые стоит обратить внимание:
server-port=25565
motd=Мой первый сервер
max-players=10
gamemode=survival
difficulty=normal
level-name=world
online-mode=true
view-distance=10
simulation-distance=10
white-list=false
Коротко по нестандартным параметрам:
- online-mode — держите
true, если хотите проверку лицензионных аккаунтов через сервера Mojang.falseоткрывает вход пиратским клиентам и вообще без пароля — используйте только если точно понимаете зачем (например, локальный тестовый сервер без внешнего доступа). - view-distance / simulation-distance — чем выше, тем больше нагрузка на CPU и RAM. На слабом VPS с 2 ГБ имеет смысл держать 6-8, а не дефолтные 10.
- white-list — включайте
trueи заполняйтеwhitelist.json(или командой/whitelist add никиз консоли сервера), если хотите закрытый список игроков — стандартная практика для приватных серверов с друзьями.
После правки конфига сервер нужно перезапустить, чтобы изменения применились.
Проброс порта и файрвол
Сервер слушает порт 25565/TCP по умолчанию (задаётся параметром server-port). Если у вас VPS с публичным IP (а не домашний ПК за роутером), задача сводится к тому, чтобы открыть этот порт в файрволе ОС.
Для Ubuntu с UFW:
sudo ufw allow 25565/tcp
sudo ufw status
Если используете iptables напрямую:
sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
Если сервер стоит дома за роутером (не VPS) — дополнительно нужен проброс порта (port forwarding) в настройках самого роутера: пробрасываете внешний 25565 на локальный IP машины с сервером. У VPS этой проблемы обычно нет — весь трафик на публичный IP и так доходит до машины, остаётся только не заблокировать порт файрволом ОС.
Проверить, что сервер виден снаружи, проще всего с телефона на мобильном интернете (не в домашней Wi-Fi сети) — заходите в Minecraft, добавляете сервер по IP:порту и смотрите, откликается ли пинг. Либо через сторонние сервисы проверки открытых портов — вбиваете IP и 25565, смотрите статус.
Автозапуск: systemd и screen
Запускать сервер вручную и держать SSH-сессию открытой — так себе решение: закрыли терминал, сервер упал. Два рабочих варианта.
Screen — быстрый способ без прав на редактирование системных сервисов. Держит процесс в фоновой сессии, к которой можно вернуться в любой момент:
sudo apt install screen -y
screen -S minecraft
java -Xms2G -Xmx2G -jar server.jar nogui
Отсоединиться от сессии, оставив сервер работать: Ctrl+A, затем D. Вернуться обратно:
screen -r minecraft
Минус screen — если сервер (или сама VPS) перезагрузится, процесс нужно поднимать заново руками.
systemd — правильный вариант для боевого сервера: автозапуск при перезагрузке машины, автоматический рестарт при падении, управление через стандартные systemctl start/stop/restart.
Создаём юнит:
sudo nano /etc/systemd/system/minecraft.service
Содержимое:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
WorkingDirectory=/home/youruser/mc-server
ExecStart=/usr/bin/java -Xms2G -Xmx2G -jar server.jar nogui
User=youruser
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Замените /home/youruser/mc-server и User=youruser на реальные путь и имя пользователя, под которым крутится сервер. Дальше:
sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft
Смотреть логи и статус:
sudo systemctl status minecraft
sudo journalctl -u minecraft -f
Важный нюанс с systemd и Minecraft-сервером: консоль сервера принимает команды через stdin, а юнит systemd такого доступа не даёт напрямую. Для отправки команд в запущенный через systemd сервер (/save-all, /stop, бан игрока) обычно ставят RCON — он включается в server.properties (enable-rcon=true, rcon.password=..., rcon.port=25575) и позволяет слать команды удалённо через отдельный RCON-клиент, не трогая консоль напрямую.
Поднять сервер Minecraft за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Сервер запускается, но игроки не могут подключиться — в чём дело?
В 90% случаев это порт: либо не открыт в файрволе VPS, либо (если сервер домашний) не пробросен на роутере. Проверьте sudo ufw status и убедитесь, что 25565/tcp разрешён.
Сколько RAM реально нужно на 10-15 игроков?
Для ванильного или Paper-сервера без тяжёлых модов обычно достаточно 4 ГБ с запасом. Модпаки на Forge/Fabric с десятками модов могут требовать 6-8 ГБ даже на небольшое число игроков — моды нагружают память сильнее, чем сами игроки.
Можно ли поменять версию Minecraft на уже существующем мире?
Обновиться на более новую версию обычно можно (сервер сам конвертирует чанки при первом запуске), но обязательно сделайте бэкап папки мира перед этим. Откатиться на более старую версию с уже сгенерированными новыми чанками, как правило, нельзя — формат мира вперёд совместим, назад нет.
Как часто делать бэкапы мира?
Минимум раз в сутки — простым скриптом с копированием папки world (или трёх папок world, world_nether, world_the_end) в архив с датой в имени. Перед копированием стоит выполнить /save-off и /save-all в консоли, чтобы не поймать файл в момент записи, а после бэкапа — /save-on.
Нужен ли постоянно включённый ПК, если сервер на VPS?
Нет, в этом и смысл VPS — сервер живёт на арендованной машине в дата-центре и работает 24/7 независимо от того, включён ли ваш домашний компьютер.