Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Туториал Оптимизация сервера

Cooper_grisha

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
Cooper_game
Главное
В этой теме я вам объясню и покажу как можно оптимизировать сервер без ущерба для игрового процесса.

Обновление темы
- Время: 05.12.2020
- Для версий игры 1.14/1.15/1.16 (не чего страшного если вашей версии нету в списке, настройки те же, только некоторые у вас могут отсутствовать или иметь другое название)

Генерация мира
генерация мира является одна из основных нагрузок на ваш сервер.
Установите плагин Chunky​
Bukkit.yml
spawn-limits
Default: monsters:70, animals:10, water-animals:15, ambient:15
Рекомендую: monsters:50, animals:8, water-animals:3, ambient:1

- Чем меньше значения чем меньше мобов, старайтесь сильно не уменьшать значения иначе игрокам вашем сервере будет не особо интересно)

chunk-gc.period-in-ticks
Default: 600
Рекомендую: 400

-
Как часто будет вызываться сборщик мусора для чанков (выгрузка ненужного из памяти).

ticks-per.monster-spawns
Default: 1
Рекомендую: 4

- Частота (в ТИКах), сервер будет создовать мобов.
Их станет намного меньше на серверах где преимущественно строят мобо фермы.
Изменять параметры с мобами стоит только если вы уверены что ваш сервер не требуется в мобах вообще.

autosave
Default: 6000 (обычно)
Рекомендую: 6000

- Время за которое сервер сохраняет карту. Время в ТИКах (20 ticks/1 second).
Чем больше значение чем реже ваш сервер будет сохранятся и тем меньше нагрузка
Spigot.yml
save-user-cache-on-stop-only
Default: false
Рекомендую: true

- Этот пункт отвечает за сохранение пользовательских данных. При значении false будет сохранять пользовательские данные в настоящие время.
При значении true и данные будут сохранятся после перезагрузки или остановки сервера.

max-tick-time
Default: tile:50, entity:50
Рекомендую: tile:10, entity:25

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

mob-spawn-range
Default: 8
Рекомендую: 6

- Устанавливает максимальное расстояние спавна мобов от игрока (указывается в ЧАНках).

entity-activation-range
Default: animals:32, monsters:32, raiders: 48, misc:16
Рекомендую: animals:16, monsters:24, raiders: 48, misc:8

- Объекты, выходящие за пределы этого диапазона, будут не активны.

tick-inactive-villagers
Default: true
Рекомендую: false

- Отключат активность в тех местах карты где нету игрока.

merge-radius
Default: item:2.5, exp:3.0
Рекомендую: item:4.0, exp:6.0

- Диапазон в котором предметы (лежающие на земле) будут собраны в кучу.

nerf-spawner-mobs
Default: false
Рекомендую: true

- Ограничивает возможности мобов(мобы созданные спавнером не будут плавать, двигаться и атаковать)

item-despawn-rate
Default: 6000 (5 минут)
Рекомендую: less?

- Время до удаления лежачего предмета.

arrow-despawn-rate
Default: 1200
Рекомендую: 300

- Время до удаления лежачих стрел(стрел от лука).
Server.Pʀᴏᴘᴇʀᴛɪᴇs
view-distance
Default: 10
Рекомендую: от 4 до 8

- Уменьшает максимальное расстояние рендеринга для игроков. Рекомендую ставить от 6 а если у вас сервер с огромным онлайном то 4 или 5

network-compression-threshold
Default: 256
Рекомендую: (512) А что бы выключить(-1)

- По умолчанию он позволяет пакетам размером n-1 байт нормально работать, но пакет, состоящий из n байтов или более, будет сжат. Таким образом, меньшее число означает большее сжатие, но сжатие небольшого количества байтов может на самом деле привести к большему результату, чем то, что произошло.
-1 - отключить сжатие
0 - сжать все

