Настройка логирования и модерации Bedrock сервера
Содержание
- 1 Настройка логирования и модерации Bedrock сервера
- 1.1 1. Подготовка
- 1.2 2. Настройка логирования в server.properties
- 1.3 3. Структура логов
- 1.4 4. Анализ логов =
- 1.5 5. Система модерации =
- 1.6 6. Автоматическая модерация =
- 1.7 7. Мониторинг действий игроков =
- 1.8 8. Отчеты и статистика =
- 1.9 9. Интеграция с системами модерации =
- 1.10 10. Устранение неполадок =
- 1.11 Заключение
Настройка логирования и модерации Bedrock сервера
1. Подготовка
- Убедитесь, что Bedrock сервер установлен и работает.
- Имейте права доступа для редактирования конфигурационных файлов.
- Рекомендуется использовать Ubuntu 24.04 LTS.
- Установите необходимые инструменты для анализа логов.
2. Настройка логирования в server.properties
Базовые настройки
1. Отредактируйте конфигурацию:
cd /opt/bedrock nano server.properties
2. Настройки логирования:
\# Логирование контента (если доступно) content-log-file-enabled=false \# true - логировать загружаемый контент \# false - не логировать
Включение детального логирования
1. Для отладки включите логирование:
content-log-file-enabled=true
2. Для продакшн серверов:
content-log-file-enabled=false
3. Структура логов
Расположение логов
1. Основная директория логов:
cd /opt/bedrock ls -lah logs/
2. Типичные файлы:
logs/ ├── latest.log \# Текущий лог сервера ├── content-log-*.log \# Логи контента (если включено) └── crash-reports/ \# Отчеты о крашах
3. Просмотр логов:
tail -f logs/latest.log cat logs/latest.log | less
4. Анализ логов =
Поиск событий
1. Подключения игроков:
grep -i "connected" logs/latest.log grep -i "player.*joined" logs/latest.log
2. Отключения игроков:
grep -i "disconnected" logs/latest.log grep -i "player.*left" logs/latest.log
3. Команды игроков:
grep -i "command" logs/latest.log grep -i "executed.*command" logs/latest.log
4. Ошибки:
grep -i "error\|exception\|failed" logs/latest.log | tail -50
5. События сервера:
grep -i "server.*start\|server.*stop" logs/latest.log
Создание скрипта анализа
1. Создайте скрипт:
sudo nano /usr/local/bin/bedrock-log-analyzer.sh
2. Добавьте содержимое:
\#!/bin/bash
LOG_FILE="/opt/bedrock/logs/latest.log"
REPORT_FILE="/var/log/bedrock-analysis-$(date +%Y%m%d).log"
echo "=== Bedrock Server Log Analysis ===" > "$REPORT_FILE"
echo "Date: $(date)" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
\# Статистика подключений
echo "=== Player Connections ===" >> "$REPORT_FILE"
CONNECTIONS=$(grep -i "connected\|joined" "$LOG_FILE" | wc -l)
echo "Total connections: $CONNECTIONS" >> "$REPORT_FILE"
grep -i "connected\|joined" "$LOG_FILE" | tail -20 >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
\# Статистика команд
echo "=== Commands Executed ===" >> "$REPORT_FILE"
COMMANDS=$(grep -i "command" "$LOG_FILE" | wc -l)
echo "Total commands: $COMMANDS" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
\# Ошибки
echo "=== Errors ===" >> "$REPORT_FILE"
ERRORS=$(grep -i "error\|exception" "$LOG_FILE" | wc -l)
echo "Total errors: $ERRORS" >> "$REPORT_FILE"
if [ "$ERRORS" -gt 0 ]; then
grep -i "error\|exception" "$LOG_FILE" | tail -20 >> "$REPORT_FILE"
fi
echo "" >> "$REPORT_FILE"
\# Активные игроки
echo "=== Active Players ===" >> "$REPORT_FILE"
grep -i "player" "$LOG_FILE" | grep -v "disconnected" | tail -10 >> "$REPORT_FILE"
cat "$REPORT_FILE"
3. Сделайте исполняемым:
sudo chmod +x /usr/local/bin/bedrock-log-analyzer.sh
5. Система модерации =
Настройка permissions.json
1. Назначьте права модераторам:
cd /opt/bedrock nano permissions.json
2. Добавьте модераторов:
[
{
"permission": "operator",
"xuid": "1234567890123456"
},
{
"permission": "operator",
"xuid": "2345678901234567"
}
]
Команды модерации
1. Кик игрока:
screen -r minecraft-bedrock kick PlayerName [причина]
2. Бан игрока:
ban PlayerName [причина]
3. Разбан игрока:
pardon PlayerName
4. Временный бан (через скрипт):
sudo nano /usr/local/bin/bedrock-temp-ban.sh
5. Добавьте содержимое:
\#!/bin/bash
PLAYER="$1"
DURATION="${2:-3600}" \# По умолчанию 1 час
if [ -z "$PLAYER" ]; then
echo "Usage: $0 <player-name> [duration-seconds]"
exit 1
fi
\# Бан игрока
screen -S minecraft-bedrock -X stuff "ban $PLAYER$(printf \\r)"
\# Запланировать разбан через указанное время
(sleep "$DURATION" && screen -S minecraft-bedrock -X stuff "pardon $PLAYER$(printf \\r)") &
echo "Player $PLAYER banned for $DURATION seconds"
6. Автоматическая модерация =
Скрипт автоматической модерации
1. Создайте скрипт:
sudo nano /usr/local/bin/bedrock-auto-moderate.sh
2. Добавьте содержимое:
\#!/bin/bash
LOG_FILE="/opt/bedrock/logs/latest.log"
VIOLATION_LOG="/var/log/bedrock-violations.log"
\# Поиск нарушений в логах
check_violations() {
\# Список запрещенных слов (пример)
BAD_WORDS=("spam" "hack" "cheat")
tail -100 "$LOG_FILE" | while read line; do
for word in "${BAD_WORDS[@]}"; do
if echo "$line" | grep -qi "$word"; then
PLAYER=$(echo "$line" | grep -oE "Player[^:]*:\s*\w+" | awk '{print $NF}')
if [ ! -z "$PLAYER" ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Violation by $PLAYER: $line" >> "$VIOLATION_LOG"
\# Автоматический кик (опционально)
\# screen -S minecraft-bedrock -X stuff "kick $PLAYER Bad language$(printf \\r)"
fi
fi
done
done
}
check_violations
3. Сделайте исполняемым:
sudo chmod +x /usr/local/bin/bedrock-auto-moderate.sh
4. Добавьте в cron (каждые 5 минут):
*/5 * * * * /usr/local/bin/bedrock-auto-moderate.sh
7. Мониторинг действий игроков =
Логирование действий
1. Создайте скрипт мониторинга:
sudo nano /usr/local/bin/bedrock-activity-monitor.sh
2. Добавьте содержимое:
\#!/bin/bash
LOG_FILE="/opt/bedrock/logs/latest.log"
ACTIVITY_LOG="/var/log/bedrock-activity.log"
\# Мониторинг действий игроков
monitor_activity() {
tail -f "$LOG_FILE" | while read line; do
\# Подключения
if echo "$line" | grep -qi "connected\|joined"; then
PLAYER=$(echo "$line" | grep -oE "\w+" | tail -1)
echo "[$(date '+%Y-%m-%d %H:%M:%S')] JOIN: $PLAYER" >> "$ACTIVITY_LOG"
fi
\# Отключения
if echo "$line" | grep -qi "disconnected\|left"; then
PLAYER=$(echo "$line" | grep -oE "\w+" | tail -1)
echo "[$(date '+%Y-%m-%d %H:%M:%S')] LEAVE: $PLAYER" >> "$ACTIVITY_LOG"
fi
\# Команды
if echo "$line" | grep -qi "executed.*command"; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] COMMAND: $line" >> "$ACTIVITY_LOG"
fi
done
}
monitor_activity
8. Отчеты и статистика =
Ежедневный отчет
1. Создайте скрипт отчетов:
sudo nano /usr/local/bin/bedrock-daily-report.sh
2. Добавьте содержимое:
\#!/bin/bash
LOG_FILE="/opt/bedrock/logs/latest.log"
REPORT_FILE="/var/log/bedrock-daily-report-$(date +%Y%m%d).txt"
echo "=== Bedrock Server Daily Report ===" > "$REPORT_FILE"
echo "Date: $(date)" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
\# Статистика за последние 24 часа
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
\# Уникальные игроки
UNIQUE_PLAYERS=$(grep -i "connected\|joined" "$LOG_FILE" | \
grep -oE "Player[^:]*:\s*\w+" | \
awk '{print $NF}' | \
sort -u | wc -l)
echo "Unique players (last 24h): $UNIQUE_PLAYERS" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
\# Общее количество подключений
TOTAL_CONNECTIONS=$(grep -i "connected\|joined" "$LOG_FILE" | wc -l)
echo "Total connections: $TOTAL_CONNECTIONS" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
\# Ошибки
ERRORS=$(grep -i "error\|exception" "$LOG_FILE" | wc -l)
echo "Total errors: $ERRORS" >> "$REPORT_FILE"
\# Отправка отчета (опционально)
\# mail -s "Bedrock Daily Report" admin@example.com < "$REPORT_FILE"
cat "$REPORT_FILE"
3. Добавьте в cron (ежедневно в 23:59):
59 23 * * * /usr/local/bin/bedrock-daily-report.sh
9. Интеграция с системами модерации =
Webhook для нарушений
1. Создайте скрипт отправки уведомлений:
sudo nano /usr/local/bin/bedrock-violation-webhook.sh
2. Добавьте содержимое:
\#!/bin/bash
WEBHOOK_URL="https://discord.com/api/webhooks/YOUR_WEBHOOK_URL"
VIOLATION="$1"
PLAYER="$2"
curl -H "Content-Type: application/json" \
-X POST \
-d "{\"content\": \"⚠️ Violation detected! Player: $PLAYER, Reason: $VIOLATION\"}" \
"$WEBHOOK_URL"
10. Устранение неполадок =
Проблемы с логами
1. Логи не создаются:
- Проверьте права доступа к директории logs/
- Проверьте настройки в server.properties
2. Логи растут слишком быстро:
- Настройте ротацию логов
- Отключите content-log-file-enabled
3. Не могу найти события в логах:
- Используйте grep с правильными паттернами
- Проверьте формат логов Bedrock сервера
Заключение
Настройка логирования и модерации Bedrock сервера обеспечивает эффективное управление сервером и контроль действий игроков. Правильная настройка логирования и автоматизация модерации значительно упростит управление сервером.
Для размещения ваших Bedrock серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для высоконагруженных Bedrock серверов
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних серверов
Наши специалисты помогут с настройкой логирования и модерации на Bedrock серверах!