Шаг 1: Подготовка системы 1.1. Обновление пакетовsudo apt update
sudo apt upgrade -y 1.2. Установка Java (выберите подходящую версию)Для версий Minecraft 1.17+ требуется Java 17+ # Проверьте текущую версию Java
java --version
# Установите Java 17 (рекомендуется для большинства версий)
sudo apt install openjdk-17-jre-headless -y
# Или Java 21 для новейших версий
# sudo apt install openjdk-21-jre-headless -yПроверка установки: java --version
# Должно показать что-то вроде: openjdk 17.0.10 2024-01-16 Шаг 2: Создание директории для сервера# Создаем папку в удобном месте (например, в домашней директории)
mkdir ~/minecraft-server
cd ~/minecraft-server Шаг 3: Загрузка серверного файла3.1. Способ A: Официальный сервер от Mojang# Скачиваем последнюю версию сервера
wget https://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar
# Примечание: ссылка может меняться, актуальную смотрите на minecraft.net
# Или для конкретной версии, например, 1.20.4:
# wget https://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar3.2. Способ B: PaperMC (оптимизированный, рекомендуется)# Перейдите на сайт papermc.io, чтобы получить актуальную ссылку
# Пример для Paper 1.20.4:
wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/445/downloads/paper-1.20.4-445.jar -O server.jar Шаг 4: Первый запуск и настройка4.1. Создайте скрипт запускаnano start.shСодержимое файла start.sh: #!/bin/bash
# Скрипт запуска Minecraft сервера
# Параметры Java
MIN_RAM="1G" # Минимальная память
MAX_RAM="2G" # Максимальная память (увеличьте для модов/плагинов)
# Дополнительные параметры JVM
JAVA_ARGS="-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1"
# Запуск сервера
java -Xms${MIN_RAM} -Xmx${MAX_RAM} ${JAVA_ARGS} -jar server.jar noguiДайте права на выполнение: chmod +x start.sh 4.2. Первый запуск сервера./start.shПри первом запуске произойдет: Создадутся базовые файлы и папки Сервер остановится с ошибкой EULA 4.3. Принятие EULA# Откройте файл eula.txt
nano eula.txtИзмените строку: eula=falseНа: eula=trueСохраните файл (Ctrl+X, затем Y, затем Enter) Шаг 5: Основная настройка сервера5.1. Настройка server.propertiesnano server.propertiesОсновные параметры для настройки: # Название сервера (максимум 59 символов)
motd=Мой первый сервер
# Порт (стандартный 25565)
server-port=25565
# Режим игры (survival, creative, adventure, spectator)
gamemode=survival
# Сложность (peaceful, easy, normal, hard)
difficulty=easy
# Максимальное количество игроков
max-players=20
# Онлайн-режим (true - только лицензия, false - пираты тоже)
online-mode=true
# Белый список (false - все могут зайти, true - только добавленные)
white-list=false
# PvP (true - можно драться, false - нельзя)
pvp=true
# Генерация структур (деревни, храмы и т.д.)
generate-structures=true
# Разрешить нетеры (true - можно летать)
allow-flight=false
# Вид на мир (normal - обычный, largeBiomes - большие биомы, amplified - усиленный, flat - плоский)
level-type=normal 5.2. Настройка операторов (админов)# Сначала запустите сервер
./start.sh
# В консоли сервера (или создайте файл ops.json вручную):
op <никнейм_игрока>
# Например: op Alexey Шаг 6: Автозапуск при загрузке системы (systemd)6.1. Создаем службуsudo nano /etc/systemd/system/minecraft.serviceСодержимое файла: [Unit]
Description=Minecraft Server
After=network.target
[Service]
Type=simple
User=ваш_пользователь # замените на ваше имя пользователя
WorkingDirectory=/home/ваш_пользователь/minecraft-server # путь к папке сервера
ExecStart=/usr/bin/java -Xms1G -Xmx2G -jar server.jar nogui
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetПример с конкретным пользователем: [Unit]
Description=Minecraft Server
After=network.target
[Service]
Type=simple
User=alexey
WorkingDirectory=/home/alexey/minecraft-server
ExecStart=/usr/bin/java -Xms2G -Xmx4G -XX:+UseG1GC -jar server.jar nogui
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target 6.2. Активируем службу# Перезагружаем systemd
sudo systemctl daemon-reload
# Включаем автозагрузку
sudo systemctl enable minecraft
# Запускаем сервер
sudo systemctl start minecraft
# Проверяем статус
sudo systemctl status minecraft
# Просмотр логов
sudo journalctl -u minecraft -f Шаг 7: Открытие портов в фаерволе7.1. Для UFW (Ubuntu/Debian)sudo ufw allow 25565/tcp
sudo ufw allow 25565/udp
sudo ufw reload 7.2. Для firewalld (CentOS/RHEL)sudo firewall-cmd --permanent --add-port=25565/tcp
sudo firewall-cmd --permanent --add-port=25565/udp
sudo firewall-cmd --reload Шаг 8: Подключение к серверуВ игре: Меню → Сетевая игра → Добавить сервер Адрес сервера: Для локальной сети: localhost или ваш_локальный_ip Для интернета: ваш_публичный_ip (найдите через curl ifconfig.me) Порт: 25565 (если не меняли) Шаг 9: Управление серверомОсновные команды в консоли:# Остановить сервер
stop
# Сохранить мир
save-all
# Перезагрузить конфигурацию
reload
# Список игроков
list
# Выдать предмет
give <никнейм> <предмет> [количество]
# Телепортировать игрока
tp <никнейм1> <никнейм2> Шаг 10: Резервное копированиеСоздайте скрипт бэкапа:nano backup.shСодержимое: #!/bin/bash
cd /home/ваш_пользователь/minecraft-server
tar -czf backup-$(date +%Y-%m-%d-%H-%M).tar.gz world/ world_nether/ world_the_end/ server.properties
# Удаляем старые бэкапы (старше 7 дней)
find . -name "backup-*.tar.gz" -mtime +7 -deletechmod +x backup.sh Автоматический бэкап (cron):crontab -e
# Добавьте строку (бэкап каждый день в 3 ночи):
0 3 * * * /home/ваш_пользователь/minecraft-server/backup.sh Частые проблемы и решения:"Can't bind to port" - порт занят: sudo netstat -tulpn | grep :25565
# Или измените порт в server.propertiesНе хватает памяти: # Увеличьте Xmx в start.sh или службе systemd
# Например: -Xms4G -Xmx8GМедленная работа: # Установите PaperMC вместо vanilla
# Добавьте флаги оптимизации в JAVA_ARGS
# Выделите больше RAMИгроки не могут подключиться: Проверьте фаервол Убедитесь, что порт проброшен на роутере Проверьте online-mode в server.properties Дополнительные улучшения:Установка плагинов (для Paper/Spigot): # Скачайте плагины в папку plugins/
mkdir plugins
cd plugins
wget https://example.com/plugin.jarМоды (для Forge/Fabric): Используйте соответствующий серверный файл Поместите моды в папку mods/ Панель управления: Pterodactyl - профессиональная панель AMP - простая в установке Crafty Controller - веб-интерфейс Мониторинг: # Установите htop для мониторинга ресурсов
sudo apt install htop
htopТеперь у вас должен работать полноценный Minecraft-сервер на Linux! Сервер будет автоматически запускаться при загрузке системы и перезапускаться при сбоях.