Примечание: интернет требует, чтобы пакеты размером менее 64 байтов дополнялись до 64 байтов. Таким образом, установка значения ниже 64 может быть нецелесообразной. Также не рекомендуется превышать 1500 байт.
Источник​
 
Последнее редактирование:
Главное
В этой теме я вам объясню и покажу как можно оптимизировать сервер без ущерба для игрового процесса.

Обновления
- Время: 05.12.2020
- Для версий игры 1.14/1.15/1.16 (не чего страшного если вашей версии нету в списке настройки те же, только некоторые у вас могут отсутствовать или иметь другое название)

Генерация мира
генерация мира является одна из основных нагрузок на ваш сервер.
  1. Установите плагин WorldBorder
  2. /wb [ИмяМира] set <радиусX> [радиусZ] spawn
Bukkit.yml
spawn-limits
Default: monsters:70, animals:10, water-animals:15, ambient:15
Рекомендую: monsters:50, animals:8, water-animals:3, ambient:1


- Чем меньше значения чем меньше мобов, старайтесь сильно не уменьшать значения иначе игрокам вашем сервере будет не особо интересно)

chunk-gc.period-in-ticks
Default: 600
Рекомендую: 400


- Количество "чанк" генерируемых в секунду. Чем меньше значение тем меньше расход ТПС (ТПС - число тактов за секунду)


ticks-per.monster-spawns
Default: 1
Рекомендую: 4

- Частота (в ТИКах), сервер будет создовать мобов.
Примечание: можете поставить значение больше если у вас значительные потери ТПС

autosave
Default: 6000 (обычно)
Рекомендую: 6000

- Время за которое сервер сохраняет карту. Время в ТИКах (20 ticks/second).
Чем больше значение чем реже ваш сервер будет сохранятся и тем меньше нагрузка
ВНИМАНИЕ ТЕМА НЕ ДОДЕЛАНА!
Возможно, добавить ещё и прогрузку чанков? Ведь если ты сгенерируешь все чанки во время вайтлиста, ресурсы на их генерацию после вовсе тратиться не будут, соответственно после этого нагрузка будет меньше. Команда вроде бы /wb fill.
 
Возможно, добавить ещё и прогрузку чанков? Ведь если ты сгенерируешь все чанки во время вайтлиста, ресурсы на их генерацию после вовсе тратиться не будут, соответственно после этого нагрузка будет меньше. Команда вроде бы /wb fill.
Поправил
 
Никогда не посоветовал бы ставить WB на версии выше 1.12.2.
Есть форк worldborder'a на последние версии, судя по отзывам моих знакомых, побыстрее Chunky будет (сам не пробовал)

А что касается самих советов, такое ощущение, что это просто копипаст со spigotmc. Там большой онлайн на новых версиях держали единицы (а те, что держали большие сервера - секретов там своих не рассказывают), все рассказанные там вещи очень поверхностны, они конечно повысят производительность, но чтобы добиться адекватных показателей - можешь смело этот туториал выбросить.
 
Есть форк worldborder'a на последние версии, судя по отзывам моих знакомых, побыстрее Chunky будет (сам не пробовал)
Лично я сам всегда пользовался WorldBorder, я этому плагину доверяю и к нему привык. Возможно Chunky будет хорошим аналогом для него
 
Последнее редактирование:
А что касается самих советов, такое ощущение, что это просто копипаст со spigotmc. Там большой онлайн на новых версиях держали единицы (а те, что держали большие сервера - секретов там своих не рассказывают), все рассказанные там вещи очень поверхностны, они конечно повысят производительность, но чтобы добиться адекватных показателей - можешь смело этот туториал выбросить.
Я это не копирую! А адаптирую адаптирую под русско язычное сообщество, исправляю ошибки + тема не закончена поэтому не судите строго
 
