Установка и настройка Spigot-Paper сервера: различия между версиями
Admin (обсуждение | вклад) Нет описания правки |
Починка разметки: ссылки и жирный шрифт из Markdown, лишние обратные косые черты в коде, заголовки — проверка вики 13.11.2026 |
||
| Строка 98: | Строка 98: | ||
3. Добавьте содержимое: | 3. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
# Настройки сервера | |||
SERVER_DIR="/opt/minecraft/spigot" | SERVER_DIR="/opt/minecraft/spigot" | ||
MIN_RAM="2G" | MIN_RAM="2G" | ||
| Строка 106: | Строка 106: | ||
SCREEN_NAME="minecraft-spigot" | SCREEN_NAME="minecraft-spigot" | ||
# Переход в директорию сервера | |||
cd $SERVER_DIR | cd $SERVER_DIR | ||
# Проверка запущенного сервера | |||
if screen -list | grep -q "$SCREEN_NAME"; then | if screen -list | grep -q "$SCREEN_NAME"; then | ||
echo "Spigot сервер уже запущен!" | echo "Spigot сервер уже запущен!" | ||
| Строка 115: | Строка 115: | ||
fi | fi | ||
# Запуск сервера | |||
echo "Запуск Minecraft Spigot сервера..." | 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 | 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 | ||
| Строка 148: | Строка 148: | ||
3. Добавьте содержимое: | 3. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
# Настройки сервера | |||
SERVER_DIR="/opt/minecraft/paper" | SERVER_DIR="/opt/minecraft/paper" | ||
MIN_RAM="2G" | MIN_RAM="2G" | ||
| Строка 156: | Строка 156: | ||
SCREEN_NAME="minecraft-paper" | SCREEN_NAME="minecraft-paper" | ||
# Переход в директорию сервера | |||
cd $SERVER_DIR | cd $SERVER_DIR | ||
# Проверка запущенного сервера | |||
if screen -list | grep -q "$SCREEN_NAME"; then | if screen -list | grep -q "$SCREEN_NAME"; then | ||
echo "Paper сервер уже запущен!" | echo "Paper сервер уже запущен!" | ||
| Строка 165: | Строка 165: | ||
fi | fi | ||
# Запуск сервера | |||
echo "Запуск Minecraft Paper сервера..." | 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 | 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 | ||
| Строка 191: | Строка 191: | ||
4. Настройте основные параметры: | 4. Настройте основные параметры: | ||
<pre> | <pre># Spigot Configuration | ||
settings: | settings: | ||
debug: false | debug: false | ||
| Строка 223: | Строка 223: | ||
4. Настройте основные параметры: | 4. Настройте основные параметры: | ||
<pre> | <pre># Paper Global Configuration | ||
_version: 25 | _version: 25 | ||
misc: | misc: | ||
| Строка 305: | Строка 305: | ||
3. Запустите нужный сервис: | 3. Запустите нужный сервис: | ||
<pre>sudo systemctl start minecraft-spigot</pre> | <pre>sudo systemctl start minecraft-spigot</pre> | ||
или | |||
<pre>sudo systemctl start minecraft-paper</pre> | <pre>sudo systemctl start minecraft-paper</pre> | ||
| Строка 335: | Строка 335: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
# Проверка статуса Spigot сервера | |||
if ! systemctl is-active --quiet minecraft-spigot; then | if ! systemctl is-active --quiet minecraft-spigot; then | ||
echo "Minecraft Spigot сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | echo "Minecraft Spigot сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | ||
fi | fi | ||
# Проверка статуса Paper сервера | |||
if ! systemctl is-active --quiet minecraft-paper; then | if ! systemctl is-active --quiet minecraft-paper; then | ||
echo "Minecraft Paper сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | echo "Minecraft Paper сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | ||
fi | fi | ||
# Проверка использования памяти | |||
MEMORY_USAGE=$(ps aux | grep -E "(spigot|paper)" | grep -v grep | awk '{print $4}' | head -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 | if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then | ||
| Строка 353: | Строка 353: | ||
fi | fi | ||
# Проверка доступности порта | |||
if ! nc -z localhost 25565; then | if ! nc -z localhost 25565; then | ||
echo "Minecraft сервер не отвечает на порту 25565!" | mail -s "Minecraft Alert" admin@example.com | echo "Minecraft сервер не отвечает на порту 25565!" | mail -s "Minecraft Alert" admin@example.com | ||
| Строка 376: | Строка 376: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
BACKUP_DIR="/backup/minecraft-spigot-paper" | BACKUP_DIR="/backup/minecraft-spigot-paper" | ||
DATE=$(date +%Y%m%d_%H%M%S) | DATE=$(date +%Y%m%d_%H%M%S) | ||
# Создание директории для бэкапа | |||
mkdir -p $BACKUP_DIR | mkdir -p $BACKUP_DIR | ||
# Остановка серверов для бэкапа | |||
systemctl stop minecraft-spigot | systemctl stop minecraft-spigot | ||
systemctl stop minecraft-paper | systemctl stop minecraft-paper | ||
# Создание архива Spigot | |||
if [ -d "/opt/minecraft/spigot" ]; then | if [ -d "/opt/minecraft/spigot" ]; then | ||
tar -czf $BACKUP_DIR/spigot-backup-$DATE.tar.gz -C /opt/minecraft spigot | tar -czf $BACKUP_DIR/spigot-backup-$DATE.tar.gz -C /opt/minecraft spigot | ||
fi | fi | ||
# Создание архива Paper | |||
if [ -d "/opt/minecraft/paper" ]; then | if [ -d "/opt/minecraft/paper" ]; then | ||
tar -czf $BACKUP_DIR/paper-backup-$DATE.tar.gz -C /opt/minecraft paper | tar -czf $BACKUP_DIR/paper-backup-$DATE.tar.gz -C /opt/minecraft paper | ||
fi | fi | ||
# Запуск серверов | |||
systemctl start minecraft-spigot | systemctl start minecraft-spigot | ||
systemctl start minecraft-paper | systemctl start minecraft-paper | ||
# Удаление старых бэкапов (старше 7 дней) | |||
find $BACKUP_DIR -name "*-backup-*" -mtime +7 -delete | find $BACKUP_DIR -name "*-backup-*" -mtime +7 -delete | ||
| Строка 461: | Строка 461: | ||
Spigot/Paper серверы успешно установлены и настроены! Теперь у вас есть высокопроизводительные серверы с возможностями плагинов, мониторинга и резервного копирования. | Spigot/Paper серверы успешно установлены и настроены! Теперь у вас есть высокопроизводительные серверы с возможностями плагинов, мониторинга и резервного копирования. | ||
'''Для размещения ваших Spigot/Paper серверов на надежном хостинге рекомендуем воспользоваться услугами [ | '''Для размещения ваших Spigot/Paper серверов на надежном хостинге рекомендуем воспользоваться услугами [https://ark-hoster.ru ARK-HOSTER.RU]:''' | ||
* '''[ | * '''[https://ark-hoster.ru/dedicated/ Выделенные серверы]''' - для высоконагруженных Spigot/Paper серверов | ||
* '''[ | * '''[https://ark-hoster.ru/vpsgame/ VPS/VDS серверы]''' - для небольших и средних серверов | ||
Наши специалисты помогут с настройкой Spigot/Paper серверов и оптимизацией производительности! | Наши специалисты помогут с настройкой Spigot/Paper серверов и оптимизацией производительности! | ||
Текущая версия от 08:12, 14 ноября 2026
Установка и настройка 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
# Настройки сервера
SERVER_DIR="/opt/minecraft/spigot"
MIN_RAM="2G"
MAX_RAM="4G"
SCREEN_NAME="minecraft-spigot"
# Переход в директорию сервера
cd $SERVER_DIR
# Проверка запущенного сервера
if screen -list | grep -q "$SCREEN_NAME"; then
echo "Spigot сервер уже запущен!"
exit 1
fi
# Запуск сервера
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
# Настройки сервера
SERVER_DIR="/opt/minecraft/paper"
MIN_RAM="2G"
MAX_RAM="4G"
SCREEN_NAME="minecraft-paper"
# Переход в директорию сервера
cd $SERVER_DIR
# Проверка запущенного сервера
if screen -list | grep -q "$SCREEN_NAME"; then
echo "Paper сервер уже запущен!"
exit 1
fi
# Запуск сервера
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
или
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
# Проверка статуса Spigot сервера
if ! systemctl is-active --quiet minecraft-spigot; then
echo "Minecraft Spigot сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com
fi
# Проверка статуса Paper сервера
if ! systemctl is-active --quiet minecraft-paper; then
echo "Minecraft Paper сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com
fi
# Проверка использования памяти
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
# Проверка доступности порта
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)
# Создание директории для бэкапа
mkdir -p $BACKUP_DIR
# Остановка серверов для бэкапа
systemctl stop minecraft-spigot
systemctl stop minecraft-paper
# Создание архива Spigot
if [ -d "/opt/minecraft/spigot" ]; then
tar -czf $BACKUP_DIR/spigot-backup-$DATE.tar.gz -C /opt/minecraft spigot
fi
# Создание архива Paper
if [ -d "/opt/minecraft/paper" ]; then
tar -czf $BACKUP_DIR/paper-backup-$DATE.tar.gz -C /opt/minecraft paper
fi
# Запуск серверов
systemctl start minecraft-spigot
systemctl start minecraft-paper
# Удаление старых бэкапов (старше 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:
- Выделенные серверы - для высоконагруженных Spigot/Paper серверов
- VPS/VDS серверы - для небольших и средних серверов
Наши специалисты помогут с настройкой Spigot/Paper серверов и оптимизацией производительности!