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

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Установка и настройка Minecraft Bedrock сервера = == 1. Подготовка системы == * Войдите в систему п…»)
 
 
Строка 7: Строка 7:
 
* Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы.
 
* Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы.
  
== 2. Установка зависимостей ===
+
== 2. Установка зависимостей ==
  
 
=== Обновление системы ===
 
=== Обновление системы ===
  
 
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</code>
+
<pre>sudo apt install -y wget curl unzip screen htop</pre>
  
 
=== Установка дополнительных пакетов ===
 
=== Установка дополнительных пакетов ===
  
 
1. Установите пакеты для Bedrock сервера:
 
1. Установите пакеты для Bedrock сервера:
<code>sudo apt install -y libcurl4-openssl-dev libssl-dev</code>
+
<pre>sudo apt install -y libcurl4-openssl-dev libssl-dev</pre>
  
 
2. Установите пакеты для компиляции:
 
2. Установите пакеты для компиляции:
<code>sudo apt install -y build-essential cmake</code>
+
<pre>sudo apt install -y build-essential cmake</pre>
  
== 3. Создание пользователя для Bedrock ===
+
== 3. Создание пользователя для Bedrock ==
  
 
=== Создание пользователя ===
 
=== Создание пользователя ===
  
 
1. Создайте пользователя bedrock:
 
1. Создайте пользователя bedrock:
<code>sudo useradd -m -s /bin/bash bedrock</code>
+
<pre>sudo useradd -m -s /bin/bash bedrock</pre>
  
 
2. Установите пароль:
 
2. Установите пароль:
<code>sudo passwd bedrock</code>
+
<pre>sudo passwd bedrock</pre>
  
 
3. Добавьте пользователя в группу sudo:
 
3. Добавьте пользователя в группу sudo:
<code>sudo usermod -aG sudo bedrock</code>
+
<pre>sudo usermod -aG sudo bedrock</pre>
  
 
=== Настройка директорий ===
 
=== Настройка директорий ===
  
 
1. Создайте директорию для Bedrock сервера:
 
1. Создайте директорию для Bedrock сервера:
<code>sudo mkdir -p /opt/bedrock</code>
+
<pre>sudo mkdir -p /opt/bedrock</pre>
  
 
2. Установите права доступа:
 
2. Установите права доступа:
<code>sudo chown -R bedrock:bedrock /opt/bedrock</code>
+
<pre>sudo chown -R bedrock:bedrock /opt/bedrock</pre>
  
 
3. Переключитесь на пользователя bedrock:
 
3. Переключитесь на пользователя bedrock:
<code>sudo su - bedrock</code>
+
<pre>sudo su - bedrock</pre>
  
== 4. Установка Bedrock сервера ===
+
== 4. Установка Bedrock сервера ==
  
 
=== Скачивание сервера ===
 
=== Скачивание сервера ===
  
 
1. Перейдите в директорию Bedrock:
 
1. Перейдите в директорию Bedrock:
<code>cd /opt/bedrock</code>
+
<pre>cd /opt/bedrock</pre>
  
 
2. Скачайте последнюю версию Bedrock сервера:
 
2. Скачайте последнюю версию Bedrock сервера:
<code>wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.20.15.01.zip</code>
+
<pre>wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.20.15.01.zip</pre>
  
 
3. Распакуйте архив:
 
3. Распакуйте архив:
<code>unzip bedrock-server-1.20.15.01.zip</code>
+
<pre>unzip bedrock-server-1.20.15.01.zip</pre>
  
 
4. Удалите архив:
 
4. Удалите архив:
<code>rm bedrock-server-1.20.15.01.zip</code>
+
<pre>rm bedrock-server-1.20.15.01.zip</pre>
  
 
=== Настройка прав доступа ===
 
=== Настройка прав доступа ===
  
 
1. Установите права на исполнение:
 
