Как запустить Minecraft‑сервер на Raspberry Pi

Почему делать сервер на своей Raspberry Pi: вы получаете низкую латентность, полный контроль над миром и минимальную стоимость постоянной работы. Ниже — подробная инструкция, рекомендации по безопасности, проверенные команды и план восстановления.
Что вам понадобится
- Raspberry Pi 4 (рекомендуется модель с 2 ГБ ОЗУ или больше). Для меньших моделей потребуется правильно настроенный swap.
- Карта microSD с достаточным объёмом для ОС и мира Minecraft (рекомендуется 32 ГБ или больше). Для лучшей надёжности — SSD через USB‑3.
- Проводное Ethernet‑соединение между Pi и роутером (лучше, чем Wi‑Fi).
- Доступ в настройки роутера (логин/пароль).
- Если у вас динамический публичный IP — учётная запись DDNS (No‑IP, DynDNS, DuckDNS и т. п.) или собственный домен.
Краткая архитектура и термины
- Публичный IP — адрес, под которым ваша сеть видна в Интернете. Если он меняется — это динамический IP.
- Проброс портов (port forwarding) — перенаправление входящих соединений с публичного интерфейса роутера на локальный IP Pi.
- DDNS — сервис, который обновляет доменное имя при смене публичного IP.
Шаг 1 — Подготовка Raspberry Pi и установка ПО
- Обновите систему и установите Java (для Java Edition). Пример команд:
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-17-jre-headless wget screen -y- Создайте пользователя для сервера и рабочую папку:
sudo adduser --disabled-login mcuser
sudo mkdir -p /home/mcuser/minecraft
sudo chown mcuser:mcuser /home/mcuser/minecraft- Скачайте серверный JAR (пример для Java Edition):
cd /home/mcuser/minecraft
sudo -u mcuser wget -O server.jar https://launcher.mojang.com/v1/objects/.jar (Замените URL на официальный адрес скачивания для нужной версии.)
- Первый запуск для создания конфигов:
sudo -u mcuser screen -S mcserver
sudo -u mcuser java -Xmx1500M -Xms512M -jar server.jar noguiОстановите сервер командой stop в консоли сервера, чтобы сгенерировались файлы конфигурации.
- Настройте системный сервис (systemd) для автозапуска — пример unit-файла:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=mcuser
Nice=5
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
WorkingDirectory=/home/mcuser/minecraft
ExecStart=/usr/bin/java -Xmx1500M -Xms512M -jar server.jar nogui
Restart=on-failure
[Install]
WantedBy=multi-user.targetСохраните как /etc/systemd/system/minecraft.service, затем запустите и включите автозапуск:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft.service- Если у вас меньше чем 2 ГБ RAM: создайте swap‑файл, чтобы избежать OOM‑ситуаций:
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabВажно: swap помогает при всплесках памяти, но сильно снижает производительность при частом обращении.
Изображение аппаратных платформ

Шаг 2 — Статический локальный IP для Raspberry Pi
Чтобы проброс портов работал стабильно, назначьте Pi статический локальный IP в вашей сети. Это можно сделать двумя способами:
- Заблокировать DHCP‑адрес в интерфейсе роутера для MAC‑адреса Pi (рекомендуется).
- Или задать статический адрес в конфиге Pi
/etc/dhcpcd.conf.
Пример строки в dhcpcd.conf:
interface eth0
static ip_address=192.168.1.50/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4После изменения перезагрузите сеть:
sudo systemctl restart dhcpcdШаг 3 — Проброс портов (Port Forwarding) в роутере
Когда сервер работает локально и у Pi статический IP, откройте нужные порты на роутере и перенаправьте их на IP Pi. При необходимости используйте только один порт — тот, что соответствует вашей установке.

| Minecraft Java Edition | Minecraft Bedrock Edition | |
|---|---|---|
| Источник | Any | Any |
| Диапазоны исходных портов | * | * |
| Назначение | Any | Any |
| Диапазоны портов назначения | 25565 | 19132 |
| Протокол | TCP | UDP |
| Действие | Allow | Allow |
| Приоритет | 100 | 100 |
| Имя правила | MinecraftJava_Port | MinecraftBedrock_Port |

Советы:
- Для Java Edition пробросьте TCP порт 25565.
- Для Bedrock Edition пробросьте UDP порт 19132.
- Некоторым роутерам требуется перезагрузка после создания правил.
- На мобильном интернет‑подключении (tethering) проброс обычно невозможен.
DMZ — осторожно
Некоторые роутеры имеют функцию DMZ (демилитаризованная зона), которая отправляет весь входящий трафик на указанный локальный IP. Это удобно, но небезопасно: открыт весь набор портов. Если используете DMZ — обязательно включите брандмауэр и защиту по IP/паролям.
Пример открытия конкретного порта в UFW:
sudo ufw allow 19132/udp
sudo ufw allow 25565/tcp
sudo ufw enableШаг 4 — Проверка доступности порта извне
Чтобы убедиться, что проброс работает, используйте внешние сервисы (например, CanYouSeeMe.org) или команду с другого удалённого хоста:
nc -vz your.public.ip.address 25565
Если сервис видит ваш порт — всё настроено правильно.
Шаг 5 — Как игроки получают данные для подключения
Дайте игрокам публичный адрес и порт. Публичный IP можно узнать через сайт типа WhatsMyIP.org или из терминала Pi:
curl http://ifconfig.meЕсли у вас DDNS — отдайте доменное имя вместо IP (например, myminecraft.ddns.net:25565).
Публичный статический IP vs динамический IP
- Статический IP удобен: не нужно обновлять адрес у игроков.
- Домашние подключения чаще бывают с динамическим IP. В этом случае используйте DDNS или периодически сообщайте новый адрес участникам.
DDNS — надёжное решение для динамического IP
Большинство роутеров умеют автоматически обновлять DDNS при смене IP. Популярные варианты: No‑IP, DynDNS, DuckDNS. Можно настроить встроенную функцию роутера или установить клиент‑обновлятор (ddclient) на Pi.

