Установка и настройка Bukkit сервера: различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к навигации Перейти к поиску
Новая страница: «= Установка и настройка Bukkit сервера = == 1. Подготовка системы == * Войдите в систему под уче…»
 
Нет описания правки
 
Строка 7: Строка 7:
* Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы.
* Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы.


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


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


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


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


=== Установка OpenJDK ===
=== Установка OpenJDK ===


1. Установите OpenJDK 21:
1. Установите OpenJDK 21:
<code>sudo apt install -y openjdk-21-jdk</code>
<pre>sudo apt install -y openjdk-21-jdk</pre>


2. Проверьте версию Java:
2. Проверьте версию Java:
<code>java --version</code>
<pre>java --version</pre>


3. Настройте JAVA_HOME:
3. Настройте JAVA_HOME:
<code>echo 'export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64' >> ~/.bashrc</code>
<pre>echo 'export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64' >> ~/.bashrc</pre>
<code>source ~/.bashrc</code>
<pre>source ~/.bashrc</pre>


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


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


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


2. Установите пароль:
2. Установите пароль:
<code>sudo passwd bukkit</code>
<pre>sudo passwd bukkit</pre>


3. Добавьте пользователя в группу sudo:
3. Добавьте пользователя в группу sudo:
<code>sudo usermod -aG sudo bukkit</code>
<pre>sudo usermod -aG sudo bukkit</pre>


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


1. Создайте директорию для Bukkit:
1. Создайте директорию для Bukkit:
<code>sudo mkdir -p /opt/bukkit</code>
<pre>sudo mkdir -p /opt/bukkit</pre>


2. Установите права доступа:
2. Установите права доступа:
<code>sudo chown -R bukkit:bukkit /opt/bukkit</code>
<pre>sudo chown -R bukkit:bukkit /opt/bukkit</pre>


3. Переключитесь на пользователя bukkit:
3. Переключитесь на пользователя bukkit:
<code>sudo su - bukkit</code>
<pre>sudo su - bukkit</pre>


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


=== Скачивание CraftBukkit ===
=== Скачивание CraftBukkit ===


1. Перейдите в директорию Bukkit:
1. Перейдите в директорию Bukkit:
<code>cd /opt/bukkit</code>
<pre>cd /opt/bukkit</pre>


2. Скачайте CraftBukkit (последняя версия):
2. Скачайте CraftBukkit (последняя версия):
<code>wget https://getbukkit.org/download/craftbukkit</code>
<pre>wget https://getbukkit.org/download/craftbukkit</pre>


3. Переименуйте файл:
3. Переименуйте файл:
<code>mv craftbukkit-1.20.1.jar bukkit-server.jar</code>
<pre>mv craftbukkit-1.20.1.jar bukkit-server.jar</pre>


=== Настройка Bukkit сервера ===
=== Настройка Bukkit сервера ===


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


2. Создайте скрипт запуска:
2. Создайте скрипт запуска:
<code>nano start-bukkit.sh</code>
<pre>nano start-bukkit.sh</pre>


3. Добавьте содержимое:
3. Добавьте содержимое:
<code>#!/bin/bash
<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"
</code>
</pre>


4. Сделайте скрипт исполняемым:
4. Сделайте скрипт исполняемым:
<code>chmod +x start-bukkit.sh</code>
<pre>chmod +x start-bukkit.sh</pre>


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


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


1. Запустите Bukkit сервер один раз для создания конфигурационных файлов:
1. Запустите Bukkit сервер один раз для создания конфигурационных файлов:
<code>cd /opt/bukkit</code>
<pre>cd /opt/bukkit</pre>
<code>./start-bukkit.sh</code>
<pre>./start-bukkit.sh</pre>


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


3. Настройте bukkit.yml:
3. Настройте bukkit.yml:
<code>nano bukkit.yml</code>
<pre>nano bukkit.yml</pre>


4. Настройте основные параметры:
4. Настройте основные параметры:
<code># Bukkit Configuration
<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
</code>
</pre>


=== Настройка server.properties ===
=== Настройка server.properties ===


1. Настройте server.properties:
1. Настройте server.properties:
<code>nano server.properties</code>
<pre>nano server.properties</pre>


2. Настройте основные параметры:
2. Настройте основные параметры:
<code># Server Properties
<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
</code>
</pre>


== 6. Установка плагинов ===
== 6. Установка плагинов ==


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


1. Создайте директорию для плагинов:
1. Создайте директорию для плагинов:
<code>mkdir -p plugins</code>
<pre>mkdir -p plugins</pre>


2. Установите права доступа:
2. Установите права доступа:
<code>chmod 755 plugins</code>
<pre>chmod 755 plugins</pre>


=== Установка основных плагинов ===
=== Установка основных плагинов ===


1. '''Установка Essentials''':
1. '''Установка Essentials''':
<code>cd plugins</code>
<pre>cd plugins</pre>
<code>wget https://github.com/EssentialsX/Essentials/releases/latest/download/Essentials-2.20.1.jar</code>
<pre>wget https://github.com/EssentialsX/Essentials/releases/latest/download/Essentials-2.20.1.jar</pre>


