Оптимизация сервера убираем лаги

Тема в разделе "MineCraft", создана пользователем admin, 23 фев 2017.

Статус темы:
Закрыта.
  1. admin

    admin Administrator Команда форума

    И так! Сегодня я расскажу Вам как-же оптимизировать его, и улучшить быстродействие.

    Оптимизация сервера

    1. PaperSpigot & paper.yml
    PaperSpigotпредставляет собой набор патчей для ядра Spigot которые существенно оптимизирует сервер и добавляет дополнительные настройки с помощью файла paper.yml.

    Вы можете скачать PaperTools, который является эквивалентом BuildTools по данной ссылке:
    Запустите paperspigot.jar, как вы это делаете с обычным ядром spigot.jar (собственно PaperSpigot и является ядром сервера) .
    После запуска, сервера сгенерирует в корневой папке три yaml файла:
    • spigot.yml
    • paper.yml
    • bukkit.yml
    Используя эти файлы мы и будем вести настройку.

    Для начала откройте paper.yml:

    Следует снизить параметр despawn-ranges, если у вас слишком много мобов (в противном случае оставьте это по умолчанию).

    Измените значение на true следующих параметров:

    use-async-lighting
    optimize-draining


    Это позволит оптимизировать параметры потока жидкости и обрабатывать освещение асинхронно.

    Примечание: Некоторые из этих параметров были вырезаны в paperspigot, в более поздних версиях и больше не настраиваются в конфигурационном файле (как они всегда активированы).

    Если у вас на сервере совершается много действий с redstone схемами, воронками, вагонетками... еtс , снижение параметра tick-next-tick-list-cap может помочь в повышении производительности.

    2. Spigot.yml & Bukkit.yml

    Spigot.yml & bukkit.yml являются файлами, которые генерирует сервер Bukkit/Spigot умолчанию. Они позволяют нам настроить такие параметры как: лимит сущностей(entity), кол-во сущностей(entity) за тик, обработку мира и другое.

    Откройте spigot.yml. Здесь мы сможем выжать максимум производительности из сервера. Найдите раздел "world-settings".

    Во-первых, отключите анти-Xray, если вы действительно им не пользуетесь. Обычно данная функция аказывает до 5% нагрузки на сервер. Это не самый прожорливый функционал, но его отключение может дать серьезный прирост производительности.
    Вы можете попробовать в качестве альтернативы более конфигурируемый анти-Xray, например.

    Параметр: nerf-spawner-mobs может быть установлен на true, если ваш сервер не полагаться на агрессивных мобов, которые появляются с помощью спаунеров. Если у вас есть много спаунеров нейтральных мобов (фермы и тд) и вы редко используете спаунеры агрессивных, активация этой функции даст серьезное увеличение производительности.

    entity-activation-range
    Стандартные значения:(animals: 32, monsters: 32, misc: 16)
    Описание: Устанавливает радиус в блоках, в пределах которых сущности будут "активными" - объекты за пределами этого диапазона будет тикать по сниженному рейту, чтобы предотвратить сервера отставание.
    Я предлагаю использовать такие параметры:
    1. entity-activation-range:
    2. animals:8
    3. monsters:10
    4. misc:2
    Misc регулирует радиус элементов рам, картин, выброшенных предметов, шаров опыта и табличек. Я установил этому параметру значение "2", для предотвращения их движения по воде. Параметры animals: 8 monsters: 10 не означают что мобы будут выгружены, они будут активны(за один тик), но с более низким рейтом (читаем подробнее, что такое тик).

    entity-tracking-range
    Стандартные значения:(players: 48, animals: 48, monsters: 48, misc: 32, other: 64)

    Устанавливает радиус в блоках, в пределах которых сущности будут видимыми для клиента. Субъекты за пределами этого диапазона будут невидимы и не будут обработаны железом клиента чтобы сохранить загрузку процессора и пропускную способность. Это особенно полезно для ПВП серверов, а снижение параметров для игроков исключит wallhacks и радар в некоторой степени. Misc регулирует радиус элементов рам, картин, выброшенных предметов, шаров опыта и табличек. Other устанавливает максимальный предел для всех субъектов на вашем сервере.

    entity-tracking-range: не влияет на производительность сервера, но влияет производительность на стороне клиента. Я хотел бы предложить оставить его нетронутым.
    1. entity-tracking-range:
    2. players:48
    3. animals:48
    4. monsters:48
    5. misc:32
    6. other:64
    ticks-per:

    ↳ hopper-transfer

    Стандартное значение: 8
    Описание: Период времени в 1 тик, между тем как воронка активируется и перетянет вещи в сундук. При стандартном значении воронка активируется и перетаскивает в сундук предметы раз в 8 тиков.

    ↳ hopper-check (Удалено в версии 1.8.3 March, 8th 2015)
    Стандартное значение:
    8
    Описание: Период времени в 1 тик, - за который воронка анализирует кол-во предметов вокруг нее. К примеру при значении 8, воронка будет проверять инвентарь сундука и наличие предметов вокруг нее раз в восемь тиков.

    Значение по умолчанию равно 8, поэтому установка его в 24 означает, что процесс активации будет происходить в три раза реже. Что сократит общее время активности воронок. (внимание изменение данной функции может привести к неправильной работе некоторых механизмов, которые строят ваши игроки)

    Я советую установить вот такие значения:
    1. ticks-per:
    2. hopper-transfer:24
    3. hopper-check:24
    4. hopper-amount:3
    max-entity-collisions
    Стандартное значение: 8
    Описание: Данный параметр устанавливает лимит сущностей в одной точке, я предлагаю установить значение 2 или даже 1.

    item-despawn-rate

    Стандартное значение: 6000
    Описание:Данный параметр устанавливает время в тиках, по прошествии которого брошенные на землю предметы исчезнут.

    При стандартном значении предметы будут исчезать через 6000:20=300 секунд. Данный параметр регулируется индивидуально для каждого сервера.

    merge-radius:

    ↳ exp
    Стандартное значение: 3.0
    Описание: Устанавливает радиус в блоках, когда шарики опыта будут объединены в один стак.

    ↳ item
    Стандартное значение: 2.5
    Описание: Устанавливает радиус в блоках, когда предметы одной группы будут объединены в один стак.

    Предлагаю вот такие параметры:
    1. merge-radius:
    2. item:4
    3. exp:6

    view-distance
    Стандартное значение: 10
    Описание:Контролирует количество блоков, которые будут загружены вокруг каждого игрока. Это значение не может быть выше , чем 15 или ниже , чем 1. Понижение это может снизить нагрузку на сервер , если у вас есть большое количество игроков онлайн.

    Я советую установить данный параметр на "4", но в таком случае могут возникнуть проблемы при прогрузке блоков для креатив серверов. Все же лучше не выходить за значение "6". Данный параметр оказывает значительную нагрузку на сервер

    chunks-per-tick

    Стандартное значение: 650
    Описание:Контролирует количество чанков, которые будут обновлены для роста культур(фермерам на заметку) за один тик . Снижение этого параметра уменьшает нагрузку на сервер и замедляет рост культур соответственно. Я предлагаю установить значение "80" что примерно в восемь раз ниже.

    growth:

    x-модификатор
    где x это = cactus, melon, pumpkin, sapling, cane, mushroom, wheat


    Стандартное значение: 100
    Type: Integer
    Описание: Контролирует скорость роста определенной культуры.
    При снижении параметра chunks-per-tick в восемь раз до 80, мы увеличим значения роста каждой культуры до "800" ( восемь раз соответственно) что даст нам стандартную скорость роста, при этом сократив кол-во обновленных чанков.
    Устанавливаем параметры на:
    1. growth:
    2. cactus-modifier:800
    3. cane-modifier:800
    4. melon-modifier:800
    5. mushroom-modifier:800
    6. pumpkin-modifier:800
    7. sapling-modifier:800
    8. wheat-modifier:800
    Помните, что параметры chunks-per-tick и growth взаимосвязаны и если вы уменьшили кол-во обновленных чанков, при этом оставив без изменения параметр growth(100) то вы снизите скорость роста в восемь раз и наоборот.
    Переходим к файлу bukkit.yml

    Параметр spawn-limits. Отвечает за общее кол-во мобов, которые будут отспаунены для одного игрока. Я предлагаю такие значения:
    1. spawn-limits:
    2. monsters:50
    3. animals:10
    4. water-animals:3
    5. ambient:4
    Я снизил параметр ambient: 4, тк. Кол-во летучишь мышей никак не влияет на геймплей.
    Чем больше игроков играют на сервере, тем ниже можно опускать данные значения повышая при этом производительность сервера.

    Также рекомендую установить значения параметра ticks-per:
    1. ticks-per:
    2. animal-spawns:400
    3. monster-spawns:3
    4. autosave:3000
    В частности, я изменил monster-spawns с 1 до 3. Это интервал между событием mobSpawn , который будет определять места и порождать монстров . Если mobSpawn собирает много циклов в ваших таймингах советую увеличить данные значения!

    chunk-gc это небольшая функция spigot которая отключена по умолчанию. Для включения, установите параметры:
    1. chunk-gc:
    2. period-in-ticks:300
    3. load-threshold:300
     
  2. admin

    admin Administrator Команда форума

    Так же Плагин World Border (уменьшаем лаги на сервере).
    Далее устанавливаем плагин WorldBorder и устанавливаем границы мира. Заходим на сервер и пишем команду /spawn, потом пропишем команду /wb set 1000 (1000 - это радиус.) (Это нам поможет сохранить место на диске, увеличить работу сервера, ибо мы ограничили карту и прогрузка чанков стала меньше )
     
Статус темы:
Закрыта.