Как установить игровой сервер Minecraft на VDS

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск

Содержание

Minecraft на VDS Linux

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

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

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

Установка OpenJDK

1. Обновите систему:

sudo apt update

2. Установите Java 17 (рекомендуется для Minecraft 1.18+):

sudo apt install -y openjdk-17-jdk

3. Проверьте версию Java:

java -version

Альтернативная установка Java

1. Для старых версий Minecraft установите Java 8:

sudo apt install -y openjdk-8-jdk

2. Для новейших версий установите Java 21:

sudo apt install -y openjdk-21-jdk

3. Управление версиями Java:

sudo update-alternatives --config java

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

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

1. Создайте пользователя для Minecraft:

sudo useradd -m -s /bin/bash minecraft

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

sudo passwd minecraft

3. Создайте директорию для сервера:

sudo mkdir -p /opt/minecraft
sudo chown minecraft:minecraft /opt/minecraft

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

sudo su - minecraft

4. Установка сервера Minecraft

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

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

cd /opt/minecraft

2. Скачайте официальный сервер Minecraft:

wget https://launcher.mojang.com/v1/objects/your-server-jar-file.jar

3. Или скачайте Paper (оптимизированная версия):

wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/507/downloads/paper-1.20.4-507.jar

4. Переименуйте файл:

mv paper-1.20.4-507.jar server.jar

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

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

nano start.sh

2. Добавьте содержимое:

\#!/bin/bash
java -Xmx2G -Xms1G -jar server.jar nogui

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

chmod +x start.sh

4. Запустите сервер в первый раз:

./start.sh

5. Примите лицензионное соглашение:

echo "eula=true" > eula.txt

5. Настройка сервера

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

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

nano server.properties

2. Настройте основные параметры:

server-name=My Minecraft Server
server-port=25565
max-players=20
difficulty=normal
gamemode=survival
motd=A Minecraft Server
online-mode=true
white-list=false

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

1. Создайте оптимизированный скрипт запуска:

nano start-optimized.sh

2. Добавьте содержимое:

\#!/bin/bash
java -Xmx4G -Xms2G \
     -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 server.jar nogui

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

chmod +x start-optimized.sh

6. Установка плагинов (Paper)

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

1. Создайте директорию для плагинов:

mkdir -p plugins

2. Скачайте популярные плагины:

wget https://github.com/EssentialsX/Essentials/releases/latest/download/EssentialsX-2.20.1.jar -O plugins/EssentialsX.jar
wget https://github.com/mcMMO-Dev/mcMMO/releases/latest/download/mcMMO.jar -O plugins/mcMMO.jar

3. Перезапустите сервер для загрузки плагинов:

./start-optimized.sh

Настройка EssentialsX

1. Отредактируйте конфигурацию:

nano plugins/Essentials/config.yml

2. Настройте основные параметры:

motd: "&6Добро пожаловать на сервер!"
rules: "&cПравила сервера:"

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

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

1. Создайте systemd сервис:

sudo nano /etc/systemd/system/minecraft.service

2. Добавьте содержимое:

[Unit]
Description=Minecraft Server
After=network.target

[Service]
Type=simple
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/opt/minecraft/start-optimized.sh
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

3. Перезагрузите systemd:

sudo systemctl daemon-reload

4. Включите и запустите сервис:

sudo systemctl enable minecraft
sudo systemctl start minecraft

Управление сервисом

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

sudo systemctl start minecraft

2. Остановка сервера:

sudo systemctl stop minecraft

3. Перезапуск сервера:

sudo systemctl restart minecraft

4. Проверка статуса:

sudo systemctl status minecraft

5. Просмотр логов:

sudo journalctl -u minecraft -f

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

Настройка UFW

1. Разрешите порт Minecraft:

sudo ufw allow 25565/tcp

2. Проверьте статус:

sudo ufw status

Настройка iptables

1. Разрешите порт через iptables:

sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT

