Как запустить сервер Minecraft на Raspberry Pi и открыть его для онлайн-игры

Скучно играть в Minecraft в одиночку? Хотите пригласить друзей на ваш собственный сервер? Если у вас есть Raspberry Pi — это всё, что нужно, чтобы сделать недорогой, надёжный сервер, который можно держать включённым постоянно.
Локальный сервер даёт сверхнизкую задержку для участников в вашей сети; у игроков из других точек подключения задержки тоже обычно меньше, чем у отдалённого хостинга, что улучшает игровой опыт в кооперативе.
Что нужно подготовить заранее
- Аппарат: Raspberry Pi 4 (минимум 2 ГБ рекомендуемая стартовая модель). Для 3 и менее ГБ можно работать, но придётся аккуратно настроить swap и параметры Java.
- Питание и стабильный накопитель: SD-карта высокого класса или SSD по USB‑3 для большей надёжности.
- Подключение: рекомендуется проводной Ethernet; Wi‑Fi допустим, но ухудшает задержку и стабильность при нагрузке.
- ОС: Raspberry Pi OS (64-bit предпочтительнее для Java), актуальные обновления.
- Учётная запись с sudo.
Краткое определение:
- NAT — трансляция сетевых адресов: роутер скрывает устройства в локальной сети за одним публичным IP.
- Порт‑форвардинг — правило, которое перенаправляет входящие соединения с публичного IP на конкретный IP и порт внутри локальной сети.
Какой Raspberry Pi выбрать и почему
Рекомендации по масштабам:
- Pi 4 с 2 ГБ — хорошая отправная точка для 2–4 игроков при умеренных модах.
- Pi 4 с 4–8 ГБ — лучше для большего числа игроков и тяжёлых модпаков.
- Pi 3 возможен, но потребует тщательной оптимизации Java и дополнительного swap.
Если у вас менее 2 ГБ ОЗУ, настройте swap, иначе Java может выйти за пределы памяти и процесс завершится (OOM).
Подготовка сервера Minecraft на локальной сети
- Установите Java (OpenJDK 17+ обычно хорошо работает с современными версиями сервера).
- Создайте отдельного системного пользователя для сервера (не запускать под root).
- Скачайте серверный JAR (Java Edition) или установите Bedrock‑сервер (если нужен Bedrock).
- Запустите сервер впервые, примите EULA, остановите сервер и отредактируйте файл server.properties по необходимости.
Пример для запуска Java-сервера:
sudo useradd -m -r -s /bin/bash minecraft
sudo su - minecraft
java -Xmx1024M -Xms1024M -jar server.jar noguiНастройки Java‑памяти подбирайте в зависимости от объёма ОЗУ: обычно Xmx — не более 50–70% от общей памяти на Pi, оставляя запасы на ОС и кэширование.
Порты и сетевые правила: Java vs Bedrock
Основные порты:
- Minecraft Java Edition: TCP порт 25565
- Minecraft Bedrock Edition: UDP порт 19132
| Издание | Протокол | Порт | Примечание |
|---|---|---|---|
| Java Edition | TCP | 25565 | Обычный порт по умолчанию для Java-серверов |
| Bedrock Edition | UDP | 19132 | Bedrock использует UDP; для некоторых платформ нужен SRV-запись |
Важно: при настройке форвардинга указывайте протокол точно (TCP для Java, UDP для Bedrock). Если вы запускаете оба издания одновременно — пробросьте оба порта.
Настройка порт‑форвардинга на роутере — пошагово
- Войдите в веб‑интерфейс роутера (обычно http://192.168.0.1 или http://192.168.1.1).
- Найдите раздел Port Forwarding, Virtual Server, Applications & Gaming или NAT.
- Создайте правило:
- Внешний порт: 25565 (для Java) или 19132 (для Bedrock);
- Внутренний порт: тот же, что и внешний;
- Протокол: TCP для Java, UDP для Bedrock;
- Внутренний IP: IP вашего Raspberry Pi;
- Включите правило и сохраните.
- При необходимости перезагрузите роутер.
Совет: вместо статического IP на самой Pi вы можете использовать DHCP‑резервацию в настройках роутера — это привяжет MAC‑адрес Pi к постоянному локальному IP.
Некоторые полезные замечания:
- Port forwarding не сработает, если интернет‑провайдер использует CGNAT (сотовые точки доступа часто используют такое подключение).
- На мобильно‑подключённых (tethered) точках доступа порт‑форвардинг обычно недоступен.
- Если роутер поддерживает DMZ, он перебросит все порты на IP — это просто, но небезопасно.
Как проверить, что порт открыт правильно
Проверить доступность порта можно из внешней сети (не из той же локальной), например с помощью онлайн‑сервисов (CanYouSeeMe.org, YouGetSignal и т. п.).
- Введите публичный порт и запустите проверку.
- Убедитесь, что сервер запущен и слушает указанный порт в момент проверки.
На Pi можно проверить локально, что сервер слушает порт:
sudo ss -tulpn | grep 25565Если проверка из интернета показывает «сервис доступен», значит порт‑форвардинг и сервер настроены верно.
Как игроки получают доступ — IP и порт
Игрокам нужен ваш публичный IP (тот, что виден в интернете) и порт:
- Публичный IP можно узнать на сайтах типа WhatsMyIP.org или через Pi командой:
curl http://ifconfig.me- Формат подключения: <публичный_ip>:25565 для Java или <публичный_ip>:19132 для Bedrock.
Важно: не отдавайте приватную локальную IP‑адресацию (192.168.x.x) — игрокам нужен публичный адрес.
Статический публичный IP vs динамический IP
Статический публичный IP удобнее — адрес не меняется и игроки всегда подключаются по одной и той же строке. Большинство домашних подключений используют динамический IP, который может меняться после перезагрузки модема/роутера или по политике провайдера.
При динамическом IP есть два варианта:
- Сообщать игрокам новый IP вручную (через мессенджеры).
- Настроить DDNS — рекомендованный способ.
DDNS: как автоматизировать смену публичного IP
DDNS (Dynamic DNS) позволяет привязать читаемое доменное имя к меняющемуся публичному IP. Популярные сервисы: No‑IP, DynDNS и другие.
Как это работает:
- Вы регистрируете хост на DDNS (например, my‑mc.ddns.example).
- В роутере включаете обновление DDNS — роутер автоматически сообщает сервису новый IP при смене.
- Игроки подключаются по домену my‑mc.ddns.example:25565 вместо цифрового IP.
Плюсы DDNS: стабильная учётная строка для игроков, автоматическое обновление при смене IP.
Как поставить URL на статический IP (A‑запись в DNS)
Если у вас собственный домен, создайте A‑запись в панели домена и укажите публичный IP. Пример настроек:
- Type: A
- Host/Name: minecraft или minecraft.example.com
- Value: 100.100.100.100 (ваш публичный IP)
Игроки смогут подключаться по minecraft.example.com:25565. Если IP динамический, вместо A‑записи используйте CNAME к DDNS или автоматическое обновление A‑записи через API регистратора.
Дополнительные настройки DNS и SRV
- Для Java чаще всего хватает A‑записи (домен:порт). Также возможна SRV‑запись _minecraft._tcp.example.com, чтобы игрокам не нужно было указывать порт при нестандартном порте.
- Для Bedrock SRV может работать иначе в зависимости от платформы клиента; зачастую проще использовать указание порта.
Безопасность: минимизация рисков при открытом сервере
- Запускайте сервер не от root; заведите отдельного пользователя.
- UFW (Uncomplicated Firewall) — базовый встроенный фаерволл:
sudo apt update && sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw allow 25565/tcp
sudo ufw allow 19132/udp
sudo ufw enable
sudo ufw status verbose- Fail2ban — защита от перебора паролей/подключений:
- Установите fail2ban и при необходимости настройте фильтры для SSH и любых панелей управления.
- DMZ — не используйте, если можете избежать; открывает все порты и увеличивает поверхность атаки.
- Ограничьте доступ по геолокации/IP, если сервер рассчитан на конкретную группу игроков и провайдер/роутер поддерживает такие правила.
- Регулярно обновляйте ОС и Java.
Резервное копирование и обновления
- Делайте периодические бэкапы папки world (rsync, архивы):
rsync -av --delete /home/minecraft/server/world /backups/minecraft/world-$(date +%F)- Перед обновлением сервера делайте снятие снапшота/копию мира и проверяйте совместимость модов.
- Храните минимум 3 последних бэкапа на внешнем накопителе или в облаке.
Производительность и тюнинг сервера
- JVM: настройте параметры Xmx/Xms под объём ОЗУ; не выделяйте всё доступное RAM.
- Моды: каждый мод увеличивает потребление CPU и RAM — тестируйте локально перед открытием для внешних игроков.
- Дисковая подсистема: SSD лучше SD‑карты по надёжности и скорости.
- Мониторинг: htop, vmstat, iostat помогут увидеть узкие места.
Факто‑бокс — ключевые числа
- Java порт: 25565 (TCP)
- Bedrock порт: 19132 (UDP)
- Рекомендуемая Pi‑модель: Pi 4 (2 ГБ+) для небольшой группы
- Оценочная задержка: внутри одного города — 1–10 ms; между разными ISPs — ~30–50 ms
Тестовые сценарии и критерии приёмки
Критерии приёмки
- Сервер запускается и отвечает на локальные подключения.
- Порт(ы) 25565/19132 доступны из внешней сети.
- Игроки успешно подключаются и могут перемещаться без критических лагов.
- Регулярный бэкап выполняется и успешно восстанавливает мир.
Тестовые шаги
- Запустить сервер и проверить прослушку порта локально.
- Выполнить внешнюю проверку порта через онлайн‑сервис.
- Попросить внешнего игрока подключиться и проверить стабильность 10–30 минут.
- Сделать резервную копию и восстановить её в тестовой среде.
Отладка распространённых проблем
- «Не вижу сервер в списке» — проверьте форвардинг и что сервер слушает правильный порт и интерфейс.
- «Проверка порта не видит сервис» — попробуйте временно отключить UFW и проверить; если видит — откройте нужный порт в UFW.
- «Публичный IP поменялся» — настройте DDNS или A‑запись с обновлением.
- «Игроки жалуются на лаги» — проверьте загрузку CPU, использование RAM, диск и сетевую пропускную способность.
Плюсы и минусы домашнего хостинга сервера Minecraft
Плюсы:
- Низкая стоимость (низкое энергопотребление Pi).
- Полный контроль над конфигурацией и модами.
- Низкая локальная задержка для игроков в вашей сети.
Минусы:
- Публичный IP может быть динамическим или находиться за CGNAT.
- Домашний интернет и оборудование менее надёжны, чем профессиональный хостинг.
- Требуется базовая настройка безопасности и резервного копирования.
План отката и аварийное восстановление
- Перед любым обновлением сервера сделайте полную копию каталога с миром и конфигурациями.
- Если обновление ломает совместимость, остановите сервер, замените папку world на бэкап и перезапустите.
- В экстренной ситуации можно временно отключить форвардинг и поднять локальную резервную копию на другом хосте.
Рекомендации по эксплуатации
- Записывайте изменения конфигурации и время бэкапов.
- Настройте уведомления при падении сервера (например, cron + curl на мониторинг или сторонние сервисы).
- Периодически проверяйте файл журнала сервера (logs/latest.log) на ошибки.
Дополнительные советы и альтернативы
- Если нужен максимальный аптайм и стабильность — рассмотрите аренду VPS с фиксированным IP; это дороже, но проще в поддержке.
- Для небольших социальных групп DDNS + Pi — оптимальное соотношение цена/качество.
- Для больших сообществ используйте выделенные/облачные решения с автоматическим масштабированием.
Короткая проверочная памятка (Role‑based checklist)
Для владельца сервера:
- Установлен и запущен сервер
- Настроен статический локальный IP или DHCP‑резервация
- Настроен порт‑форвардинг/DMZ не используется
- UFW и Fail2ban установлены и настроены
- Настроены бэкапы и мониторинг
Для игроков:
- Имеют публичный адрес/имя и порт
- Проверили подключение из внешней сети
Заключение
Запуск Minecraft‑сервера на Raspberry Pi — недорогой и практичный способ играть с друзьями на собственных условиях. Ключевые шаги: корректно подготовить Pi, настроить порт‑форвардинг, обеспечить стабильный публичный адрес (статический или через DDNS) и позаботиться о безопасности и бэкапах. При должной настройке Pi‑сервер будет работать долго и стабильно, потребляя минимальную электроэнергию.
Краткое резюме:
- Используйте Pi 4 (2 ГБ+) как стартовую конфигурацию.
- Форвардьте 25565 TCP для Java и 19132 UDP для Bedrock.
- Настройте статический локальный IP или DHCP‑резервацию и DDNS для внешнего доступа.
- Защитите сервер с помощью UFW и Fail2ban и делайте регулярные бэкапы.
Важное: если ваш провайдер использует CGNAT или вы подключены через мобильный tethering, порт‑форвардинг работать не будет — в таких случаях DDNS и локальные настройки не помогут, и стоит рассмотреть VPS‑хостинг.
Похожие материалы
Режим гостя в Chrome и Chromebook: руководство
Как прикрепить папку к email — ZIP и альтернативы
LimeSurvey: установка и создание опроса
Зеркалирование iPhone на ПК по USB
Как освежить станции Pandora и управлять Thumbs