1. Установите права на исполнение:
<code>chmod +x bedrock_server</code>
+
<pre>chmod +x bedrock_server</pre>
  
 
2. Установите права на файлы:
 
2. Установите права на файлы:
<code>chmod 644 *.json *.properties</code>
+
<pre>chmod 644 *.json *.properties</pre>
  
== 5. Настройка конфигурации ===
+
== 5. Настройка конфигурации ==
  
 
=== Базовая конфигурация ===
 
=== Базовая конфигурация ===
  
 
1. Отредактируйте server.properties:
 
1. Отредактируйте server.properties:
<code>nano server.properties</code>
+
<pre>nano server.properties</pre>
  
 
2. Настройте основные параметры:
 
2. Настройте основные параметры:
<code># Bedrock Server Configuration
+
<pre>\# Bedrock Server Configuration
# Основные настройки
+
\# Основные настройки
 
server-name=Dedicated Server
 
server-name=Dedicated Server
 
gamemode=survival
 
gamemode=survival
Строка 110: Строка 110:
 
correct-player-movement=false
 
correct-player-movement=false
 
server-authoritative-block-breaking=false
 
server-authoritative-block-breaking=false
</code>
+
</pre>
  
 
=== Настройка permissions.json ===
 
=== Настройка permissions.json ===
  
 
1. Отредактируйте permissions.json:
 
1. Отредактируйте permissions.json:
<code>nano permissions.json</code>
+
<pre>nano permissions.json</pre>
  
 
2. Настройте права доступа:
 
2. Настройте права доступа:
<code>[
+
<pre>[
 
   {
 
   {
 
     "permission": "operator",
 
     "permission": "operator",
Строка 124: Строка 124:
 
   }
 
   }
 
]
 
]
</code>
+
</pre>
  
 
=== Настройка allowlist.json ===
 
=== Настройка allowlist.json ===
  
 
1. Отредактируйте allowlist.json:
 
1. Отредактируйте allowlist.json:
<code>nano allowlist.json</code>
+
<pre>nano allowlist.json</pre>
  
 
2. Настройте белый список:
 
2. Настройте белый список:
<code>[
+
<pre>[
 
   {
 
   {
 
     "name": "PlayerName",
 
     "name": "PlayerName",
Строка 138: Строка 138:
 
   }
 
   }
 
]
 
]
</code>
+
</pre>
  
== 6. Создание скрипта запуска ===
+
== 6. Создание скрипта запуска ==
  
 
=== Создание скрипта ===
 
=== Создание скрипта ===
  
 
1. Создайте скрипт запуска:
 
1. Создайте скрипт запуска:
<code>nano start-bedrock.sh</code>
+
<pre>nano start-bedrock.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<pre>\#!/bin/bash
  
# Настройки сервера
+
\# Настройки сервера
 
SERVER_DIR="/opt/bedrock"
 
SERVER_DIR="/opt/bedrock"
 
SCREEN_NAME="minecraft-bedrock"
 
SCREEN_NAME="minecraft-bedrock"
  
# Переход в директорию сервера
+
\# Переход в директорию сервера
 
cd $SERVER_DIR
 
cd $SERVER_DIR
  
# Проверка запущенного сервера
+
\# Проверка запущенного сервера
 
if screen -list | grep -q "$SCREEN_NAME"; then
 
if screen -list | grep -q "$SCREEN_NAME"; then
 
     echo "Bedrock сервер уже запущен!"
 
     echo "Bedrock сервер уже запущен!"
Строка 163: Строка 163:
 
fi
 
fi
  
# Запуск сервера
+
\# Запуск сервера
 
echo "Запуск Minecraft Bedrock сервера..."
 
echo "Запуск Minecraft Bedrock сервера..."
 
screen -dmS $SCREEN_NAME ./bedrock_server
 
screen -dmS $SCREEN_NAME ./bedrock_server
Строка 169: Строка 169:
 
