Установка и настройка Bukkit сервера — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «= Установка и настройка Bukkit сервера = == 1. Подготовка системы == * Войдите в систему под уче…») |
Admin (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
* Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы. | * Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы. | ||
− | == 2. Установка Java | + | == 2. Установка Java == |
=== Обновление системы === | === Обновление системы === | ||
1. Обновите систему: | 1. Обновите систему: | ||
− | < | + | <pre>sudo apt update</pre> |
− | < | + | <pre>sudo apt upgrade -y</pre> |
2. Установите необходимые пакеты: | 2. Установите необходимые пакеты: | ||
− | < | + | <pre>sudo apt install -y wget curl unzip screen htop git</pre> |
=== Установка OpenJDK === | === Установка OpenJDK === | ||
1. Установите OpenJDK 21: | 1. Установите OpenJDK 21: | ||
− | < | + | <pre>sudo apt install -y openjdk-21-jdk</pre> |
2. Проверьте версию Java: | 2. Проверьте версию Java: | ||
− | < | + | <pre>java --version</pre> |
3. Настройте JAVA_HOME: | 3. Настройте JAVA_HOME: | ||
− | < | + | <pre>echo 'export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64' >> ~/.bashrc</pre> |
− | < | + | <pre>source ~/.bashrc</pre> |
− | == 3. Создание пользователя для Bukkit | + | == 3. Создание пользователя для Bukkit == |
=== Создание пользователя === | === Создание пользователя === | ||
1. Создайте пользователя bukkit: | 1. Создайте пользователя bukkit: | ||
− | < | + | <pre>sudo useradd -m -s /bin/bash bukkit</pre> |
2. Установите пароль: | 2. Установите пароль: | ||
− | < | + | <pre>sudo passwd bukkit</pre> |
3. Добавьте пользователя в группу sudo: | 3. Добавьте пользователя в группу sudo: | ||
− | < | + | <pre>sudo usermod -aG sudo bukkit</pre> |
=== Настройка директорий === | === Настройка директорий === | ||
1. Создайте директорию для Bukkit: | 1. Создайте директорию для Bukkit: | ||
− | < | + | <pre>sudo mkdir -p /opt/bukkit</pre> |
2. Установите права доступа: | 2. Установите права доступа: | ||
− | < | + | <pre>sudo chown -R bukkit:bukkit /opt/bukkit</pre> |
3. Переключитесь на пользователя bukkit: | 3. Переключитесь на пользователя bukkit: | ||
− | < | + | <pre>sudo su - bukkit</pre> |
− | == 4. Установка Bukkit сервера | + | == 4. Установка Bukkit сервера == |
=== Скачивание CraftBukkit === | === Скачивание CraftBukkit === | ||
1. Перейдите в директорию Bukkit: | 1. Перейдите в директорию Bukkit: | ||
− | < | + | <pre>cd /opt/bukkit</pre> |
2. Скачайте CraftBukkit (последняя версия): | 2. Скачайте CraftBukkit (последняя версия): | ||
− | < | + | <pre>wget https://getbukkit.org/download/craftbukkit</pre> |
3. Переименуйте файл: | 3. Переименуйте файл: | ||
− | < | + | <pre>mv craftbukkit-1.20.1.jar bukkit-server.jar</pre> |
=== Настройка Bukkit сервера === | === Настройка Bukkit сервера === | ||
1. Примите лицензионное соглашение: | 1. Примите лицензионное соглашение: | ||
− | < | + | <pre>echo "eula=true" > eula.txt</pre> |
2. Создайте скрипт запуска: | 2. Создайте скрипт запуска: | ||
− | < | + | <pre>nano start-bukkit.sh</pre> |
3. Добавьте содержимое: | 3. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
− | # Настройки сервера | + | \# Настройки сервера |
SERVER_DIR="/opt/bukkit" | SERVER_DIR="/opt/bukkit" | ||
MIN_RAM="2G" | MIN_RAM="2G" | ||
Строка 84: | Строка 84: | ||
SCREEN_NAME="minecraft-bukkit" | SCREEN_NAME="minecraft-bukkit" | ||
− | # Переход в директорию сервера | + | \# Переход в директорию сервера |
cd $SERVER_DIR | cd $SERVER_DIR | ||
− | # Проверка запущенного сервера | + | \# Проверка запущенного сервера |
if screen -list | grep -q "$SCREEN_NAME"; then | if screen -list | grep -q "$SCREEN_NAME"; then | ||
echo "Bukkit сервер уже запущен!" | echo "Bukkit сервер уже запущен!" | ||
Строка 93: | Строка 93: | ||
fi | fi | ||
− | # Запуск сервера | + | \# Запуск сервера |
echo "Запуск Minecraft Bukkit сервера..." | echo "Запуск Minecraft Bukkit сервера..." | ||
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 -jar bukkit-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 -jar bukkit-server.jar nogui | ||
Строка 99: | Строка 99: | ||
echo "Bukkit сервер запущен в screen сессии: $SCREEN_NAME" | echo "Bukkit сервер запущен в screen сессии: $SCREEN_NAME" | ||
echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME" | echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME" | ||
− | </ | + | </pre> |
4. Сделайте скрипт исполняемым: | 4. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>chmod +x start-bukkit.sh</pre> |
− | == 5. Настройка конфигурации | + | == 5. Настройка конфигурации == |
=== Базовая конфигурация === | === Базовая конфигурация === | ||
1. Запустите Bukkit сервер один раз для создания конфигурационных файлов: | 1. Запустите Bukkit сервер один раз для создания конфигурационных файлов: | ||
− | < | + | <pre>cd /opt/bukkit</pre> |
− | < | + | <pre>./start-bukkit.sh</pre> |
2. Остановите сервер через несколько секунд: | 2. Остановите сервер через несколько секунд: | ||
− | < | + | <pre>screen -S minecraft-bukkit -X stuff "stop$(printf \\r)"</pre> |
3. Настройте bukkit.yml: | 3. Настройте bukkit.yml: | ||
− | < | + | <pre>nano bukkit.yml</pre> |
4. Настройте основные параметры: | 4. Настройте основные параметры: | ||
− | < | + | <pre>\# Bukkit Configuration |
− | # Основные настройки | + | \# Основные настройки |
settings: | settings: | ||
allow-end: true | allow-end: true | ||
Строка 133: | Строка 133: | ||
minimum-api: null | minimum-api: null | ||
− | # Настройки спавна | + | \# Настройки спавна |
spawn-limits: | spawn-limits: | ||
monsters: 70 | monsters: 70 | ||
Строка 142: | Строка 142: | ||
misc: -1 | misc: -1 | ||
− | # Настройки чанков | + | \# Настройки чанков |
chunk-gc: | chunk-gc: | ||
period-in-ticks: 600 | period-in-ticks: 600 | ||
− | </ | + | </pre> |
=== Настройка server.properties === | === Настройка server.properties === | ||
1. Настройте server.properties: | 1. Настройте server.properties: | ||
− | < | + | <pre>nano server.properties</pre> |
2. Настройте основные параметры: | 2. Настройте основные параметры: | ||
− | < | + | <pre>\# Server Properties |
− | # Основные настройки | + | \# Основные настройки |
server-name=Bukkit Server | server-name=Bukkit Server | ||
motd=Добро пожаловать на Bukkit сервер! | motd=Добро пожаловать на Bukkit сервер! | ||
Строка 161: | Строка 161: | ||
white-list=false | white-list=false | ||
− | # Настройки мира | + | \# Настройки мира |
level-name=world | level-name=world | ||
level-type=minecraft\:normal | level-type=minecraft\:normal | ||
Строка 167: | Строка 167: | ||
generate-structures=true | generate-structures=true | ||
− | # Настройки игроков | + | \# Настройки игроков |
max-players=20 | max-players=20 | ||
view-distance=10 | view-distance=10 | ||
simulation-distance=10 | simulation-distance=10 | ||
− | # Настройки производительности | + | \# Настройки производительности |
difficulty=normal | difficulty=normal | ||
hardcore=false | hardcore=false | ||
Строка 179: | Строка 179: | ||
allow-flight=false | allow-flight=false | ||
− | # Настройки чата | + | \# Настройки чата |
enable-command-block=false | enable-command-block=false | ||
enable-jmx-monitoring=false | enable-jmx-monitoring=false | ||
Строка 185: | Строка 185: | ||
enable-rcon=false | enable-rcon=false | ||
− | # Настройки сети | + | \# Настройки сети |
network-compression-threshold=256 | network-compression-threshold=256 | ||
max-tick-time=60000 | max-tick-time=60000 | ||
− | </ | + | </pre> |
− | == 6. Установка плагинов | + | == 6. Установка плагинов == |
=== Создание директории для плагинов === | === Создание директории для плагинов === | ||
1. Создайте директорию для плагинов: | 1. Создайте директорию для плагинов: | ||
− | < | + | <pre>mkdir -p plugins</pre> |
2. Установите права доступа: | 2. Установите права доступа: | ||
− | < | + | <pre>chmod 755 plugins</pre> |
=== Установка основных плагинов === | === Установка основных плагинов === | ||
1. '''Установка Essentials''': | 1. '''Установка Essentials''': | ||
− | < | + | <pre>cd plugins</pre> |
− | < | + | <pre>wget https://github.com/EssentialsX/Essentials/releases/latest/download/Essentials-2.20.1.jar</pre> |
2. '''Установка Vault''': | 2. '''Установка Vault''': | ||
− | < | + | <pre>wget https://github.com/MilkBowl/Vault/releases/latest/download/Vault-1.7.3.jar</pre> |
3. '''Установка WorldEdit''': | 3. '''Установка WorldEdit''': | ||
− | < | + | <pre>wget https://dev.bukkit.org/projects/worldedit/files/latest</pre> |
− | < | + | <pre>mv latest WorldEdit.jar</pre> |
4. '''Установка PermissionsEx''': | 4. '''Установка PermissionsEx''': | ||
− | < | + | <pre>wget https://github.com/PEXPlugins/PermissionsEx/releases/latest/download/PermissionsEx-1.23.4.jar</pre> |
− | == 7. Настройка systemd сервиса | + | == 7. Настройка systemd сервиса == |
=== Создание сервиса === | === Создание сервиса === | ||
1. Выйдите из пользователя bukkit: | 1. Выйдите из пользователя bukkit: | ||
− | < | + | <pre>exit</pre> |
2. Создайте systemd сервис: | 2. Создайте systemd сервис: | ||
− | < | + | <pre>sudo nano /etc/systemd/system/minecraft-bukkit.service</pre> |
3. Добавьте конфигурацию: | 3. Добавьте конфигурацию: | ||
− | < | + | <pre>[Unit] |
Description=Minecraft Bukkit Server | Description=Minecraft Bukkit Server | ||
After=network.target | After=network.target | ||
Строка 243: | Строка 243: | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
− | </ | + | </pre> |
=== Запуск сервиса === | === Запуск сервиса === | ||
1. Перезагрузите systemd: | 1. Перезагрузите systemd: | ||
− | < | + | <pre>sudo systemctl daemon-reload</pre> |
2. Включите автозапуск: | 2. Включите автозапуск: | ||
− | < | + | <pre>sudo systemctl enable minecraft-bukkit</pre> |
3. Запустите сервис: | 3. Запустите сервис: | ||
− | < | + | <pre>sudo systemctl start minecraft-bukkit</pre> |
4. Проверьте статус: | 4. Проверьте статус: | ||
− | < | + | <pre>sudo systemctl status minecraft-bukkit</pre> |
− | == 8. Настройка файрвола | + | == 8. Настройка файрвола == |
=== Настройка UFW === | === Настройка UFW === | ||
1. Установите UFW: | 1. Установите UFW: | ||
− | < | + | <pre>sudo apt install -y ufw</pre> |
2. Настройте правила: | 2. Настройте правила: | ||
− | < | + | <pre>sudo ufw allow 22/tcp</pre> |
− | < | + | <pre>sudo ufw allow 25565/tcp</pre> |
− | < | + | <pre>sudo ufw enable</pre> |
3. Проверьте статус: | 3. Проверьте статус: | ||
− | < | + | <pre>sudo ufw status</pre> |
− | == 9. Мониторинг и диагностика | + | == 9. Мониторинг и диагностика == |
=== Создание скрипта мониторинга === | === Создание скрипта мониторинга === | ||
1. Создайте скрипт мониторинга: | 1. Создайте скрипт мониторинга: | ||
− | < | + | <pre>sudo nano /usr/local/bin/bukkit-monitor.sh</pre> |
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
− | # Проверка статуса Bukkit сервера | + | \# Проверка статуса Bukkit сервера |
if ! systemctl is-active --quiet minecraft-bukkit; then | if ! systemctl is-active --quiet minecraft-bukkit; then | ||
echo "Bukkit сервер не запущен!" | mail -s "Bukkit Alert" admin@example.com | echo "Bukkit сервер не запущен!" | mail -s "Bukkit Alert" admin@example.com | ||
fi | fi | ||
− | # Проверка использования памяти | + | \# Проверка использования памяти |
MEMORY_USAGE=$(ps aux | grep bukkit-server | grep -v grep | awk '{print $4}') | MEMORY_USAGE=$(ps aux | grep bukkit-server | grep -v grep | awk '{print $4}') | ||
if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then | if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then | ||
Строка 295: | Строка 295: | ||
fi | fi | ||
− | # Проверка доступности порта | + | \# Проверка доступности порта |
if ! nc -z localhost 25565; then | if ! nc -z localhost 25565; then | ||
echo "Bukkit сервер не отвечает на порту 25565!" | mail -s "Bukkit Alert" admin@example.com | echo "Bukkit сервер не отвечает на порту 25565!" | mail -s "Bukkit Alert" admin@example.com | ||
fi | fi | ||
− | </ | + | </pre> |
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/bukkit-monitor.sh</pre> |
4. Добавьте в crontab: | 4. Добавьте в crontab: | ||
− | < | + | <pre>sudo crontab -e</pre> |
5. Добавьте задачу: | 5. Добавьте задачу: | ||
− | < | + | <pre>*/5 * * * * /usr/local/bin/bukkit-monitor.sh</pre> |
− | == 10. Резервное копирование | + | == 10. Резервное копирование == |
=== Создание скрипта резервного копирования === | === Создание скрипта резервного копирования === | ||
1. Создайте скрипт резервного копирования: | 1. Создайте скрипт резервного копирования: | ||
− | < | + | <pre>sudo nano /usr/local/bin/bukkit-backup.sh</pre> |
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
BACKUP_DIR="/backup/bukkit" | BACKUP_DIR="/backup/bukkit" | ||
DATE=$(date +%Y%m%d_%H%M%S) | DATE=$(date +%Y%m%d_%H%M%S) | ||
− | # Создание директории для бэкапа | + | \# Создание директории для бэкапа |
mkdir -p $BACKUP_DIR | mkdir -p $BACKUP_DIR | ||
− | # Остановка Bukkit сервера для бэкапа | + | \# Остановка Bukkit сервера для бэкапа |
systemctl stop minecraft-bukkit | systemctl stop minecraft-bukkit | ||
− | # Создание архива | + | \# Создание архива |
tar -czf $BACKUP_DIR/bukkit-backup-$DATE.tar.gz -C /opt bukkit | tar -czf $BACKUP_DIR/bukkit-backup-$DATE.tar.gz -C /opt bukkit | ||
− | # Запуск Bukkit сервера | + | \# Запуск Bukkit сервера |
systemctl start minecraft-bukkit | systemctl start minecraft-bukkit | ||
− | # Удаление старых бэкапов (старше 7 дней) | + | \# Удаление старых бэкапов (старше 7 дней) |
find $BACKUP_DIR -name "bukkit-backup-*" -mtime +7 -delete | find $BACKUP_DIR -name "bukkit-backup-*" -mtime +7 -delete | ||
echo "Bukkit backup completed: $DATE" | echo "Bukkit backup completed: $DATE" | ||
− | </ | + | </pre> |
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/bukkit-backup.sh</pre> |
4. Добавьте в crontab: | 4. Добавьте в crontab: | ||
− | < | + | <pre>sudo crontab -e</pre> |
5. Добавьте задачу: | 5. Добавьте задачу: | ||
− | < | + | <pre>0 3 * * * /usr/local/bin/bukkit-backup.sh</pre> |
− | == 11. Устранение неполадок | + | == 11. Устранение неполадок == |
=== Частые проблемы === | === Частые проблемы === | ||
1. '''Bukkit сервер не запускается''': | 1. '''Bukkit сервер не запускается''': | ||
− | * Проверьте статус: < | + | * Проверьте статус: <pre>sudo systemctl status minecraft-bukkit</pre> |
− | * Проверьте логи: < | + | * Проверьте логи: <pre>sudo journalctl -u minecraft-bukkit</pre> |
* Проверьте права доступа к файлам | * Проверьте права доступа к файлам | ||
Строка 372: | Строка 372: | ||
1. '''Проверка статуса сервера''': | 1. '''Проверка статуса сервера''': | ||
− | < | + | <pre>sudo systemctl status minecraft-bukkit</pre> |
2. '''Проверка логов''': | 2. '''Проверка логов''': | ||
− | < | + | <pre>sudo journalctl -u minecraft-bukkit -f</pre> |
3. '''Проверка портов''': | 3. '''Проверка портов''': | ||
− | < | + | <pre>sudo netstat -tlnp | grep :25565</pre> |
4. '''Проверка использования ресурсов''': | 4. '''Проверка использования ресурсов''': | ||
− | < | + | <pre>htop</pre> |
− | < | + | <pre>free -h</pre> |
− | < | + | <pre>df -h</pre> |
5. '''Тестирование подключения''': | 5. '''Тестирование подключения''': | ||
− | < | + | <pre>telnet localhost 25565</pre> |
== Заключение == | == Заключение == |
Текущая версия на 10:42, 15 октября 2025
Содержание
- 1 Установка и настройка Bukkit сервера
- 1.1 1. Подготовка системы
- 1.2 2. Установка Java
- 1.3 3. Создание пользователя для Bukkit
- 1.4 4. Установка Bukkit сервера
- 1.5 5. Настройка конфигурации
- 1.6 6. Установка плагинов
- 1.7 7. Настройка systemd сервиса
- 1.8 8. Настройка файрвола
- 1.9 9. Мониторинг и диагностика
- 1.10 10. Резервное копирование
- 1.11 11. Устранение неполадок
- 1.12 Заключение
Установка и настройка Bukkit сервера
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:
sudo apt install -y openjdk-21-jdk
2. Проверьте версию Java:
java --version
3. Настройте JAVA_HOME:
echo 'export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64' >> ~/.bashrc
source ~/.bashrc
3. Создание пользователя для Bukkit
Создание пользователя
1. Создайте пользователя bukkit:
sudo useradd -m -s /bin/bash bukkit
2. Установите пароль:
sudo passwd bukkit
3. Добавьте пользователя в группу sudo:
sudo usermod -aG sudo bukkit
Настройка директорий
1. Создайте директорию для Bukkit:
sudo mkdir -p /opt/bukkit
2. Установите права доступа:
sudo chown -R bukkit:bukkit /opt/bukkit
3. Переключитесь на пользователя bukkit:
sudo su - bukkit
4. Установка Bukkit сервера
Скачивание CraftBukkit
1. Перейдите в директорию Bukkit:
cd /opt/bukkit
2. Скачайте CraftBukkit (последняя версия):
wget https://getbukkit.org/download/craftbukkit
3. Переименуйте файл:
mv craftbukkit-1.20.1.jar bukkit-server.jar
Настройка Bukkit сервера
1. Примите лицензионное соглашение:
echo "eula=true" > eula.txt
2. Создайте скрипт запуска:
nano start-bukkit.sh
3. Добавьте содержимое:
\#!/bin/bash \# Настройки сервера SERVER_DIR="/opt/bukkit" MIN_RAM="2G" MAX_RAM="4G" SCREEN_NAME="minecraft-bukkit" \# Переход в директорию сервера cd $SERVER_DIR \# Проверка запущенного сервера if screen -list | grep -q "$SCREEN_NAME"; then echo "Bukkit сервер уже запущен!" exit 1 fi \# Запуск сервера echo "Запуск Minecraft Bukkit сервера..." 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 -jar bukkit-server.jar nogui echo "Bukkit сервер запущен в screen сессии: $SCREEN_NAME" echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME"
4. Сделайте скрипт исполняемым:
chmod +x start-bukkit.sh
5. Настройка конфигурации
Базовая конфигурация
1. Запустите Bukkit сервер один раз для создания конфигурационных файлов:
cd /opt/bukkit
./start-bukkit.sh
2. Остановите сервер через несколько секунд:
screen -S minecraft-bukkit -X stuff "stop$(printf \\r)"
3. Настройте bukkit.yml:
nano bukkit.yml
4. Настройте основные параметры:
\# Bukkit Configuration \# Основные настройки settings: allow-end: true warn-on-overload: true permissions-file: permissions.yml update-folder: update plugin-profiling: false connection-throttle: 4000 query-plugins: true deprecated-verbose: default shutdown-message: Server closed minimum-api: null \# Настройки спавна spawn-limits: monsters: 70 animals: 15 water-animals: 5 ambient: 15 water-ambient: 20 misc: -1 \# Настройки чанков chunk-gc: period-in-ticks: 600
Настройка server.properties
1. Настройте server.properties:
nano server.properties
2. Настройте основные параметры:
\# Server Properties \# Основные настройки server-name=Bukkit Server motd=Добро пожаловать на Bukkit сервер! server-port=25565 online-mode=true white-list=false \# Настройки мира level-name=world level-type=minecraft\:normal level-seed= generate-structures=true \# Настройки игроков max-players=20 view-distance=10 simulation-distance=10 \# Настройки производительности difficulty=normal hardcore=false pvp=true allow-nether=true allow-flight=false \# Настройки чата enable-command-block=false enable-jmx-monitoring=false enable-query=false enable-rcon=false \# Настройки сети network-compression-threshold=256 max-tick-time=60000
6. Установка плагинов
Создание директории для плагинов
1. Создайте директорию для плагинов:
mkdir -p plugins
2. Установите права доступа:
chmod 755 plugins
Установка основных плагинов
1. Установка Essentials:
cd plugins
wget https://github.com/EssentialsX/Essentials/releases/latest/download/Essentials-2.20.1.jar
2. Установка Vault:
wget https://github.com/MilkBowl/Vault/releases/latest/download/Vault-1.7.3.jar
3. Установка WorldEdit:
wget https://dev.bukkit.org/projects/worldedit/files/latest
mv latest WorldEdit.jar
4. Установка PermissionsEx:
wget https://github.com/PEXPlugins/PermissionsEx/releases/latest/download/PermissionsEx-1.23.4.jar
7. Настройка systemd сервиса
Создание сервиса
1. Выйдите из пользователя bukkit:
exit
2. Создайте systemd сервис:
sudo nano /etc/systemd/system/minecraft-bukkit.service
3. Добавьте конфигурацию:
[Unit] Description=Minecraft Bukkit Server After=network.target [Service] Type=simple User=bukkit Group=bukkit WorkingDirectory=/opt/bukkit 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 -jar bukkit-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-bukkit
3. Запустите сервис:
sudo systemctl start minecraft-bukkit
4. Проверьте статус:
sudo systemctl status minecraft-bukkit
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/bukkit-monitor.sh
2. Добавьте содержимое:
\#!/bin/bash \# Проверка статуса Bukkit сервера if ! systemctl is-active --quiet minecraft-bukkit; then echo "Bukkit сервер не запущен!" | mail -s "Bukkit Alert" admin@example.com fi \# Проверка использования памяти MEMORY_USAGE=$(ps aux | grep bukkit-server | grep -v grep | awk '{print $4}') if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then echo "Высокое использование памяти: ${MEMORY_USAGE}%" | mail -s "Bukkit Alert" admin@example.com fi \# Проверка доступности порта if ! nc -z localhost 25565; then echo "Bukkit сервер не отвечает на порту 25565!" | mail -s "Bukkit Alert" admin@example.com fi
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/bukkit-monitor.sh
4. Добавьте в crontab:
sudo crontab -e
5. Добавьте задачу:
*/5 * * * * /usr/local/bin/bukkit-monitor.sh
10. Резервное копирование
Создание скрипта резервного копирования
1. Создайте скрипт резервного копирования:
sudo nano /usr/local/bin/bukkit-backup.sh
2. Добавьте содержимое:
\#!/bin/bash BACKUP_DIR="/backup/bukkit" DATE=$(date +%Y%m%d_%H%M%S) \# Создание директории для бэкапа mkdir -p $BACKUP_DIR \# Остановка Bukkit сервера для бэкапа systemctl stop minecraft-bukkit \# Создание архива tar -czf $BACKUP_DIR/bukkit-backup-$DATE.tar.gz -C /opt bukkit \# Запуск Bukkit сервера systemctl start minecraft-bukkit \# Удаление старых бэкапов (старше 7 дней) find $BACKUP_DIR -name "bukkit-backup-*" -mtime +7 -delete echo "Bukkit backup completed: $DATE"
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/bukkit-backup.sh
4. Добавьте в crontab:
sudo crontab -e
5. Добавьте задачу:
0 3 * * * /usr/local/bin/bukkit-backup.sh
11. Устранение неполадок
Частые проблемы
1. Bukkit сервер не запускается:
- Проверьте статус:
sudo systemctl status minecraft-bukkit
- Проверьте логи:
sudo journalctl -u minecraft-bukkit
- Проверьте права доступа к файлам
2. Проблемы с плагинами:
- Проверьте совместимость плагинов
- Проверьте зависимости плагинов
- Проверьте логи сервера
3. Проблемы с производительностью:
- Увеличьте выделенную память
- Оптимизируйте JVM параметры
- Проверьте настройки плагинов
Диагностика
1. Проверка статуса сервера:
sudo systemctl status minecraft-bukkit
2. Проверка логов:
sudo journalctl -u minecraft-bukkit -f
3. Проверка портов:
sudo netstat -tlnp | grep :25565
4. Проверка использования ресурсов:
htop
free -h
df -h
5. Тестирование подключения:
telnet localhost 25565
Заключение
Bukkit сервер успешно установлен и настроен! Теперь у вас есть полнофункциональный сервер с возможностями плагинов, мониторинга и резервного копирования.
Для размещения ваших Bukkit серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для высоконагруженных Bukkit серверов
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних серверов
Наши специалисты помогут с настройкой Bukkit серверов и оптимизацией производительности!