Как создать Minecraft сервер с нуля
У вас есть компьютер, интернет и желание поиграть с друзьями. Или может быть амбиции побольше - хотите запустить публичный сервер. Неважно, с чего вы начинаете. Эта инструкция проведёт вас от нуля до работающего сервера, на который можно зайти и играть.
Никакой воды. Конкретные команды, конкретные файлы, конкретные настройки.
Что нужно перед началом
Минимальные требования для сервера на 5-10 игроков:
- CPU: 2 ядра, 3+ GHz (Minecraft однопоточный, ему важна частота)
- RAM: 4 ГБ свободной оперативной памяти (2 ГБ под сервер + система)
- Диск: 2-5 ГБ свободного места (SSD крайне желателен)
- Сеть: стабильное соединение, желательно проводное
Если планируете больше игроков - читайте сколько оперативной памяти нужно Minecraft серверу. Если думаете арендовать хостинг вместо своего железа - есть отдельный разбор как выбрать хостинг.
Сервер можно поднять на Windows, Linux или macOS. Команды в этой статье даны для Linux, но для Windows всё аналогично - просто замените терминальные команды на их эквиваленты.
Домашний компьютер или VPS?
Для начала сойдёт домашний компьютер. Он бесплатный, вы имеете физический доступ, и для 3-5 друзей этого хватит. Но у него есть минусы: сервер выключается, когда вы выключаете компьютер. У большинства домашних провайдеров серый IP - подключиться извне не получится без дополнительных манипуляций. И скорость загрузки (upload) обычно невелика.
VPS за 5-10 долларов в месяц решает все эти проблемы. Сервер работает 24/7, у него белый IP, стабильный канал. Для сервера на 10-20 игроков VPS с 4 ГБ RAM и 2 vCPU - минимум. Если интересуют подробности - статья про выбор хостинга.
Шаг 1. Установка Java
Minecraft сервер работает на Java. Какая версия нужна - зависит от версии Minecraft:
| Minecraft | Java |
|---|---|
| 1.17 и ниже | Java 8 или 16 |
| 1.18 - 1.20.4 | Java 17 |
| 1.20.5+ | Java 21 |
Для актуальных версий (1.21.x) ставьте Java 21. Рекомендую использовать Adoptium (Eclipse Temurin) - это бесплатная, проверенная сборка OpenJDK. Не используйте Oracle JDK - он требует коммерческую лицензию для серверов.
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install temurin-21-jdk
Если пакета нет в репозиториях, добавьте репозиторий Adoptium:
sudo apt install wget apt-transport-https
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo apt-key add -
echo "deb https://packages.adoptium.net/artifactory/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update
sudo apt install temurin-21-jdk
Windows:
Скачайте установщик с adoptium.net, запустите, нажмите Next несколько раз. Убедитесь, что отмечена галка "Set JAVA_HOME variable".
Проверка установки:
java -version
Должно вывести что-то вроде:
openjdk version "21.0.2" 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
Если видите ошибку "java: command not found" - Java не установлена или не добавлена в PATH. На Windows перезагрузите терминал после установки. На Linux убедитесь, что пакет реально установился через dpkg -l | grep temurin.
Шаг 2. Выбор серверного ядра
Есть несколько вариантов, и разница между ними существенная:
Vanilla - официальный сервер от Mojang. Без плагинов, без модификаций. Подходит, если хотите чистый ванильный опыт и не планируете ставить плагины. Скачивается с minecraft.net.
Paper - форк Spigot с кучей оптимизаций и исправлений багов. Поддерживает плагины Bukkit/Spigot. Для 90% серверов это лучший выбор. Paper патчит десятки эксплойтов и дюпов, которые есть в ванилле, и работает ощутимо быстрее за счёт оптимизации загрузки чанков, тикинга сущностей и работы с редстоуном.
Purpur - форк Paper с дополнительными настройками. Больше конфигурации, больше контроля. Позволяет менять вещи, которые в Paper захардкожены - например, скорость полёта элитрами или дальность атаки мобов. Для продвинутых.
Fabric - для модов. Если хотите моды (не плагины), вам сюда. Fabric легковеснее Forge и быстрее обновляется до новых версий Minecraft.
Forge - тоже для модов, но более старая и тяжёлая экосистема. Больше модов доступно, но производительность хуже.
Я рекомендую Paper. Он быстрее ванильного сервера, исправляет дюпы и эксплойты, и поддерживает тысячи плагинов. Переход с Paper на Purpur потом делается за 5 минут - просто замените jar-файл.
Скачивание Paper
Идём на papermc.io/downloads, выбираем нужную версию Minecraft, качаем jar-файл.
Или через терминал:
mkdir ~/minecraft-server
cd ~/minecraft-server
wget https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/1/downloads/paper-1.21.4-1.jar -O server.jar
Номер билда может отличаться - проверьте актуальный на сайте Paper. Всегда берите последний билд для вашей версии.
Скачивание Vanilla
Если хотите ванильный сервер:
mkdir ~/minecraft-server
cd ~/minecraft-server
wget https://piston-data.mojang.com/v2/objects/HASH/server.jar
Актуальную ссылку берите с minecraft.net/download/server. На странице будет прямая ссылка на jar-файл последней версии.
Шаг 3. Первый запуск и EULA
Создайте отдельную папку для сервера (если ещё не создали). Важно: не кладите сервер в системную директорию и не запускайте от root. Создайте отдельного пользователя:
sudo useradd -m -s /bin/bash minecraft
sudo su - minecraft
mkdir ~/server
cd ~/server
# Скопируйте server.jar сюда
Запускаем:
java -Xmx2G -Xms2G -jar server.jar --nogui
Параметры:
-Xmx2G- максимум 2 ГБ оперативной памяти-Xms2G- стартовый размер памяти (ставьте равным Xmx)--nogui- без графического интерфейса (экономит ресурсы)
Сервер запустится и тут же остановится с сообщением:
You need to agree to the EULA in order to run the server.
Это нормально. Откройте файл eula.txt, который появился в папке:
nano eula.txt
Замените eula=false на:
eula=true
Сохраните и закройте (Ctrl+O, Enter, Ctrl+X в nano). Этим вы соглашаетесь с лицензионным соглашением Mojang. EULA запрещает продавать игровые преимущества за реальные деньги (pay-to-win), но разрешает косметические донаты.
Шаг 4. Настройка server.properties
После первого запуска в папке появится файл server.properties. Это главный конфигурационный файл сервера. Откройте его:
nano ~/server/server.properties
Ключевые параметры:
# Порт сервера. 25565 - стандартный, менять не нужно если нет причин
server-port=25565
# Максимальное количество игроков
max-players=20
# Дальность прорисовки (в чанках). Чем больше - тем больше нагрузка
view-distance=10
# Дальность симуляции. Мобы и механизмы работают только в этом радиусе
simulation-distance=8
# Сложность: peaceful, easy, normal, hard
difficulty=normal
# Режим игры: survival, creative, adventure, spectator
gamemode=survival
# MOTD - сообщение в списке серверов. Поддерживает цветовые коды через символ параграфа
motd=My Minecraft Server
# Белый список. Если true - зайти смогут только одобренные игроки
white-list=false
# Онлайн-мод. Если false - могут заходить пиратки
online-mode=true
# Радиус защиты спавна (в блоках). 0 = отключено
spawn-protection=0
# Включить командные блоки
enable-command-block=true
# Уровень сжатия пакетов. 256 - хороший баланс
network-compression-threshold=256
# Разрешить полёт (нужно для некоторых плагинов и элитр)
allow-flight=true
# Максимальный размер мира в блоках (радиус). -1 = без ограничений
max-world-size=29999984
# PvP включено/выключено
pvp=true
Несколько важных моментов:
online-mode=trueрекомендуется для безопасности. Приfalseкто угодно может зайти под любым ником, включая ников администраторов. Если вам нужна поддержка пираток - используйте прокси (Velocity) с AuthMe.view-distanceсильно влияет на производительность. Каждый прибавленный чанк - это квадратичный рост нагрузки. view-distance=10 генерирует 441 чанк на игрока, а view-distance=16 - уже 1089. Начните с 10 и снижайте до 8 или 6, если лагает.simulation-distanceможно поставить ниже view-distance. Игроки будут видеть далёкие чанки, но мобы там не будут спавниться. Это экономит много ресурсов.allow-flight=true- Paper сам обрабатывает античит, а приfalseигроков с элитрами будет кикать.
Если сервер будет публичным, обязательно прочитайте про настройки безопасности Paper и Spigot.
Шаг 5. Полноценный запуск
Теперь запускаем сервер по-настоящему:
cd ~/server
java -Xmx2G -Xms2G -jar server.jar --nogui
Для продакшена создайте скрипт запуска start.sh:
#!/bin/bash
cd /home/minecraft/server
java -Xmx4G -Xms4G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M \
-XX:G1ReservePercent=20 \
-XX:InitiatingHeapOccupancyPercent=15 \
-jar server.jar --nogui
Эти JVM-флаги (Aikar flags) - стандарт индустрии для Minecraft серверов. Они оптимизируют сборку мусора G1GC: уменьшают паузы, предотвращают фризы и эффективнее используют память. Подробнее про оптимизацию - в разделе ниже.
Сделайте скрипт исполняемым:
chmod +x start.sh
./start.sh
Дождитесь строки Done (X.XXXs)! For help, type "help". Сервер запущен. Проверьте TPS командой tps в консоли - должно быть 20.0.
Запуск в screen (чтобы работал после закрытия терминала)
Если вы подключены по SSH, сервер умрёт когда вы закроете терминал. Решение - screen или tmux:
sudo apt install screen
screen -S minecraft
./start.sh
Чтобы отключиться от сессии: Ctrl+A, затем D. Чтобы вернуться: screen -r minecraft.
Tmux - более современная альтернатива:
sudo apt install tmux
tmux new -s minecraft
./start.sh
Отключиться: Ctrl+B, затем D. Вернуться: tmux attach -t minecraft.
Для продакшена лучше создать systemd-сервис - об этом ниже.
Шаг 6. Проброс портов
Если сервер запущен дома и вы хотите, чтобы друзья могли подключиться из интернета - нужно пробросить порт 25565 на роутере.
- Узнайте локальный IP вашего компьютера:
ip addr show(Linux) илиipconfig(Windows). Обычно это что-то вроде 192.168.1.XX. - Зайдите в настройки роутера (обычно 192.168.1.1 или 192.168.0.1 в браузере). Логин/пароль часто admin/admin или написан на наклейке роутера.
- Найдите раздел "Port Forwarding" / "NAT" / "Виртуальные серверы". В разных роутерах называется по-разному.
- Создайте правило: внешний порт 25565 (TCP) -> внутренний IP вашего компьютера, порт 25565.
- Сохраните.
Узнайте ваш внешний IP (гуглите "my ip") и дайте друзьям адрес: ваш_внешний_ip:25565.
Важные нюансы:
- Если у вас серый IP (начинается на 10.x.x.x или 100.64-127.x.x.x) - проброс портов не поможет. Вы находитесь за CGNAT провайдера. Варианты: попросить у провайдера белый IP (иногда бесплатно, иногда за доплату), арендовать VPS, или использовать туннели типа playit.gg.
- Внешний IP может меняться при перезагрузке роутера (динамический IP). Решение - сервисы DDNS (no-ip.com, duckdns.org), которые привязывают доменное имя к вашему IP.
- Открытый порт - это потенциальная дыра в безопасности. Не пробрасывайте больше портов, чем нужно.
Если сервер на VPS или dedicated - проброс не нужен, порт уже доступен извне. Но убедитесь, что файрвол не блокирует порт 25565:
sudo ufw allow 25565/tcp
Подробнее про файрвол и сетевую безопасность - в статье настройка iptables для Minecraft.
Шаг 7. Подключение к серверу
Запустите Minecraft, нажмите "Multiplayer" -> "Add Server".
- Если вы на том же компьютере: адрес
localhost - Если в локальной сети:
192.168.1.XX(IP компьютера с сервером) - Если из интернета: ваш внешний IP
Порт указывать не нужно, если он стандартный (25565). Если вы сменили порт - добавьте через двоеточие: ip:порт.
Версия клиента должна совпадать с версией сервера. Если сервер на 1.21.4 - клиент тоже должен быть 1.21.4. Для Paper существует плагин ViaVersion, который позволяет подключаться с разных версий, но это отдельная история.
Шаг 8. Установка плагинов (Paper)
Если вы выбрали Paper, у вас есть доступ к тысячам плагинов. Несколько must-have для любого сервера:
EssentialsX - базовые команды (/home, /spawn, /tpa, /warp), экономика, киты. Без него тяжело. Это основа, на которую опираются многие другие плагины.
LuckPerms - управление правами и группами. Кто может что делать. Необходимость для любого сервера, где больше одного игрока. Веб-интерфейс для настройки - отдельная красота.
WorldGuard + WorldEdit - защита регионов от гриферов и инструменты для строительства. WorldGuard позволяет запретить PvP, взрывы, поджоги в определённых зонах. WorldEdit - копирование, вставка, замена блоков в промышленных масштабах.
CoreProtect - логирование всех действий. Кто сломал блок, кто открыл сундук, кто убил моба. Незаменимо при расследовании гриферства. Команда /co inspect - ваш лучший друг.
Spark - профилирование производительности. Показывает, что именно тормозит ваш сервер. Генерирует отчёты, которые можно открыть в браузере и проанализировать.
Установка плагина:
- Скачайте .jar файл плагина (с hangar.papermc.io, modrinth.com или spigotmc.org)
- Положите в папку
plugins/ - Перезапустите сервер
cp EssentialsX.jar ~/server/plugins/
cp LuckPerms.jar ~/server/plugins/
После перезапуска плагины создадут свои конфиги в plugins/ИмяПлагина/. Настраивайте под себя.
Важно: не ставьте 50 плагинов сразу. Начните с 3-5 базовых, убедитесь что всё работает, потом добавляйте по одному. Так проще найти проблемный плагин, если что-то сломается.
Скачивайте плагины только с официальных площадок. Левые сайты с "бесплатными премиум плагинами" - это почти гарантированно малварь, которая даст злоумышленнику доступ к вашему серверу.
Больше про плагины безопасности - в обзоре лучших плагинов безопасности.
Шаг 9. Базовая оптимизация
JVM-флаги
Стандартные флаги Aikar - лучшая отправная точка для Paper серверов. Они уже были в скрипте запуска выше. Ключевые моменты:
-Xmxи-Xmsставьте одинаковыми. Это предотвращает постоянное расширение/сжатие кучи, что вызывает фризы.- Не выделяйте ВСЮ оперативную память. Системе тоже нужна RAM для файловых кешей, сетевых буферов, самой ОС. Если у вас 8 ГБ - выделяйте 4-6, не больше.
- G1GC - сборщик мусора по умолчанию для Minecraft. Не меняйте на ZGC или Shenandoah без понимания, зачем. G1GC с флагами Aikar оттестирован на тысячах серверов.
- Больше RAM - не всегда лучше. 4 ГБ для сервера на 20 игроков хватит. 8 ГБ для 50+. 12 ГБ и более имеет смысл только для крупных серверов с кучей плагинов и несколькими мирами.
Конфиги Paper
Paper создаёт дополнительные конфиги в config/:
config/paper-global.yml:
chunk-system:
gen-parallelism: default
io-threads: default
packet-limiter:
all-packets:
max-packet-rate: 500.0
config/paper-world-defaults.yml:
chunks:
auto-save-interval: 6000
max-auto-save-chunks-per-tick: 8
spawn:
keep-spawn-loaded: true
keep-spawn-loaded-range: 8
environment:
optimize-explosions: true
server.properties - настройки производительности
view-distance=8
simulation-distance=6
max-tick-time=60000
Снижение view-distance и simulation-distance - самый простой способ уменьшить нагрузку. Начните с 10/8 и снижайте, если TPS падает ниже 19.
Мониторинг TPS
TPS (Ticks Per Second) - главный показатель здоровья сервера. Норма - 20.0. Если TPS 19+ - всё хорошо. 15-18 - заметные лаги. Ниже 15 - сервер серьёзно тормозит.
Проверить TPS: /tps в консоли или в игре. Paper показывает TPS за последние 1, 5 и 15 минут.
Если TPS падает - используйте Spark (/spark profiler) чтобы найти причину. Часто это один плохо написанный плагин или слишком большое количество сущностей в одном месте.
Подробная статья по оптимизации: оптимизация и защита от DDoS. Про причины лагов и их решения - почему лагает Minecraft сервер.
Шаг 10. Запуск как systemd-сервис
Для продакшена сервер должен запускаться автоматически при загрузке системы и перезапускаться при крашах. Screen и tmux для этого не подходят - они не переживают перезагрузку машины.
Создайте файл /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
WorkingDirectory=/home/minecraft/server
ExecStart=/usr/bin/java -Xmx4G -Xms4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -jar server.jar --nogui
Restart=on-failure
RestartSec=10
StandardInput=null
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Активируйте:
sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft
Проверить статус: sudo systemctl status minecraft
Посмотреть логи: sudo journalctl -u minecraft -f
Остановить сервер: sudo systemctl stop minecraft
Недостаток systemd - нет интерактивной консоли. Для отправки команд серверу можно использовать RCON (включается в server.properties через enable-rcon=true), или утилиту mcrcon.
Бэкапы
Не забывайте про бэкапы. Один гриферский плагин или битый мир - и вы теряете недели работы игроков. Минимальный вариант - cron-задача, которая копирует мир раз в час:
# Добавить в crontab -e
0 * * * * tar -czf /home/minecraft/backups/world-$(date +\%Y\%m\%d-\%H\%M).tar.gz /home/minecraft/server/world/
Не забудьте настроить ротацию - удаление старых бэкапов. Иначе диск заполнится за пару недель:
# Удалять бэкапы старше 7 дней
0 6 * * * find /home/minecraft/backups/ -name "*.tar.gz" -mtime +7 -delete
Подробнее про стратегию бэкапов - в отдельной статье про бэкапы Minecraft серверов.
Защита сервера
Как только ваш сервер становится публичным, он становится мишенью. DDoS-атаки на Minecraft серверы - обычное дело. Кто-то проиграл в PvP, кто-то обиделся на бан, кто-то просто развлекается. Стрессеры стоят копейки, и порог входа для атакующего околонулевой.
Базовые шаги:
- Не светите реальный IP сервера без необходимости. Если вы его засветили - его уже не спрячешь.
- Настройте файрвол - откройте только нужные порты. SSH (22), Minecraft (25565), и больше ничего.
- Отключите query в server.properties (
enable-query=false) если не используете мониторинг. - Поставьте fail2ban для защиты SSH от брутфорса.
- Если сервер публичный с 20+ игроками - подумайте о DDoS-защите. MineGuard фильтрует атаки на уровне сети, не добавляя задержки для нормальных игроков.
Если хотите разобраться, как вообще работает DDoS-защита для игровых серверов - есть подробное объяснение. Про типы атак и разницу между TCP и UDP флудом - сравнение TCP и UDP атак.
Про проксирование через Velocity/BungeeCord для дополнительной защиты и сокрытия IP бэкенда читайте в статье про прокси-архитектуру.
Частые проблемы
"Can't connect to server" - проверьте: 1) сервер запущен, 2) порт пробросан, 3) файрвол не блокирует, 4) IP правильный. Попробуйте подключиться с localhost - если работает, проблема в сети, а не в сервере.
"Outdated server" - версия клиента не совпадает с версией сервера. Обновите сервер или клиент до одинаковой версии.
"Connection timed out" - обычно проблема с проброской портов или файрволом. Проверьте через telnet ваш_ip 25565 или онлайн-чекеры портов.
Низкий TPS - используйте команду /tps (Paper). Если TPS ниже 18 - снижайте view-distance, отключайте тяжёлые плагины, проверяйте через Spark что именно тормозит.
"Not enough RAM" / OutOfMemoryError - увеличьте -Xmx в скрипте запуска. Или уменьшите view-distance и количество загруженных миров.
Сервер крашится при запуске - читайте лог ошибки. Чаще всего это несовместимый плагин или неправильная версия Java. Удалите последний установленный плагин и попробуйте снова.
Что дальше
Сервер работает, друзья подключились, плагины стоят. Что теперь?
- Настройте права через LuckPerms - создайте группы (default, vip, moderator, admin) с чёткими правами
- Добавьте плагины под ваш режим игры (мини-игры, экономику, квесты)
- Настройте регулярные бэкапы и проверьте, что они реально восстанавливаются
- Добавьте мониторинг - хотя бы Spark для отслеживания производительности
- Если сервер растёт - задумайтесь о выборе нормального хостинга вместо домашнего компьютера
- Для крупного проекта с несколькими серверами - изучите Velocity и прокси-архитектуру
- Прочитайте чек-лист безопасности сервера чтобы ничего не упустить
Создать Minecraft сервер несложно. Сложнее - поддерживать его в хорошем состоянии, с нормальной производительностью и защитой от атак. Но это уже другая история, и начинается она с того, что сервер уже запущен.
Proteja Seu Servidor de Ataques DDoS
Proteção gratuita com configuração em 5 minutos. 1 TB de tráfego incluso.
Experimentar GrátisArtigos Relacionados
Aurelium Skills (AuraSkills) vs mcMMO: какой RPG-плагин лучше в 2026
mcMMO держит трон RPG-плагинов с 2010 года, AuraSkills (бывший Aurelium Skills) пришёл в 2020 и за пару лет стал основным конкурентом. Разбираем формулы XP, систему скиллов, UI, интеграции и реальные конфиги.
Slimefun: полный гайд по плагину для Minecraft сервера в 2026
Slimefun4 на Paper 1.21: установка, гайдбук, исследования, cargo-сеть, энергия, аддоны (ExoticGarden, InfinityExpansion) и как не убить TPS.
BlueMap vs Dynmap vs squaremap: какую карту сервера выбрать в 2026
Три главных плагина веб-карты для Minecraft: 3D BlueMap, классический Dynmap и легковесный squaremap. Сравниваем производительность, фичи, установку и выбираем под задачу.