echo "Bedrock сервер запущен в screen сессии: $SCREEN_NAME"
 
echo "Bedrock сервер запущен в screen сессии: $SCREEN_NAME"
 
echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME"
 
echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME"
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>chmod +x start-bedrock.sh</code>
+
<pre>chmod +x start-bedrock.sh</pre>
  
 
=== Создание скрипта остановки ===
 
=== Создание скрипта остановки ===
  
 
1. Создайте скрипт остановки:
 
1. Создайте скрипт остановки:
<code>nano stop-bedrock.sh</code>
+
<pre>nano stop-bedrock.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<pre>\#!/bin/bash
  
 
SCREEN_NAME="minecraft-bedrock"
 
SCREEN_NAME="minecraft-bedrock"
  
# Проверка запущенного сервера
+
\# Проверка запущенного сервера
 
if ! screen -list | grep -q "$SCREEN_NAME"; then
 
if ! screen -list | grep -q "$SCREEN_NAME"; then
 
     echo "Bedrock сервер не запущен!"
 
     echo "Bedrock сервер не запущен!"
Строка 192: Строка 192:
 
echo "Остановка Minecraft Bedrock сервера..."
 
echo "Остановка Minecraft Bedrock сервера..."
  
# Отправка команды остановки
+
\# Отправка команды остановки
 
screen -S $SCREEN_NAME -X stuff "stop$(printf \\r)"
 
screen -S $SCREEN_NAME -X stuff "stop$(printf \\r)"
  
# Ожидание остановки
+
\# Ожидание остановки
 
sleep 10
 
sleep 10
  
# Принудительная остановка если нужно
+
\# Принудительная остановка если нужно
 
if screen -list | grep -q "$SCREEN_NAME"; then
 
if screen -list | grep -q "$SCREEN_NAME"; then
 
     echo "Принудительная остановка сервера..."
 
     echo "Принудительная остановка сервера..."
Строка 205: Строка 205:
  
 
echo "Bedrock сервер остановлен"
 
echo "Bedrock сервер остановлен"
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>chmod +x stop-bedrock.sh</code>
+
<pre>chmod +x stop-bedrock.sh</pre>
  
== 7. Настройка systemd сервиса ===
+
== 7. Настройка systemd сервиса ==
  
 
=== Создание сервиса ===
 
=== Создание сервиса ===
  
 
1. Выйдите из пользователя bedrock:
 
1. Выйдите из пользователя bedrock:
<code>exit</code>
+
<pre>exit</pre>
  
 
2. Создайте systemd сервис:
 
2. Создайте systemd сервис:
<code>sudo nano /etc/systemd/system/minecraft-bedrock.service</code>
+
<pre>sudo nano /etc/systemd/system/minecraft-bedrock.service</pre>
  
 
3. Добавьте конфигурацию:
 
3. Добавьте конфигурацию:
<code>[Unit]
+
<pre>[Unit]
 
Description=Minecraft Bedrock Server
 
Description=Minecraft Bedrock Server
 
After=network.target
 
After=network.target
Строка 237: Строка 237:
 