Надеюсь, быстрее он не от того, что чанки недогружает.
всегда пользовался
Когда я им в последние разы пользовался (на 1.13.2, когда автор обновлял его до 1.13+), оставались недогруженные чанки и постоянно загруженные чанки, в итоге, сервер мог притормаживать при генерации того, что недогрузил WB и могло забить всю оперативку всегда загруженными чанками, и рестарт от этого не помогал, только удаление файла, в которых хранятся данные о таких чанках.
 
Надеюсь, быстрее он не от того, что чанки недогружает.

Когда я им в последние разы пользовался (на 1.13.2, когда автор обновлял его до 1.13+), оставались недогруженные чанки и постоянно загруженные чанки, в итоге, сервер мог притормаживать при генерации того, что недогрузил WB и могло забить всю оперативку всегда загруженными чанками, и рестарт от этого не помогал, только удаление файла, в которых хранятся данные о таких чанках.
Спасибо за совет, сейчас отредактирую тему
 
Спасибо за совет, сейчас отредактирую тему
Я не утверждаю, что и сейчас так, это ещё нужно проверить. Но намучился я с ним когда-то знатно и перешел на ChunkMaster, а потом на Chunky.
 
Последнее редактирование:
max-tick-time
Default: tile:50, entity:50
Рекомендую: tile:1000, entity:1000
Этим параметром ты уничтожил всю оптимизацию которую сделал до этого.
Чем больше значения, тем БОЛЬШЕ времени сервер будет уделять этим сущностям. Здесь рекомендуют ставить tile 10, entity 25. Чем меньше значения для сущностей, тем медленнее они будут обрабатываться, что может привести к низкой скорости обработки мобов. Например их перемещение не будет таких гладким.
В идеале такие параметры вообще не стоит трогать если у тебя не много сущностей.

chunk-gc.period-in-ticks
Default: 600
Рекомендую: 400
Это количество чанков которые будут разгружены при следующей сборке мусора.


ticks-per.monster-spawns
Default: 1
Рекомендую: 4
Изменяя этот параметр, ты ломаешь ванильную механику спавна монстров. Их станет намного меньше на серверах где преимущественно строят мобо фермы.

Изменять параметры с мобами стоит только если вы уверены что ваш сервер не требуется в мобах вообще. (я говорю про те самые крупные сервера где важно количество игроков а не ванильный геймплей)
 
Этим параметром ты уничтожил всю оптимизацию которую сделал до этого.
Чем больше значения, тем БОЛЬШЕ времени сервер будет уделять этим сущностям. Здесь рекомендуют ставить tile 10, entity 25. Чем меньше значения для сущностей, тем медленнее они будут обрабатываться, что может привести к низкой скорости обработки мобов. Например их перемещение не будет таких гладким.
В идеале такие параметры вообще не стоит трогать если у тебя не много сущностей.


Это количество чанков которые будут разгружены при следующей сборке мусора.



Изменяя этот параметр, ты ломаешь ванильную механику спавна монстров. Их станет намного меньше на серверах где преимущественно строят мобо фермы.

Изменять параметры с мобами стоит только если вы уверены что ваш сервер не требуется в мобах вообще. (я говорю про те самые крупные сервера где важно количество игроков а не ванильный геймплей)
Спасибо огромное, все учел и исправил.
 
количество чанков
gc - сборщик мусора, period in ticks - период в тиках (логично, да)
Как часто будет вызываться сборщик мусора для чанков (выгрузка ненужного из памяти).
Для ТС, тики это тики, а не секунды, в секунде 20 тиков.

монстров. Их станет намного меньше
Это как часто будет вызываться их спаун. Может они и не так быстро, но всё равно дойдут до настроенного лимита довольно быстро при таких небольших значениях.

Проще будет написать свою тему, чем исправлять такие.

Да и я считаю, что всякие фермы ломают многим интерес на серверах, просто сидишь и получаешь какой-то ресурс из-за чего он обесценивается. Имхо.
 