2. '''Установка Vault''':
2. '''Установка Vault''':
<code>wget https://github.com/MilkBowl/Vault/releases/latest/download/Vault-1.7.3.jar</code>
<pre>wget https://github.com/MilkBowl/Vault/releases/latest/download/Vault-1.7.3.jar</pre>


3. '''Установка WorldEdit''':
3. '''Установка WorldEdit''':
<code>wget https://dev.bukkit.org/projects/worldedit/files/latest</code>
<pre>wget https://dev.bukkit.org/projects/worldedit/files/latest</pre>
<code>mv latest WorldEdit.jar</code>
<pre>mv latest WorldEdit.jar</pre>


4. '''Установка PermissionsEx''':
4. '''Установка PermissionsEx''':
<code>wget https://github.com/PEXPlugins/PermissionsEx/releases/latest/download/PermissionsEx-1.23.4.jar</code>
<pre>wget https://github.com/PEXPlugins/PermissionsEx/releases/latest/download/PermissionsEx-1.23.4.jar</pre>


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


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


1. Выйдите из пользователя bukkit:
1. Выйдите из пользователя bukkit:
<code>exit</code>
<pre>exit</pre>


2. Создайте systemd сервис:
2. Создайте systemd сервис:
<code>sudo nano /etc/systemd/system/minecraft-bukkit.service</code>
<pre>sudo nano /etc/systemd/system/minecraft-bukkit.service</pre>


3. Добавьте конфигурацию:
3. Добавьте конфигурацию:
<code>[Unit]
<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
</code>
</pre>


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


1. Перезагрузите systemd:
1. Перезагрузите systemd:
<code>sudo systemctl daemon-reload</code>
<pre>sudo systemctl daemon-reload</pre>


2. Включите автозапуск:
2. Включите автозапуск:
<code>sudo systemctl enable minecraft-bukkit</code>
<pre>sudo systemctl enable minecraft-bukkit</pre>


3. Запустите сервис:
3. Запустите сервис:
<code>sudo systemctl start minecraft-bukkit</code>
<pre>sudo systemctl start minecraft-bukkit</pre>


4. Проверьте статус:
4. Проверьте статус:
<code>sudo systemctl status minecraft-bukkit</code>
<pre>sudo systemctl status minecraft-bukkit</pre>


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


=== Настройка UFW ===
=== Настройка UFW ===


1. Установите UFW:
1. Установите UFW:
<code>sudo apt install -y ufw</code>
<pre>sudo apt install -y ufw</pre>


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


3. Проверьте статус:
3. Проверьте статус:
<code>sudo ufw status</code>
<pre>sudo ufw status</pre>


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


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


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


2. Добавьте содержимое:
2. Добавьте содержимое:
<code>#!/bin/bash
<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
</code>
</pre>


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


4. Добавьте в crontab:
4. Добавьте в crontab:
<code>sudo crontab -e</code>
<pre>sudo crontab -e</pre>


5. Добавьте задачу:
5. Добавьте задачу:
<code>*/5 * * * * /usr/local/bin/bukkit-monitor.sh</code>
<pre>*/5 * * * * /usr/local/bin/bukkit-monitor.sh</pre>


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


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


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


2. Добавьте содержимое:
2. Добавьте содержимое:
<code>#!/bin/bash
<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"
</code>
</pre>


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


4. Добавьте в crontab:
4. Добавьте в crontab:
<code>sudo crontab -e</code>
<pre>sudo crontab -e</pre>


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


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


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


1. '''Bukkit сервер не запускается''':
1. '''Bukkit сервер не запускается''':
* Проверьте статус: <code>sudo systemctl status minecraft-bukkit</code>
* Проверьте статус: <pre>sudo systemctl status minecraft-bukkit</pre>
* Проверьте логи: <code>sudo journalctl -u minecraft-bukkit</code>
* Проверьте логи: <pre>sudo journalctl -u minecraft-bukkit</pre>
* Проверьте права доступа к файлам
* Проверьте права доступа к файлам


Строка 372: Строка 372:


1. '''Проверка статуса сервера''':
1. '''Проверка статуса сервера''':
<code>sudo systemctl status minecraft-bukkit</code>
<pre>sudo systemctl status minecraft-bukkit</pre>


2. '''Проверка логов''':
2. '''Проверка логов''':
<code>sudo journalctl -u minecraft-bukkit -f</code>
<pre>sudo journalctl -u minecraft-bukkit -f</pre>


3. '''Проверка портов''':
3. '''Проверка портов''':
<code>sudo netstat -tlnp | grep :25565</code>
<pre>sudo netstat -tlnp | grep :25565</pre>


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


5. '''Тестирование подключения''':
5. '''Тестирование подключения''':
<code>telnet localhost 25565</code>
<pre>telnet localhost 25565</pre>


== Заключение ==
== Заключение ==

Текущая версия от 10:42, 15 октября 2025

Установка и настройка 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):

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