[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-bedrock</code>
+
<pre>sudo systemctl enable minecraft-bedrock</pre>
  
 
3. Запустите сервис:
 
3. Запустите сервис:
<code>sudo systemctl start minecraft-bedrock</code>
+
<pre>sudo systemctl start minecraft-bedrock</pre>
  
 
4. Проверьте статус:
 
4. Проверьте статус:
<code>sudo systemctl status minecraft-bedrock</code>
+
<pre>sudo systemctl status minecraft-bedrock</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 19132/udp</code>
+
<pre>sudo ufw allow 19132/udp</pre>
<code>sudo ufw allow 19133/udp</code>
+
<pre>sudo ufw allow 19133/udp</pre>
<code>sudo ufw enable</code>
+
<pre>sudo ufw enable</pre>
  
 
3. Проверьте статус:
 
3. Проверьте статус:
<code>sudo ufw status</code>
+
<pre>sudo ufw status</pre>
  
 
=== Настройка iptables ===
 
=== Настройка iptables ===
  
 
1. Настройте iptables для UDP:
 
1. Настройте iptables для UDP:
<code>sudo iptables -A INPUT -p udp --dport 19132 -j ACCEPT</code>
+
<pre>sudo iptables -A INPUT -p udp --dport 19132 -j ACCEPT</pre>
<code>sudo iptables -A INPUT -p udp --dport 19133 -j ACCEPT</code>
+
<pre>sudo iptables -A INPUT -p udp --dport 19133 -j ACCEPT</pre>
  
 
2. Сохраните правила:
 
2. Сохраните правила:
<code>sudo iptables-save > /etc/iptables/rules.v4</code>
+
<pre>sudo iptables-save > /etc/iptables/rules.v4</pre>
  
== 9. Мониторинг и диагностика ===
+
== 9. Мониторинг и диагностика ==
  
 
=== Создание скрипта мониторинга ===
 
=== Создание скрипта мониторинга ===
  
 
1. Создайте скрипт мониторинга:
 
1. Создайте скрипт мониторинга:
<code>sudo nano /usr/local/bin/bedrock-monitor.sh</code>
+
<pre>sudo nano /usr/local/bin/bedrock-monitor.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<pre>\#!/bin/bash
  
# Проверка статуса Bedrock сервера
+
\# Проверка статуса Bedrock сервера
 
if ! systemctl is-active --quiet minecraft-bedrock; then
 
if ! systemctl is-active --quiet minecraft-bedrock; then
 
     echo "Bedrock сервер не запущен!" | mail -s "Bedrock Alert" admin@example.com
 
     echo "Bedrock сервер не запущен!" | mail -s "Bedrock Alert" admin@example.com
 
fi
 
fi
  
# Проверка использования памяти
+
\# Проверка использования памяти
 
MEMORY_USAGE=$(ps aux | grep bedrock_server | grep -v grep | awk '{print $4}')
 
MEMORY_USAGE=$(ps aux | grep bedrock_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
Строка 299: Строка 299:
 
fi
 
fi
  
# Проверка доступности порта
+
\# Проверка доступности порта
 
if ! nc -u -z localhost 19132; then
 
if ! nc -u -z localhost 19132; then
 
     echo "Bedrock сервер не отвечает на порту 19132!" | mail -s "Bedrock Alert" admin@example.com
 
     echo "Bedrock сервер не отвечает на порту 19132!" | mail -s "Bedrock Alert" admin@example.com
 
fi
 
fi
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>sudo chmod +x /usr/local/bin/bedrock-monitor.sh</code>
+
<pre>sudo chmod +x /usr/local/bin/bedrock-monitor.sh</pre>
  
 
4. Добавьте в crontab:
 
4. Добавьте в crontab:
<code>sudo crontab -e</code>
+
<pre>sudo crontab -e</pre>
  
 
5. Добавьте задачу:
 
5. Добавьте задачу:
<code>*/5 * * * * /usr/local/bin/bedrock-monitor.sh</code>
+
<pre>*/5 * * * * /usr/local/bin/bedrock-monitor.sh</pre>
  
== 10. Резервное копирование ===
+
== 10. Резервное копирование ==
  
 
=== Создание скрипта резервного копирования ===
 
=== Создание скрипта резервного копирования ===
  
 
1. Создайте скрипт резервного копирования:
 
1. Создайте скрипт резервного копирования:
<code>sudo nano /usr/local/bin/bedrock-backup.sh</code>
+
<pre>sudo nano /usr/local/bin/bedrock-backup.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<pre>\#!/bin/bash
  
 
BACKUP_DIR="/backup/bedrock"
 
BACKUP_DIR="/backup/bedrock"
Строка 328: Строка 328:
 
SERVER_DIR="/opt/bedrock"
 
SERVER_DIR="/opt/bedrock"
  
# Создание директории для бэкапа
+
\# Создание директории для бэкапа
 
mkdir -p $BACKUP_DIR
 
mkdir -p $BACKUP_DIR
  
# Остановка Bedrock сервера для бэкапа
+
\# Остановка Bedrock сервера для бэкапа
 
systemctl stop minecraft-bedrock
 
systemctl stop minecraft-bedrock
  
# Создание архива
+
\# Создание архива
 
tar -czf $BACKUP_DIR/bedrock-backup-$DATE.tar.gz -C $SERVER_DIR .
 
tar -czf $BACKUP_DIR/bedrock-backup-$DATE.tar.gz -C $SERVER_DIR .
  
# Запуск Bedrock сервера
+
\# Запуск Bedrock сервера
 
systemctl start minecraft-bedrock
 
systemctl start minecraft-bedrock
  
# Удаление старых бэкапов (старше 7 дней)
+
\# Удаление старых бэкапов (старше 7 дней)
 
find $BACKUP_DIR -name "bedrock-backup-*" -mtime +7 -delete
 
find $BACKUP_DIR -name "bedrock-backup-*" -mtime +7 -delete
  
 
echo "Bedrock backup completed: $DATE"
 
echo "Bedrock backup completed: $DATE"
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>sudo chmod +x /usr/local/bin/bedrock-backup.sh</code>
+
<pre>sudo chmod +x /usr/local/bin/bedrock-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/bedrock-backup.sh</code>
+
<pre>0 3 * * * /usr/local/bin/bedrock-backup.sh</pre>
  
== 11. Настройка плагинов (если поддерживается) ===
+
== 11. Настройка плагинов (если поддерживается) ==
  
 
=== Установка Geyser (для совместимости с Java) ===
 
=== Установка Geyser (для совместимости с Java) ===
  
 
1. Скачайте Geyser:
 
1. Скачайте Geyser:
<code>cd /opt/bedrock</code>
+
<pre>cd /opt/bedrock</pre>
<code>wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/download/spigot</code>
+
<pre>wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/download/spigot</pre>
  
 
2. Переименуйте файл:
 
2. Переименуйте файл:
<code>mv geyser-spigot.jar geyser.jar</code>
+
<pre>mv geyser-spigot.jar geyser.jar</pre>
  
 
=== Настройка Floodgate ===
 
=== Настройка Floodgate ===
  
 
1. Скачайте Floodgate:
 
1. Скачайте Floodgate:
<code>wget https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/download/spigot</code>
+
<pre>wget https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/download/spigot</pre>
  
 
2. Переименуйте файл:
 
2. Переименуйте файл:
<code>mv floodgate-spigot.jar floodgate.jar</code>
+
<pre>mv floodgate-spigot.jar floodgate.jar</pre>
  
== 12. Устранение неполадок ===
+
== 12. Устранение неполадок ==
  
 
=== Частые проблемы ===
 
=== Частые проблемы ===
  
 
1. '''Bedrock сервер не запускается''':
 
1. '''Bedrock сервер не запускается''':
* Проверьте статус: <code>sudo systemctl status minecraft-bedrock</code>
+
* Проверьте статус: <pre>sudo systemctl status minecraft-bedrock</pre>
* Проверьте логи: <code>sudo journalctl -u minecraft-bedrock</code>
+
* Проверьте логи: <pre>sudo journalctl -u minecraft-bedrock</pre>
 
* Проверьте права доступа к файлам
 
* Проверьте права доступа к файлам
  
Строка 396: Строка 396:
  
 
1. '''Проверка статуса сервера''':
 
1. '''Проверка статуса сервера''':
<code>sudo systemctl status minecraft-bedrock</code>
+
<pre>sudo systemctl status minecraft-bedrock</pre>
  
 
2. '''Проверка логов''':
 
2. '''Проверка логов''':
<code>sudo journalctl -u minecraft-bedrock -f</code>
+
<pre>sudo journalctl -u minecraft-bedrock -f</pre>
  
 
3. '''Проверка портов''':
 
3. '''Проверка портов''':
<code>sudo netstat -ulnp | grep :19132</code>
+
<pre>sudo netstat -ulnp | grep :19132</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>nc -u -z localhost 19132</code>
+
<pre>nc -u -z localhost 19132</pre>
  
 
== Заключение ==
 
== Заключение ==

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

Содержание

Установка и настройка Minecraft Bedrock сервера

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

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

2. Установка зависимостей

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

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

sudo apt update
sudo apt upgrade -y

2. Установите необходимые пакеты:

sudo apt install -y wget curl unzip screen htop

Установка дополнительных пакетов

1. Установите пакеты для Bedrock сервера:

sudo apt install -y libcurl4-openssl-dev libssl-dev

2. Установите пакеты для компиляции:

sudo apt install -y build-essential cmake

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

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

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

sudo useradd -m -s /bin/bash bedrock

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

sudo passwd bedrock

3. Добавьте пользователя в группу sudo:

sudo usermod -aG sudo bedrock

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

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

sudo mkdir -p /opt/bedrock

2. Установите права доступа:

sudo chown -R bedrock:bedrock /opt/bedrock

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

sudo su - bedrock

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

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

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

cd /opt/bedrock

2. Скачайте последнюю версию Bedrock сервера:

wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.20.15.01.zip

3. Распакуйте архив:

unzip bedrock-server-1.20.15.01.zip

4. Удалите архив:

rm bedrock-server-1.20.15.01.zip

Настройка прав доступа

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

chmod +x bedrock_server

2. Установите права на файлы:

chmod 644 *.json *.properties

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

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

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

nano server.properties

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

\# Bedrock Server Configuration
\# Основные настройки
server-name=Dedicated Server
gamemode=survival
difficulty=normal
allow-cheats=false
max-players=10
online-mode=true
white-list=false
server-port=19132
server-portv6=19133
view-distance=32
tick-distance=4
player-idle-timeout=30
max-threads=8
level-name=Bedrock level
level-seed=
default-player-permission-level=member
texturepack-required=false
content-log-file-enabled=false
compression-threshold=1
server-authoritative-movement=server-auth
player-movement-score-threshold=20
player-movement-action-direction-threshold=0.85
player-movement-distance-threshold=0.3
player-movement-duration-threshold-in-ms=500
correct-player-movement=false
server-authoritative-block-breaking=false

Настройка permissions.json

1. Отредактируйте permissions.json:

nano permissions.json

2. Настройте права доступа:

[
  {
    "permission": "operator",
    "xuid": "0"
  }
]

Настройка allowlist.json

1. Отредактируйте allowlist.json:

nano allowlist.json

2. Настройте белый список:

[
  {
    "name": "PlayerName",
    "xuid": "0"
  }
]

6. Создание скрипта запуска

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

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

nano start-bedrock.sh

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

\#!/bin/bash

\# Настройки сервера
SERVER_DIR="/opt/bedrock"
SCREEN_NAME="minecraft-bedrock"

\# Переход в директорию сервера
cd $SERVER_DIR

\# Проверка запущенного сервера
if screen -list | grep -q "$SCREEN_NAME"; then
    echo "Bedrock сервер уже запущен!"
    exit 1
fi

\# Запуск сервера
echo "Запуск Minecraft Bedrock сервера..."
screen -dmS $SCREEN_NAME ./bedrock_server

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

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

chmod +x start-bedrock.sh

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

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

nano stop-bedrock.sh

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

\#!/bin/bash

SCREEN_NAME="minecraft-bedrock"

\# Проверка запущенного сервера
if ! screen -list | grep -q "$SCREEN_NAME"; then
    echo "Bedrock сервер не запущен!"
    exit 1
fi

echo "Остановка Minecraft Bedrock сервера..."

\# Отправка команды остановки
screen -S $SCREEN_NAME -X stuff "stop$(printf \\r)"

\# Ожидание остановки
sleep 10

\# Принудительная остановка если нужно
if screen -list | grep -q "$SCREEN_NAME"; then
    echo "Принудительная остановка сервера..."
    screen -S $SCREEN_NAME -X quit
fi

echo "Bedrock сервер остановлен"

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

chmod +x stop-bedrock.sh

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

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

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

exit

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

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

3. Добавьте конфигурацию:

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

[Service]
Type=simple
User=bedrock
Group=bedrock
WorkingDirectory=/opt/bedrock
ExecStart=/opt/bedrock/bedrock_server
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-bedrock

3. Запустите сервис:

sudo systemctl start minecraft-bedrock

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

sudo systemctl status minecraft-bedrock

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

Настройка UFW

1. Установите UFW:

sudo apt install -y ufw

2. Настройте правила:

sudo ufw allow 22/tcp
sudo ufw allow 19132/udp
sudo ufw allow 19133/udp
sudo ufw enable

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

sudo ufw status

Настройка iptables

1. Настройте iptables для UDP:

sudo iptables -A INPUT -p udp --dport 19132 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 19133 -j ACCEPT

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

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

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

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

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

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

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

\#!/bin/bash

\# Проверка статуса Bedrock сервера
if ! systemctl is-active --quiet minecraft-bedrock; then
    echo "Bedrock сервер не запущен!" | mail -s "Bedrock Alert" admin@example.com
fi

\# Проверка использования памяти
MEMORY_USAGE=$(ps aux | grep bedrock_server | grep -v grep | awk '{print $4}')
if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then
    echo "Высокое использование памяти: ${MEMORY_USAGE}%" | mail -s "Bedrock Alert" admin@example.com
fi

\# Проверка доступности порта
if ! nc -u -z localhost 19132; then
    echo "Bedrock сервер не отвечает на порту 19132!" | mail -s "Bedrock Alert" admin@example.com
fi

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

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

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

sudo crontab -e

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

*/5 * * * * /usr/local/bin/bedrock-monitor.sh

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

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

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

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

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

\#!/bin/bash

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

\# Создание директории для бэкапа
mkdir -p $BACKUP_DIR

\# Остановка Bedrock сервера для бэкапа
systemctl stop minecraft-bedrock

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

\# Запуск Bedrock сервера
systemctl start minecraft-bedrock

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

echo "Bedrock backup completed: $DATE"

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

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

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

sudo crontab -e

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

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

11. Настройка плагинов (если поддерживается)

Установка Geyser (для совместимости с Java)

1. Скачайте Geyser:

cd /opt/bedrock
wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/download/spigot

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

mv geyser-spigot.jar geyser.jar

Настройка Floodgate

1. Скачайте Floodgate:

wget https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/download/spigot

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

mv floodgate-spigot.jar floodgate.jar

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

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

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

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

2. Проблемы с подключением:

  • Проверьте настройки файрвола
  • Проверьте UDP порты
  • Проверьте сетевую связность

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

  • Проверьте использование ресурсов
  • Оптимизируйте настройки сервера
  • Проверьте количество игроков

Диагностика

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

sudo systemctl status minecraft-bedrock

2. Проверка логов:

sudo journalctl -u minecraft-bedrock -f

3. Проверка портов:

sudo netstat -ulnp | grep :19132

4. Проверка использования ресурсов:

htop
free -h
df -h

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

nc -u -z localhost 19132

Заключение

Minecraft Bedrock сервер успешно установлен и настроен! Теперь у вас есть полнофункциональный сервер для мобильных и консольных игроков с возможностями мониторинга и резервного копирования.

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

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