Я вообще не прогружал чанки, на 1.16.4 не было никаких лагов в связи с этим.
 
gc - сборщик мусора, period in ticks - период в тиках (логично, да)
Как часто будет вызываться сборщик мусора для чанков (выгрузка ненужного из памяти).
Для ТС, тики это тики, а не секунды, в секунде 20 тиков.


Это как часто будет вызываться их спаун. Может они и не так быстро, но всё равно дойдут до настроенного лимита довольно быстро при таких небольших значениях.

Проще будет написать свою тему, чем исправлять такие.


Да и я считаю, что всякие фермы ломают многим интерес на серверах, просто сидишь и получаешь какой-то ресурс из-за чего он обесценивается. Имхо.
К сожалению никто не спеши создавать подобную тему поэтому пришлось брать инициативу с свои руки
 
Этим параметром ты уничтожил всю оптимизацию которую сделал до этого.
Чем больше значения, тем БОЛЬШЕ времени сервер будет уделять этим сущностям. Здесь рекомендуют ставить tile 10, entity 25. Чем меньше значения для сущностей, тем медленнее они будут обрабатываться, что может привести к низкой скорости обработки мобов. Например их перемещение не будет таких гладким.
В идеале такие параметры вообще не стоит трогать если у тебя не много сущностей.

Я лично опираюсь на статью Aikar'a (правда она от 2015 года), где он говорит о всех проблемах использования сия чуда. Значение 1000 - просто отключает данную функцию. Что об этом думаешь?
 
К сожалению никто не спеши создавать подобную тему поэтому пришлось брать инициативу с свои руки
Никакого профита взамен на потраченное время. И в итоге темы пилят вот такие.
 
Никакого профита взамен на потраченное время. И в итоге темы пилят вот такие.
От этого есть профит, только когда говоришь хоть какие-то новые вещи. Сейчас моя вовлеченность в тему оптимизации приносит мне ~3-5к рублей в месяц (просто пассивка, 2 часа в месяц объяснять юзверям).
Эта же тема ничего кардинально нового не вносит, всё это copy+paste со spigotmc. Такие темы и даром не сдались.
 
gc - сборщик мусора, period in ticks - период в тиках (логично, да)
Как часто будет вызываться сборщик мусора для чанков (выгрузка ненужного из памяти).
Для ТС, тики это тики, а не секунды, в секунде 20 тиков.
Перепутал с load-threshold, которая находится в той же секции. Этот параметр кстати тоже стоит использовать.
Это как часто будет вызываться их спаун. Может они и не так быстро, но всё равно дойдут до настроенного лимита довольно быстро при таких небольших значениях.

Проще будет написать свою тему, чем исправлять такие.
Тут важно знать какой тип сервера нужен. Ванильной игре важен спавн мобов, и задерживать их на 4 тика от стандартного сильно повлияет на спавн. Это особенно заметно на фермах, а еще сильнее заметно когда таких ферм 20 по всему серверу, и каждому игроку нужны мобы.

Да и я считаю, что всякие фермы ломают многим интерес на серверах, просто сидишь и получаешь какой-то ресурс из-за чего он обесценивается. Имхо.
В Майнкрафт не играл значит)

Я лично опираюсь на статью Aikar'a (правда она от 2015 года), где он говорит о всех проблемах использования сия чуда. Значение 1000 - просто отключает данную функцию. Что об этом думаешь?
В документации об этой опции на официальном сайте spigot нет информации о том что параметр 1000 выключает функцию (обычно разработчики используют опцию -1 для таких целей. Не исключаю что можно посмотреть исходники и убедиться самим). Лично для меня, даже если эта функция как было описано в статье, не работает как задумано, она хотя бы и в правда уменьшает нагрузку, немного но хоть что то.


Хоть бы автор темы сослался бы на оригинал темы.. https://www.spigotmc.org/threads/guide-server-optimization⚡.283181/
 
Назад
Верх