Установка и настройка Minecraft сервера Vanilla

Материал из ARK-HOSTER.RU | Документация хостинга
Версия от 08:54, 15 октября 2025; Admin (обсуждение | вклад) (Новая страница: «= Установка и настройка Minecraft сервера (Vanilla) = == 1. Подготовка системы == * Войдите в систему…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Установка и настройка Minecraft сервера (Vanilla)

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
  • Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы.

2. Установка Java =

Обновление системы

1. Обновите систему: sudo apt update sudo apt upgrade -y

2. Установите необходимые пакеты: sudo apt install -y wget curl unzip screen htop

Установка OpenJDK

1. Установите OpenJDK 21 (рекомендуется для Minecraft 1.20+): sudo apt install -y openjdk-21-jdk

2. Проверьте версию Java: java --version

3. Установите альтернативную версию Java (если нужно): sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-21-openjdk-amd64/bin/java 1

Настройка переменных окружения

1. Настройте JAVA_HOME: echo 'export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64' >> ~/.bashrc echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc

2. Примените изменения: source ~/.bashrc

3. Проверьте настройки: echo $JAVA_HOME

3. Создание пользователя для Minecraft =

Создание пользователя

1. Создайте пользователя minecraft: sudo useradd -m -s /bin/bash minecraft

2. Установите пароль: sudo passwd minecraft

3. Добавьте пользователя в группу sudo (опционально): sudo usermod -aG sudo minecraft

Настройка директорий

1. Создайте директорию для сервера: sudo mkdir -p /opt/minecraft

2. Установите права доступа: sudo chown -R minecraft:minecraft /opt/minecraft

3. Переключитесь на пользователя minecraft: sudo su - minecraft

4. Скачивание и установка сервера =

Скачивание сервера

1. Перейдите в директорию сервера: cd /opt/minecraft

2. Скачайте последнюю версию сервера: wget https://launcher.mojang.com/v1/objects/8c3115e0ed1dfd6aeb6fecdd61636aa7184c6170/server.jar

3. Переименуйте файл: mv server.jar minecraft_server.jar

Первый запуск

1. Запустите сервер в первый раз: java -Xmx2G -Xms2G -jar minecraft_server.jar nogui

2. Примите лицензионное соглашение: echo "eula=true" > eula.txt

3. Остановите сервер: pkill java

5. Настройка конфигурации сервера =

Базовая конфигурация

1. Отредактируйте server.properties: nano server.properties

2. Настройте основные параметры: # Основные настройки server-name=Minecraft Server motd=Добро пожаловать на наш сервер! server-port=25565 online-mode=true white-list=false

  1. Настройки мира

level-name=world level-type=minecraft\:normal level-seed= generate-structures=true

  1. Настройки игроков

max-players=20 view-distance=10 simulation-distance=10

  1. Настройки производительности

difficulty=normal hardcore=false pvp=true allow-nether=true allow-flight=false

  1. Настройки чата

enable-command-block=false enable-jmx-monitoring=false enable-query=false enable-rcon=false

  1. Настройки сети

network-compression-threshold=256 max-tick-time=60000

Настройка операторов

1. Создайте файл ops.json: nano ops.json

2. Добавьте операторов: [

 {
   "uuid": "00000000-0000-0000-0000-000000000000",
   "name": "admin",
   "level": 4,
   "bypassesPlayerLimit": false
 }

]

Настройка белого списка

1. Включите белый список: echo "white-list=true" >> server.properties

2. Добавьте игроков в белый список: nano whitelist.json

3. Добавьте игроков: [

 {
   "uuid": "00000000-0000-0000-0000-000000000000",
   "name": "player1"
 }

]

6. Создание скрипта запуска =

Создание скрипта

1. Создайте скрипт запуска: nano start.sh

2. Добавьте содержимое: #!/bin/bash

  1. Настройки сервера

SERVER_DIR="/opt/minecraft" JAR_FILE="minecraft_server.jar" MIN_RAM="2G" MAX_RAM="4G" SCREEN_NAME="minecraft"

  1. Переход в директорию сервера

cd $SERVER_DIR

  1. Проверка запущенного сервера

if screen -list | grep -q "$SCREEN_NAME"; then

   echo "Сервер уже запущен!"
   exit 1

fi

  1. Запуск сервера

echo "Запуск Minecraft сервера..." screen -dmS $SCREEN_NAME java -Xms$MIN_RAM -Xmx$MAX_RAM -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 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar $JAR_FILE nogui

echo "Сервер запущен в screen сессии: $SCREEN_NAME" echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME"

3. Сделайте скрипт исполняемым: chmod +x start.sh

Создание скрипта остановки

1. Создайте скрипт остановки: nano stop.sh

2. Добавьте содержимое: #!/bin/bash

SCREEN_NAME="minecraft"

  1. Проверка запущенного сервера

if ! screen -list | grep -q "$SCREEN_NAME"; then

   echo "Сервер не запущен!"
   exit 1

fi

echo "Остановка Minecraft сервера..."

  1. Отправка команды остановки

screen -S $SCREEN_NAME -X stuff "stop$(printf \\r)"

  1. Ожидание остановки

sleep 10

  1. Принудительная остановка если нужно

if screen -list | grep -q "$SCREEN_NAME"; then

   echo "Принудительная остановка сервера..."
   screen -S $SCREEN_NAME -X quit

fi

echo "Сервер остановлен"

3. Сделайте скрипт исполняемым: chmod +x stop.sh

7. Настройка systemd сервиса =

Создание сервиса

1. Выйдите из пользователя minecraft: exit

2. Создайте systemd сервис: sudo nano /etc/systemd/system/minecraft.service

3. Добавьте конфигурацию: [Unit] Description=Minecraft Server After=network.target

[Service] Type=simple User=minecraft Group=minecraft WorkingDirectory=/opt/minecraft ExecStart=/usr/bin/java -Xms2G -Xmx4G -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 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar minecraft_server.jar nogui ExecStop=/bin/kill -15 $MAINPID Restart=always RestartSec=10

[Install] WantedBy=multi-user.target

Запуск сервиса

1. Перезагрузите systemd: sudo systemctl daemon-reload

2. Включите автозапуск: sudo systemctl enable minecraft

3. Запустите сервис: sudo systemctl start minecraft

4. Проверьте статус: sudo systemctl status minecraft

8. Настройка файрвола =

Настройка UFW

1. Установите UFW: sudo apt install -y ufw

2. Настройте правила: sudo ufw allow 22/tcp sudo ufw allow 25565/tcp sudo ufw enable

3. Проверьте статус: sudo ufw status

Настройка iptables

1. Настройте iptables: sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

2. Сохраните правила: sudo iptables-save > /etc/iptables/rules.v4

9. Настройка мониторинга =

Создание скрипта мониторинга

1. Создайте скрипт мониторинга: sudo nano /usr/local/bin/minecraft-monitor.sh

2. Добавьте содержимое: #!/bin/bash

  1. Проверка статуса сервера

if ! systemctl is-active --quiet minecraft; then

   echo "Minecraft сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com

fi

  1. Проверка использования памяти

MEMORY_USAGE=$(ps aux | grep minecraft_server.jar | grep -v grep | awk '{print $4}') if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then

   echo "Высокое использование памяти: ${MEMORY_USAGE}%" | mail -s "Minecraft Alert" admin@example.com

fi

  1. Проверка доступности порта

if ! nc -z localhost 25565; then

   echo "Minecraft сервер не отвечает на порту 25565!" | mail -s "Minecraft Alert" admin@example.com

fi

  1. Проверка использования диска

DISK_USAGE=$(df /opt/minecraft | tail -1 | awk '{print $5}' | sed 's/%//') if [ $DISK_USAGE -gt 80 ]; then

   echo "Высокое использование диска: ${DISK_USAGE}%" | mail -s "Minecraft Alert" admin@example.com

fi

3. Сделайте скрипт исполняемым: sudo chmod +x /usr/local/bin/minecraft-monitor.sh

4. Добавьте в crontab: sudo crontab -e

5. Добавьте задачу: */5 * * * * /usr/local/bin/minecraft-monitor.sh

10. Резервное копирование =

Создание скрипта резервного копирования

1. Создайте скрипт резервного копирования: sudo nano /usr/local/bin/minecraft-backup.sh

2. Добавьте содержимое: #!/bin/bash

BACKUP_DIR="/backup/minecraft" DATE=$(date +%Y%m%d_%H%M%S) SERVER_DIR="/opt/minecraft"

  1. Создание директории для бэкапа

mkdir -p $BACKUP_DIR

  1. Остановка сервера для бэкапа

systemctl stop minecraft

  1. Создание архива

tar -czf $BACKUP_DIR/minecraft-backup-$DATE.tar.gz -C $SERVER_DIR .

  1. Запуск сервера

systemctl start minecraft

  1. Удаление старых бэкапов (старше 7 дней)

find $BACKUP_DIR -name "minecraft-backup-*" -mtime +7 -delete

echo "Minecraft backup completed: $DATE"

3. Сделайте скрипт исполняемым: sudo chmod +x /usr/local/bin/minecraft-backup.sh

4. Добавьте в crontab: sudo crontab -e

5. Добавьте задачу: 0 3 * * * /usr/local/bin/minecraft-backup.sh

11. Устранение неполадок =

Частые проблемы

1. Сервер не запускается:

  • Проверьте статус: sudo systemctl status minecraft
  • Проверьте логи: sudo journalctl -u minecraft
  • Проверьте права доступа к файлам

2. Проблемы с производительностью:

  • Увеличьте выделенную память
  • Оптимизируйте JVM параметры
  • Проверьте использование ресурсов

3. Проблемы с подключением:

  • Проверьте файрвол
  • Проверьте настройки портов
  • Проверьте сетевую связность

Диагностика

1. Проверка статуса сервера: sudo systemctl status minecraft

2. Проверка логов: sudo journalctl -u minecraft -f

3. Проверка портов: sudo netstat -tlnp | grep :25565

4. Проверка использования ресурсов: htop free -h df -h

5. Тестирование подключения: telnet localhost 25565

Заключение

Minecraft сервер (Vanilla) успешно установлен и настроен! Теперь у вас есть полнофункциональный сервер с возможностями мониторинга, резервного копирования и автоматического управления.

Для размещения ваших Minecraft серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой Minecraft серверов и оптимизацией производительности!