2. Сохраните правила:

sudo iptables-save > /etc/iptables/rules.v4

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

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

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

sudo nano /usr/local/bin/minecraft-backup.sh

2. Добавьте содержимое:

\#!/bin/bash

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

\# Остановка сервера
sudo systemctl stop minecraft

\# Создание архива
tar -czf $BACKUP_DIR/minecraft_backup_$DATE.tar.gz -C $SERVER_DIR .

\# Запуск сервера
sudo systemctl start minecraft

\# Удаление старых бэкапов (старше 7 дней)
find $BACKUP_DIR -name "minecraft_backup_*.tar.gz" -mtime +7 -delete

echo "Backup completed: minecraft_backup_$DATE.tar.gz"

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

sudo chmod +x /usr/local/bin/minecraft-backup.sh

4. Создайте директорию для бэкапов:

sudo mkdir -p /backup/minecraft

Настройка автоматического бэкапа

1. Добавьте задачу в crontab:

sudo crontab -e

2. Добавьте строку для ежедневного бэкапа:

0 3 * * * /usr/local/bin/minecraft-backup.sh

10. Мониторинг сервера

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

1. Создайте скрипт мониторинга:

sudo nano /usr/local/bin/minecraft-monitor.sh

2. Добавьте содержимое:

\#!/bin/bash

\# Проверка статуса сервера
if systemctl is-active --quiet minecraft; then
    echo "Minecraft server is running"
    
    # Проверка использования памяти
    MEMORY=$(ps aux | grep java | grep minecraft | awk '{print $6}')
    echo "Memory usage: $MEMORY KB"
    
    # Проверка подключений
    CONNECTIONS=$(netstat -an | grep :25565 | wc -l)
    echo "Active connections: $CONNECTIONS"
    
else
    echo "Minecraft server is not running"
    # Отправка уведомления
    echo "Minecraft server is down" | mail -s "Minecraft Alert" admin@example.com
fi

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

sudo chmod +x /usr/local/bin/minecraft-monitor.sh

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

1. Добавьте задачу мониторинга в crontab:

\# Проверка каждые 5 минут
*/5 * * * * /usr/local/bin/minecraft-monitor.sh

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

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

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

  • Проверьте версию Java:
    java -version
  • Проверьте права доступа:
    ls -la /opt/minecraft
  • Проверьте логи:
    sudo journalctl -u minecraft

2. Высокое использование памяти:

  • Уменьшите параметры -Xmx и -Xms
  • Используйте оптимизированные настройки JVM
  • Установите плагины для оптимизации

3. Игроки не могут подключиться:

  • Проверьте файрвол:
    sudo ufw status
  • Проверьте порт:
    sudo netstat -tlnp | grep :25565
  • Проверьте настройки server.properties

Диагностика

1. Проверьте статус сервиса:

sudo systemctl status minecraft

2. Проверьте использование ресурсов:

htop
free -h
df -h

3. Проверьте логи сервера:

tail -f /opt/minecraft/logs/latest.log

12. Дополнительные настройки

Установка RCON

1. Включите RCON в server.properties:

enable-rcon=true
rcon.port=25575
rcon.password=your_password

2. Используйте RCON для управления:

mcrcon -H localhost -P 25575 -p your_password "list"

Настройка автоматического перезапуска

1. Создайте скрипт автоматического перезапуска:

sudo nano /usr/local/bin/minecraft-restart.sh

2. Добавьте содержимое:

\#!/bin/bash

\# Остановка сервера
sudo systemctl stop minecraft

\# Ожидание
sleep 10

\# Запуск сервера
sudo systemctl start minecraft

echo "Minecraft server restarted at $(date)"

3. Добавьте в crontab для ежедневного перезапуска:

0 6 * * * /usr/local/bin/minecraft-restart.sh

Заключение

Minecraft сервер успешно установлен и настроен на VDS! Теперь вы можете играть со своими друзьями.

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

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