Установка и настройка Spigot-Paper сервера — различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Установка и настройка Spigot/Paper сервера = == 1. Подготовка системы == * Войдите в систему под…»)
(нет различий)

Версия 09:09, 15 октября 2025

Содержание

Установка и настройка Spigot/Paper сервера

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 git

Установка OpenJDK

1. Установите OpenJDK 21 (рекомендуется для Spigot/Paper): 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. Создание пользователя для 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/spigot sudo mkdir -p /opt/minecraft/paper

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

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

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

Скачивание BuildTools

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

2. Скачайте BuildTools: wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar

3. Скачайте Minecraft server jar: wget https://launcher.mojang.com/v1/objects/8c3115e0ed1dfd6aeb6fecdd61636aa7184c6170/server.jar

Сборка Spigot

1. Запустите BuildTools: java -jar BuildTools.jar --rev 1.20.1

2. Дождитесь завершения сборки (это может занять несколько минут)

3. Проверьте созданные файлы: ls -la

4. Удалите BuildTools: rm BuildTools.jar

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

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

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

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

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

SERVER_DIR="/opt/minecraft/spigot" MIN_RAM="2G" MAX_RAM="4G" SCREEN_NAME="minecraft-spigot"

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

cd $SERVER_DIR

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

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

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

fi

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

echo "Запуск Minecraft Spigot сервера..." 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 spigot-1.20.1.jar nogui

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

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

5. Установка Paper сервера =

Скачивание Paper

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

2. Скачайте Paper server jar: wget https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/100/downloads/paper-1.20.1-100.jar

3. Переименуйте файл: mv paper-1.20.1-100.jar paper-server.jar

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

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

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

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

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

SERVER_DIR="/opt/minecraft/paper" MIN_RAM="2G" MAX_RAM="4G" SCREEN_NAME="minecraft-paper"

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

cd $SERVER_DIR

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

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

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

fi

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

echo "Запуск Minecraft Paper сервера..." 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 paper-server.jar nogui

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

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

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

Настройка Spigot

1. Запустите Spigot сервер один раз для создания конфигурационных файлов: cd /opt/minecraft/spigot ./start-spigot.sh

2. Остановите сервер через несколько секунд: screen -S minecraft-spigot -X stuff "stop$(printf \\r)"

3. Настройте spigot.yml: nano spigot.yml

4. Настройте основные параметры: # Spigot Configuration settings:

 debug: false
 bungeecord: false
 restart-on-crash: true
 restart-script: ./start.sh
 netty-threads: 4
 timeout-time: 60
 restart-on-crash: true
 restart-script: ./start.sh
 user-cache-size: 1000
 save-user-cache-on-stop-only: false
 moved-wrongly-threshold: 0.0625
 moved-too-quickly-multiplier: 10.0
 moved-too-quickly-threshold: 0.3
 log-villager-deaths: true
 log-named-deaths: true

Настройка Paper

1. Запустите Paper сервер один раз для создания конфигурационных файлов: cd /opt/minecraft/paper ./start-paper.sh

2. Остановите сервер через несколько секунд: screen -S minecraft-paper -X stuff "stop$(printf \\r)"

3. Настройте paper-global.yml: nano paper-global.yml

4. Настройте основные параметры: # Paper Global Configuration _version: 25 misc:

 compression-level: -1
 max-joins-per-tick: 5
 region-file-cache-size: 256
 use-alternative-luck-formula: false
 lag-compensate-block-breaking: true
 use-dimension-type-for-custom-spawners: false
 strict-advancement-dimension-check: false
 fix-climbing-bypassing-cramming-rule: false

packet-limiter:

 all-channels:
   limit: 5000.0
   interval: 7.0
 kick-message: "&cKicked for exceeding packet rate limit of %d per %d seconds"

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

Создание сервиса для Spigot

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

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

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

[Service] Type=simple User=minecraft Group=minecraft WorkingDirectory=/opt/minecraft/spigot 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 spigot-1.20.1.jar nogui ExecStop=/bin/kill -15 $MAINPID Restart=always RestartSec=10

[Install] WantedBy=multi-user.target

Создание сервиса для Paper

1. Создайте systemd сервис для Paper: sudo nano /etc/systemd/system/minecraft-paper.service

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

[Service] Type=simple User=minecraft Group=minecraft WorkingDirectory=/opt/minecraft/paper 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 paper-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-spigot sudo systemctl enable minecraft-paper

3. Запустите нужный сервис: sudo systemctl start minecraft-spigot

  1. или

sudo systemctl start minecraft-paper

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

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

9. Мониторинг и диагностика =

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

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

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

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

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

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

fi

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

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

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

fi

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

MEMORY_USAGE=$(ps aux | grep -E "(spigot|paper)" | grep -v grep | awk '{print $4}' | head -1) 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

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

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

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

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

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

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

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

BACKUP_DIR="/backup/minecraft-spigot-paper" DATE=$(date +%Y%m%d_%H%M%S)

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

mkdir -p $BACKUP_DIR

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

systemctl stop minecraft-spigot systemctl stop minecraft-paper

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

if [ -d "/opt/minecraft/spigot" ]; then

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

fi

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

if [ -d "/opt/minecraft/paper" ]; then

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

fi

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

systemctl start minecraft-spigot systemctl start minecraft-paper

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

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

echo "Minecraft Spigot/Paper backup completed: $DATE"

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

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

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

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

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

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

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

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

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

3. Проблемы с плагинами:

  • Проверьте совместимость плагинов
  • Проверьте зависимости плагинов
  • Проверьте логи сервера

Диагностика

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

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

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

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

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

Заключение

Spigot/Paper серверы успешно установлены и настроены! Теперь у вас есть высокопроизводительные серверы с возможностями плагинов, мониторинга и резервного копирования.

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

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