Thinking. 1. Analyze the Request: * Topic: How to optimize a Paper server. * Hosting/Settings: proxify.cloud, Proxmox panel, dedicated server with Ubuntu. * Language: Russian. * Format: * Title: # (matching the topic). * Markdown: ## for headers, numbered steps, code blocks. * Mention "proxify.cloud" where appropriate. * Specific commands, file paths, examples. * Length: 800-1500 words. * Style: Practical, no fluff. * Final section: "Возможные проблемы и решения". * No HTML tags. * Structure: 1. Title (# Как оптимизировать сервер Paper) 2. Introduction (brief context, management via proxify.cloud). 3. Preparation / Initial Setup via proxify.cloud Panel. 4. JVM Arguments & Aikar's Flags. 5. Server Properties (server.properties). 6. Paper Configuration (paper-global.yml, paper-world-defaults.yml). 7. Spigot Configuration (spigot.yml). 8. Bukkit Configuration (bukkit.yml). 9. Redstone & Entity Optimization. 10. Plugins for Performance. 11. Operating System Level Tuning. 12. Возможные проблемы и решения. 13. Conclusion.

*   **Drafting the Content:**

    **# Как оптимизировать сервер Paper**

    В этой инструкции мы подробно разберем оптимизацию сервера Paper под управлением Ubuntu на выделенном сервере в панели **proxify.cloud**. Оптимизация позволит снизить нагрузку на процессор и память, уменьшить лаги и повысить TPS (тики в секунду).

    **## 1. Выбор шаблона и начальная настройка через панель proxify.cloud**

    При создании сервера в панели **proxify.cloud** рекомендуется выбирать версию Ubuntu 22.04 LTS (или 24.04 LTS). Выделите достаточно ядер CPU и RAM, исходя из планируемого онлайна (например, 4 vCPU и 8GB RAM для старта).

    После создания контейнера или виртуальной машины, подключитесь по SSH:

    ```bash
    ssh root@IP_вашего_сервера
    ```

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

    ```bash
    apt update && apt upgrade -y
    ```

    **## 2. Установка Java**

    Paper требует Java 21. Установим OpenJDK 21:

    ```bash
    apt install openjdk-21-jdk -y
    ```

    Проверьте версию:

    ```bash
    java -version
    ```

    **## 3. Загрузка и запуск Paper**

    Создайте директорию для сервера и скачайте последнюю сборку Paper:

    ```bash
    mkdir /home/minecraft && cd /home/minecraft
    wget https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/latest/downloads/paper-1.21.4-latest.jar -O paper.jar
    ```

    *Примечание: Актуальную ссылку можно взять на [papermc.io/downloads](https://papermc.io/downloads).*

    Запустите сервер первый раз для генерации файлов:

    ```bash
    java -jar paper.jar --nogui
    ```

    Примите EULA:

    ```bash
    echo "eula=true" > eula.txt
    ```

    **## 4. Ключевой этап: Правильные флаги запуска (Aikar's Flags)**

    Это самый важный шаг для производительности. Создайте скрипт запуска `start.sh`:

    ```bash
    nano start.sh
    ```

    Пример флагов для сервера с 8GB RAM:

    ```bash
    #!/bin/bash
    java -Xms6G -Xmx6G \
      -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 \
      -Daikars.new.flags=true \
      -jar paper.jar --nogui
    ```

    *Важно:* `-Xms` (стартовый размер) и `-Xmx` (максимальный размер) лучше выставлять одинаковыми, чтобы избежать колебаний производительности. Оставьте 1-2 GB для системы (ОС и дисковый кэш). Для 8GB ставьте `6G`, для 16GB ставьте `10G-12G`.

    Сделайте скрипт исполняемым и запускайте сервер через него:

    ```bash
    chmod +x start.sh
    ./start.sh
    ```

    **## 5. Оптимизация server.properties**

    Остановите сервер (`/stop`) и отредактируйте основные настройки:

    ```bash
    nano server.properties
    ```

    | Параметр | Рекомендация | Пояснение |
    |---|---|---|
    | `network-compression-threshold` | `256` | Снижает нагрузку на CPU при сжатии пакетов. |
    | `max-player` | Реальный онлайн + 20% | Не ставьте 100, если у вас 10 игроков. |
    | `view-distance` | `4-6` | Самая ресурсоёмкая настройка. Чем ниже, тем меньше чанков загружается. |
    | `simulation-distance` | `4-5` | Аналогично view-distance, но для логики (мобы, редстоун). |
    | `entity-activation-range` | Базовая | Не трогаем, настраивается в `spigot.yml`. |
    | `max-world-size` | `5000` (или меньше) | Ограничивает мир, заставляя генерировать новые чанки в радиусе, а не бесконечно. |
    | `sync-chunk-writes` | `false` | Чуть быстрее сохранение мира. |

    **## 6. Настройка paper-global.yml**

    Это главный конфигурационный файл производительности Paper.

    ```bash
    nano /home/minecraft/config/paper-global.yml
    ```

    **Важные секции:**

    *   **Chunk System:**
        ```yaml
        chunk-loading:
          autoconfig-send-distance: 2
          entity-activation-range:
            animals: 16
            monsters: 24
            misc: 8
        ```
    *   **Entity Activation Range (EAR):** Включает/выключает ИИ мобов в зависимости от расстояния до игрока.
        ```yaml
        entities:
          activation-range:
            animals: 8
            monsters: 24
            raiders: 24
            misc: 8
            water: 8
          tick-rates:
            # Задержка тиков для разных сущностей
            sensor-ticks: 20
            behavior-ticks: 4
        ```
    *   **Falling Blocks:**
        ```yaml
        falling-blocks:
          maximum-entities-per-chunk: 8
    *   **Redstone:**
        ```yaml
        redstone:
          # Отключает обновление соседних блоков при установке факела/повторителя
          disable-rail-dup-patch: false # оставляем false
          current-per-limit: # можно не трогать
        ```
        *   **Chunk Loading:**
        ```yaml
        chunk-loading:
          load-time: 5000 # Микросекунды на загрузку чанка за тик
        ```
        *   **Player Idle Timer:**
        ```yaml
        players:
          auto-save: 6000 # Тики (5 минут)
          idle-timeout: 30 # Минут
        ```
    *   **Collisions:**
        ```yaml
        collision:
          max-entity-collisions: 2
        ```
        Это резко снижает лаги от толпящихся сущностей (например, на фермах мобов).

    **## 7. Настройка spigot.yml**

    ```bash
    nano /home/minecraft/spigot.yml
    ```

    *   **Mob Spawner:**
        ```yaml
        mob-spawner:
          tick-rate: 3 # Было 1, увеличиваем до 2-3 для снижения нагрузки
    *   **Entity Activation Range: (дублирует Paper, но для совместимости)**
        ```yaml
        entity-activation-range:
          animals: 16
          monsters: 24
          misc: 8
          water: 8
          villagers: 16
          flying-monsters: 24
    *   **Merge Radius (Слияние предметов):** Очень важная настройка для борьбы с лагами от выброшенных предметов.
        ```yaml
        merge-radius:
          item: 4.0 # Чем выше, тем быстрее предметы будут сливаться в стопки
          exp: 6.0
        ```
    *   **Ticks per:**
        ```yaml
        ticks-per:
          hopper-transfer: 8 # Замедляет скорость перемещения предметов в воронках. Было 8, можно 12
          hopper-check: 8
        ```

    **## 8. Настройка bukkit.yml**

    ```bash
    nano /home/minecraft/bukkit.yml
    ```

    *   **Chunks:**
        ```yaml
        chunks:
          # Количество чанков, сохраняемых за тик
          per-tick: 650
          # Максимальное количество чанков в очереди на загрузку/выгрузку
          load-threads: 4 # Количество потоков для загрузки чанков (по числу ядер)
        ```
    *   **Database:**
        ```yaml
        database:
          type: sqlite
          driver: org.sqlite.JDBC
        ```

    **## 9. Настройка на уровне ОС (Ubuntu)**

    В панели **proxify.cloud** у вас есть root-доступ, что позволяет провести тонкую настройку системы.

    **Отключение HugeTLB (если используется не они):**
    (Обычно Paper сам лучше работает с Transparent Huge Pages, но лучше их отключить)

    ```bash
    echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
    ```

    Чтобы сделать это постоянно, добавьте в `/etc/rc.local` или создайте systemd unit.

    **Настройка параметров ядра (sysctl):**

    ```bash
    nano /etc/sysctl.d/minecraft.conf
    ```

    Добавьте:

    ```
    # Уменьшение задержки сетевого стека
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_wmem = 4096 65536 16777216
    net.ipv4.tcp_congestion_control = bbr
    net.core.default_qdisc = fq
    net.ipv4.tcp_slow_start_after_idle = 0
    # Оптимизация под нагрузку (уменьшение swappiness)
    vm.swappiness = 10
    # Уменьшение dirty ratio для быстрой записи
    vm.dirty_ratio = 30
    vm.dirty_background_ratio = 5
    ```

    Примените настройки:

    ```bash
    sysctl --system
    ```

    **## 10. Оптимизация сети в панели proxify.cloud**

    В веб-интерфейсе **proxify.cloud** для вашей виртуальной машины можно настроить аппаратную привязку CPU (CPU pinning) и выделить отдельное ядро для системных процессов. Это даст прирост производительности на выделенном сервере.

    **## 11. Рекомендуемые плагины для оптимизации**

    1.  **Spark