Thinking. 1. Analyze the Request: * Topic: "Что делать, если сервер не запускается" (What to do if the server doesn't start) for a Minecraft server on proxify.cloud (Proxmox panel, dedicated server with Ubuntu). * Title/Headline: # (matches the topic). * Format: Markdown. * Structure: ## subheadings, numbered steps, code blocks ```. * Content Requirements: * Mention proxify.cloud panel where appropriate. * Specific commands, file paths, examples. * Length: 800-1500 words ("без воды, только практичные шаги"). * End section: "Возможные проблемы и решения" (Possible problems and solutions). * No HTML tags. * Target Audience: Someone who has a VDS/dedicated server from proxify.cloud with Ubuntu, running a Minecraft server, and it won't start.

**2.  Content Strategy & Outline:**

*   **# Заголовок:** Что делать, если сервер не запускается (в точности тема).
*   **Введение:** Кратко описать ситуацию (панель Proxmox, Ubuntu, сервер не стартует). Основные причины: проблемы с Java, конфигурацией, памятью, правами доступа, критическая ошибка краша.
*   **Шаг 1: Проверка доступности сервера и панели Proxmox**
    *   Проверить, запущен ли контейнер/виртуальная машина в панели proxify.cloud.
    *   Подключение по SSH.
    *   Проверка дашборда на наличие алертов.
*   **Шаг 2: Проверка логов краша (Crash Report / Latest Log)**
    *   Путь: `./logs/latest.log`, `./crash-reports/`.
    *   Команда `tail -n 50 logs/latest.log` или `cat crash-reports/*.txt`.
    *   Что искать: `java.lang.OutOfMemoryError` (не хватает памяти), `java.lang.UnsupportedClassVersionError` (не та Java), проблемы с модами/плагинами.
*   **Шаг 3: Проверка скрипта запуска (Start script / eula.txt)**
    *   Проверка файла `eula.txt` (eula=true).
    *   Проверка скрипта запуска (screen, java flags).
    *   `start.sh` или непосредственная команда в `screen` / `tmux`.
*   **Шаг 4: Проверка Java**
    *   Какая версия Java стоит? `java -version`. (Minecraft 1.17+ требует Java 16/17, старые версии Java 8).
    *   Путь к Java `which java`.
    *   Проблема с архитектурой (aarch64 vs x86_64 на дешевых серверах, у proxify есть и ARM).
*   **Шаг 5: Проверка ресурсов (ОЗУ / Диск)**
    *   `free -h` (смотрит память).
    *   `df -h` (смотрит диск, заполненность).
    *   Swap (swapoff -a && swapon -a, увеличение swap).
    *   Настройка выделения RAM в скрипте запуска (`-Xms` / `-Xmx`).
*   **Шаг 6: Проверка прав доступа и блокировок**
    *   `ls -la` (права на папку сервера, `server.jar`).
    *   Заблокированные файлы (если сервер аварийно завершился, мог остаться `*.lock` файл или файл БД).
    *   Процесс завис: `ps aux | grep java`, `kill -9 PID`, `killall java`.
*   **Шаг 7: Сервер на Proxmox LXC/CT?**
    *   Особенности контейнеров на proxify (привилегированный? не привилегированный?).
    *   Проблемы с FUSE/монтированием, если мир на доп. диске.
    *   Tuning для ядра LXC.
*   **Шаг 8: Проверка порта Minecraft**
    *   `ss -tulpn | grep java`.
    *   `sudo ufw status` / `iptables -L`.
    *   Файрвол в панели управления хостингом (Proxmox VE Firewall или внешний).
*   **"Возможные проблемы и решения" (суммирование)**
    *   *Проблема:* Java не установлена/не та версия. *Решение:* `sudo apt update && sudo apt install openjdk-17-jre-headless`.
    *   *Проблема:* OutOfMemoryError. *Решение:* Увеличить Xmx, проверить `free -h`, закрыть фоновые процессы.
    *   *Проблема:* "FAILED TO BIND TO PORT". *Решение:* `lsof -i :25565`, сменить порт, отключить другой сервер.
    *   *Проблема:* Ошибка мода/плагина. *Решение:* Удалить последний установленный мод/плагин, очистить кэш (`.cache`).
    *   *Проблема:* Панель Proxmox показывает "running", но сервер не отвечает. *Решение:* Войти в консоль Proxmox (NoVNC) и проверить, запущен ли `screen` / `java`. Запустить вручную.
    *   *Проблема:* Ошибка EULA.
    *   *Проблема:* Закончилось место на диске (`No space left on device`).
    *   *Проблема:* Неподходящая версия ядра ОС для контейнера Proxmox (если VPS).

**3.  Fleshing out the Steps (Detailed with Examples):**

*   **Title:** `# Что делать, если сервер не запускается`
*   **Intro:** "Столкнулись с ситуацией, когда ваш Minecraft сервер на выделенном сервере или VPS от proxify.cloud (под управлением Ubuntu) отказывается запускаться? Не паникуйте. Системная панель Proxmox предоставляет удобные инструменты для диагностики, но основные проблемы решаются через SSH."

*   **Шаг 1: Proxmox (Консоль / Дашборд)**
    "Первым делом зайдите в панель управления proxify.cloud..."
    "Проверьте статус виртуальной машины или контейнера. Если он выключен (stopped), просто запустите его из панели (Start)."
    "Используйте встроенную консоль (NoVNC) в разделе "Console" вашего узла. Это ваш аварийный доступ, если SSH не работает."
    "Проверьте графики CPU и RAM на панели Proxmox — нет ли аномальных пиков или просадок."

*   **Шаг 2: Подключение по SSH и поиск процессов**
    "После входа по SSH, первым делом проверьте, не висит ли старый процесс Java в памяти:"
    ```bash
    ps aux | grep java
    ```
    "Если процесс есть, а сервер не отвечает, завершите его принудительно:"
    ```bash
    sudo killall java
    ```
    "Убедитесь, что порт Minecraft (по умолчанию 25565) свободен:"
    ```bash
    ss -tulpn | grep 25565
    ```

*   **Шаг 3: Анализ логов**
    "Перейдите в корневую папку вашего сервера (обычно `/home/minecraft/server/` или `/opt/minecraft/`)."
    "Сначала проверяем самый очевидный файл — EULA:"
    ```bash
    cat eula.txt
    ```
    "Убедитесь, что там написано `eula=true`."
    "Далее, смотрим последние записи лога:"
    ```bash
    tail -n 100 logs/latest.log
    ```
    "Ищем ключевые слова: `Error`, `Exception`, `OutOfMemoryError`."
    "Если есть папка `crash-reports`, смотрим самый свежий отчет:"
    ```bash
    ls -lt crash-reports/ | head -5
    cat crash-reports/<имя_файла>.txt
    ```
    "Особое внимание в краш-репорте уделите секциям `-- Head --` и `Stacktrace`."

*   **Шаг 4: Проверка версии Java**
    "Minecraft — требовательная к версии Java игра."
    "Проверьте текущую версию:"
    ```bash
    java -version
    ```
    "Minecraft 1.17 — 1.20.x требует Java 17 (или 21 для последних версий 1.20.5/6+). Для старых версий (1.12 — 1.16.5) нужна Java 8."
    "Установите правильную версию:"
    ```bash
    sudo apt update
    sudo apt install openjdk-17-jre-headless -y
    ```
    "Если вам нужно переключаться между версиями, используйте:"
    ```bash
    sudo update-alternatives --config java
    ```

*   **Шаг 5: Ресурсы (RAM и Disk)**
    "Основная причина внезапных отказов запуска — нехватка оперативной памяти."
    "Проверяем текущее состояние:"
    ```bash
    free -h
    df -h
    ```
    "Если в `free` видите `Swap: 0 0 0`, значит своп не настроен, и при нехватке RAM система просто убьет процесс (OOM Killer). Рекомендую настроить swap файл:"
    ```bash
    sudo fallocate -l 4G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    ```
    "В скрипте запуска сервера (start.sh) проверьте флаги `-Xms` и `-Xmx`. Если серверу не хватает, вы увидите в логах `OutOfMemoryError`."
    "Пример безопасного запуска для 4GB RAM:"
    ```bash
    #!/bin/bash
    screen -dmS minecraft java -Xms1G -Xmx3G -jar server.jar nogui
    ```

*   **Шаг 6: Файлы блокировки (Lock files) и битые миры**
    "Если сервер крашнулся неожиданно, могли повредиться файлы мира или остаться лок-файлы."
    "Проверьте наличие файлов `.lock`:"
    ```bash
    find . -name "*.lock"
    ```
    "Удалите их:"
    ```bash
    find . -name "*.lock" -delete
    ```
    "Попробуйте переименовать папку `world` в `world_old` и запустите сервер заново. Если сервер запустился с новым миром — проблема в повреждении данных старого мира. Можно попытаться восстановить его из бэкапов (которые я надеюсь вы делаете, например, скриптом или через Proxmox Backup Server)."

*   **Шаг 7: Особенности контейнера (LXC) на Proxmox**
    "На серверах proxify.cloud часто используются не виртуальные машины (KVM), а контейнеры (LXC). Это накладывает ограничения."
    "Убедитесь, что контейнер привилегированный (`unprivileged`) или нет. Если привилегированный, могут быть проблемы с правами на файлы, особенно если вы маппите папки с хоста."
    "Проверить тип можно в панели Proxmox (Features -> Fuse, Keyctl и т.д.)."
    "В контейнерах могут не работать некоторые системные вызовы, требуемые тяжёлыми плагинами на Citizens/NPC. Если проблема появилась после установки плагина — удалите его."
    "Проверьте места на томе контейнера:"
    ```bash
    df -h
    ```
    "Иногда на LXC не хватает inode:"
    ```bash
    df -i
    ```

*   **Шаг 8: Файрвол и доступность**
    "Сервер запустился, но никто не может подключиться?"