Пример использования DuckDNS (скрипт обновления):
# /home/mcuser/duck.sh
echo url="https://www.duckdns.org/update?domains=yourdomain&token=YOURTOKEN&ip=" | curl -k -o /dev/null -K -Затем добавьте в crontab для регулярного обновления.
Доменные A‑записи для статического IP
Если у вас собственный домен, создайте A‑запись и укажите публичный IP. Для поддомена:
- Type: A
- Name: minecraft.example.com
- Value: 100.100.100.100

Проводное vs беспроводное соединение
Провод (Ethernet) предпочтительнее: стабильная пропускная способность и низкая задержка. При большем количестве игроков Wi‑Fi может добавлять задержки и пакеты будут теряться чаще.
Безопасность и жёсткая настройка
Минимальный набор мер защиты:
- Включить UFW и открыть только порты Minecraft.
- Установить Fail2ban с правилом для SSH и мониторинга логов Minecraft (если доступно).
- Регулярно обновлять систему и сервер Minecraft.
- Использовать сложные пароли для учётных записей роутера и Pi.
Пример базовой установки Fail2ban:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2banЕсли вы используете DMZ — крайне рекомендуется включить дополнительные меры: ограничение по IP, rate limiting и резервное копирование мира.
Резервное копирование и восстановление
- Регулярно делайте бэкапы папки world: rsync или tar на внешний диск/облако.
Пример ежедневного cron‑задания (выполняется от root):
0 3 * * * tar -czf /backups/minecraft-$(date +\%F).tar.gz /home/mcuser/minecraft/world- Делайте контрольные копии и храните несколько поколений (например, 7 дней).
Тесты и критерии приёмки
Критерии приёмки сервера:
- Сервер запускается как systemd‑сервис и перезапускается автоматически при сбое.
- Игроки извне успешно подключаются по публичному адресу/домену и порту.
- Пинг до сервера стабильный и приемлемый (локальные игроки — минимальная задержка).
- Резервное копирование создаётся по расписанию и файлы доступны для восстановления.
Тестовые сценарии:
- Подключение с внешней сети (например, с сотовой сети) на указанный адрес:порт.
- Перегрузка сервера (симуляция одновременных игроков) — сервер не уходит в OOM при наличии swap.
- Отключение питания и проверка автозапуска systemd.
- Восстановление мира из последней резервной копии.
Рекомендации по производительности
- Для небольших групп (до 4–6 игроков) Pi 4 с 2 ГБ обычно достаточен при оптимизированных настройках памяти.
- Для больших сообществ рассматривайте Raspberry Pi с внешним SSD или переход на более мощный сервер.
- Минимизируйте плагины и моды, которые потребляют большое количество памяти или CPU.
Отладка и типичные проблемы
- “Не вижу сервер“ — проверьте проброс портов, локальный брандмауэр, правильность локального IP.
- “Высокая задержка” — проверьте сетевое соединение Pi → роутер (Ethernet), нагрузку CPU, I/O диска.
- “Сервер падает” — смотрите логи
/home/mcuser/minecraft/logsиjournalctl -u minecraft.
Советы: временно отключите UFW при отладке, затем включите обратно и откройте нужные порты.
Роли и чеклисты
Администратор (тот, кто настраивает Pi и роутер):
- Настроить статический локальный IP.
- Установить Java и скачать server.jar.
- Создать systemd‑сервис и включить автозапуск.
- Пробросить порты в роутере и проверить связь извне.
- Включить UFW и Fail2ban.
- Настроить регулярные бэкапы.
Игроки:
- Получили публичный адрес/домен и порт.
- Проверили возможность подключения из внешней сети.
- Сохраняют локальные копии необходимых миров/данных (если нужно).
Мини‑методология развертывания (7 шагов)
- Подготовить Pi и задать статический локальный IP.
- Установить Java, создать пользователя и скачать сервер.
- Первичный запуск и корректная настройка server.properties.
- Настроить systemd‑сервис и автозапуск.
- Пробросить требуемые порты в роутере; проверить извне.
- Включить UFW и Fail2ban; настроить DDNS/домен.
- Организовать резервное копирование и мониторинг.
Когда такой подход не подходит (контрпримеры)
- Если вам требуется высокая вычислительная мощность для сотен игроков или тяжёлых модов — лучше выделенный сервер/облачный хост.
- Если ваш провайдер блокирует входящие соединения и не позволяет проброс — домашний сервер не подойдёт.
Итог: запустили — что дальше?
После запуска и проверки стабильности следите за логами и вовремя обновляйте сервер и систему. Поддерживайте бэкапы и ограничивайте доступ только до необходимых портов. Для простого совместного игрового мира Raspberry Pi — надёжное и дешёвое решение.
Важно: контролируйте нагрузку и при необходимости масштабируйте: перенос на VPS или выделенный сервер — естественный путь роста.
Ключевые ссылки и быстрые команды:
- Узнать публичный IP:
curl http://ifconfig.me - Открыть порт в UFW:
sudo ufw allow 25565/tcp - Создать swap: см. раздел выше
Конец инструкции. Удачной игры и стабильного сервера!
Похожие материалы
Logic Pro — быстрое руководство по настройке и записи
Как подготовить дом к 5G Wi‑Fi: проверка и советы
Устранение ошибок AnyDesk в Windows
Контактная форма Google: как встроить на сайт
Как стать саунд-дизайнером — путь, навыки, чек-лист