Как просмотреть логи сервера
Введение
Просмотр логов — базовый навык для администратора Minecraft-сервера на proxify.cloud. Логи показывают ошибки плагинов, краши, действия игроков и производительность. На выделенном сервере с Ubuntu логи могут находиться в нескольких местах в зависимости от способа запуска: systemd-сервис, screen/tmux, Docker или прямой запуск jar-файла. В инструкции рассмотрены все варианты.
1. Подключение к серверу через панель proxify.cloud
1.1. Вход в панель управления
- Откройте https://proxify.cloud и авторизуйтесь.
- В списке услуг выберите нужный выделенный сервер.
- Нажмите кнопку Управление (Manage) — откроется панель Proxmox VE.
1.2. Доступ к консоли Ubuntu
В Proxmox VE:
- В левом дереве выберите вашу виртуальную машину (обычно
100или похожий ID). - Перейдите на вкладку Console (Консоль).
- Нажмите noVNC или xterm.js — откроется терминал прямо в браузере.
- Авторизуйтесь под пользователем
rootили созданным при установке пользователем (обычноubuntuилиminecraft).
Совет: Для постоянной работы удобнее использовать SSH. См. шаг 2.
2. Подключение по SSH (рекомендуемый способ)
2.1. Получение IP-адреса
В панели proxify.cloud на странице сервера найдите Основной IPv4-адрес (Public IP). Пример: 185.123.45.67.
2.2. Подключение из терминала
ssh root@185.123.45.67
# или, если пользователь minecraft:
ssh minecraft@185.123.45.67
При первом подключении подтвердите отпечаток ключа (yes). Введите пароль или используйте SSH-ключ (настраивается в панели proxify.cloud → SSH Keys).
2.3. Переключение на пользователя minecraft (если зашли под root)
su - minecraft
Все дальнейшие команды выполняйте от имени пользователя, под которым запущен сервер.
3. Определение способа запуска сервера
Перед поиском логов выясните, как запущен сервер:
# Проверка systemd-сервисов
systemctl list-units --type=service | grep -i minecraft
# Проверка screen-сессий
screen -ls
# Проверка tmux-сессий
tmux list-sessions
# Проверка Docker-контейнеров
docker ps | grep -i minecraft
# Проверка запущенных java-процессов
ps aux | grep java
Типичные варианты:
- systemd — сервис
minecraft.serviceилиmc-server.service - screen — сессия с именем
mc,minecraft,server - tmux — сессия
mc - Docker — контейнер
itzg/minecraft-serverили кастомный - Прямой запуск —
java -jar server.jarв фоне (nohup,&)
4. Просмотр логов для systemd-сервиса
4.1. Основные команды journalctl
Если сервер запущен через systemd (стандарт для Ubuntu на proxify.cloud):
# Просмотр последних 100 строк логов
journalctl -u minecraft -n 100 --no-pager
# Следить за логами в реальном времени (Ctrl+C для выхода)
journalctl -u minecraft -f
# Логи за сегодня
journalctl -u minecraft --since today
# Логи за последний час
journalctl -u minecraft --since "1 hour ago"
# Только ошибки (priority 3=error, 2=crit, 1=alert, 0=emerg)
journalctl -u minecraft -p 3 -n 50
# Сохранить логи в файл для анализа
journalctl -u minecraft --since "2 hours ago" > ~/minecraft_logs_$(date +%F_%H-%M).txt
4.2. Настройка постоянного хранения логов
По умолчанию journald хранит логи в памяти. Для сохранения после перезагрузки:
sudo mkdir -p /etc/systemd/journald.conf.d
sudo tee /etc/systemd/journald.conf.d/99-persistent.conf <<'EOF'
[Journal]
Storage=persistent
SystemMaxUse=500M
RuntimeMaxUse=200M
EOF
sudo systemctl restart systemd-journald
Теперь логи сохранятся в /var/log/journal/.
5. Просмотр логов в screen-сессии
5.1. Подключение к существующей сессии
# Список сессий
screen -ls
# Пример вывода:
# There is a screen on:
# 12345.minecraft (Detached)
# 1 Socket in /run/screen/S-minecraft.
# Подключение
screen -r minecraft
# или по PID:
screen -r 12345
5.2. Работа внутри screen
- Прокрутка истории:
Ctrl+A, затемEsc— войдёте в режим копирования. Стрелки вверх/вниз,PgUp/PgDownдля навигации.Esc— выход. - Поиск в истории:
Ctrl+A,Esc, затемCtrl+S(прямой поиск) илиCtrl+R(обратный). Введите текст,Enter. - Отсоединение от сессии (оставить сервер работать):
Ctrl+A, затемD.
5.3. Логирование screen в файл (включите заранее)
В .screenrc пользователя minecraft:
cat >> ~/.screenrc <<'EOF'
logfile /home/minecraft/logs/screenlog_%Y%m%d_%n.log
deflog on
log on
EOF
Теперь каждый screen будет писать лог в ~/logs/screenlog_<дата>_<номер>.log.
5.4. Просмотр сохранённых screen-логов
tail -n 200 ~/logs/screenlog_$(date +%Y%m%d)_*.log
less ~/logs/screenlog_20250115_0.log
6. Просмотр логов в tmux-сессии
6.1. Подключение
tmux list-sessions
tmux attach -t mc
# или
tmux attach -t 0
6.2. Прокрутка истории
Ctrl+B, затем[— вход в режим копирования.- Стрелки,
PgUp/PgDown,q— выход. - Поиск: в режиме копирования нажмите
Ctrl+S(вниз) илиCtrl+R(вверх).
6.3. Логирование tmux (включите в конфиге)
cat >> ~/.tmux.conf <<'EOF'
set -g history-limit 50000
bind-key P pipe-pane -o "cat >> ~/logs/tmux_#S_#I_#P_$(date +%Y%m%d).log" \; display-message "Logging started"
bind-key p pipe-pane \; display-message "Logging stopped"
EOF
tmux source-file ~/.tmux.conf
Внутри сессии: Ctrl+B, Shift+P — начать запись лога в ~/logs/.
7. Просмотр логов Docker-контейнера
7.1. Основные команды
# Список контейнеров
docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}"
# Логи контейнера (последние 200 строк)
docker logs --tail 200 minecraft-server
# Следить в реальном времени
docker logs -f minecraft-server
# Логи за последние 30 минут
docker logs --since 30m minecraft-server
# Логи с таймстампами
docker logs -t --tail 100 minecraft-server
# Сохранить в файл
docker logs minecraft-server > ~/docker_mc_logs_$(date +%F).txt 2>&1
7.2. Если контейнер упал — логи предыдущего запуска
docker logs --tail 500 minecraft-server 2>&1 | head -n 300
# или для предыдущего экземпляра (если restart=always)
docker logs --previous minecraft-server
7.3. Доступ к файлам логов внутри контейнера
Если контейнер использует стандартный образ itzg/minecraft-server, логи лежат в /data/logs/:
# Просмотр latest.log
docker exec minecraft-server cat /data/logs/latest.log
# Просмотр всех логов
docker exec minecraft-server ls -la /data/logs/
# Копирование на хост
docker cp minecraft-server:/data/logs ~/docker_logs_backup
8. Просмотр логов при прямом запуске (java -jar)
8.1. Стандартные файлы логов Paper/Spigot/Purpur
При запуске в папке сервера создаются:
logs/latest.log— основной лог текущей сессииlogs/YYYY-MM-DD-<номер>.log.gz— архивированные прошлые сессииlogs/latest.log.1,.2— ротация (зависит от log4j2.xml)
cd /home/minecraft/server # или ваш путь
# Последние 200 строк
tail -n 200 logs/latest.log
# Следить в реальном времени
tail -f logs/latest.log
# Поиск ошибок
grep -i "error\|exception\|crash\|fatal" logs/latest.log
# Просмотр архивированного лога
zcat logs/2025-01-15-1.log.gz | less
8.2. Если используется nohup
# nohup.out в папке запуска
tail -f nohup.out
8.3. Настройка log4j2.xml для лучшей ротации
Файл log4j2.xml в папке сервера (Paper/Spigot генерируют автоматически). Пример кастомного для ежедневной ротации и сжатия:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<RollingFile name="File" fileName="logs/latest.log"
filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout pattern="[%d{HH:mm:ss}] [%level] %logger: %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<DefaultRolloverStrategy max="30" compressionLevel="9"/>
</RollingFile>
<Console name="Console" target="SYSTEM
Комментарии (0)