майнкрафт однопоточный или нет

Когда майнкрафт станет многопоточным?

Обработчик серверной части Майнкрафта не может работать на нескольких потоках, так как это сломает буквально всё – от работы датапаков до AI сущностей. Да и это не имеет смысла, так как многопоточная обработка вызывает больше задержек, чем однопоток.

Это наглядно доказал мод SmoothBoot, который позволяет вручную выбрать количество потоков для игры. Сам автор мода утверждает, что несмотря на то, что в моде есть такая функция, разбивка серверных вычислений на потоки зачастую лишь замедляет их, и Майнкрафт во многих случаях лучше работает на одном потоке (источник).

Тем не менее, некоторые моды-оптимизаторы всё же используют многопоточность там, где это может ускорить какой-то процесс.
Например, знаменитый Sodium активно использует мультипоточные алгоритмы для обработки визуализации чанков и их рендеринга.
А мод Tic-Tacs благодаря добавлению многопоточной генерации чанков ускоряет этот процесс раза в 2. В паре с модом Starlight производительность повышается ещё сильнее (но только в dev-версии tic-tacs 0.1.3). Правда, крайне быстрая загрузка новых чанков сильно бьёт по FPS.

Также мультипоточность используется высокопроизводительным сборщиком мусора ConcMarkSweepGC, который является лучшим решением для Майнкрафта (но по умолчанию всегда стоит G1GC).

Подытожу: Вопреки распространённому стереотипу, что многопоточность в разы ускоряет вычисления, это на самом деле далеко не так. Конечно, программисты в Mojang могли бы работать лучше, но нам это и не нужно, ведь все решения по повышению производительности уже реализованы в модах для Fabric.

Источник

1381235314 comics fraj orig 1340560153

Приветствую вас, дорогие любители бесконечных слотов на серверах MineCraft!

В нем вы найдете много интересной информации..

. о том, почему не рекомендуется делать больше 100 слотов.

. о том, почему сервера лагают.

1381236295 1342611049 ss

1381237521 mcportcentral

G8bcO

В этой статье я вкратце опишу вам, как работают наши сервера и откуда берутся ЛААААГИ!

А так же почему администрация не ставит на сервера кучу очень полезных модов и плагинов.

1381236267 1314819834 constr1

Казалось бы, все нормально и тут нет ничего преступного, все сделано довольно хорошо и добавить нечего. Проблема тут такая: всё это обрабатывается в одном основном потоке. В последних версиях в Mojang почитали немного про многопоточные штуки и научились сохранять чанки на диск в отдельном потоке. Безусловно это прорыв, потому что это было чертовски узкое место, давным-давно сервер сохранялся по 15 минут и на это время полностью вис, теперь такого нет. Тем не менее, проблема не решена.

При этом есть ещё и Bukkit!

Источник

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

image loader

В нашем блоге мы уже рассказывали, как создать свой сервер Minecraft, однако с тех пор прошло 5 лет и многое поменялось. Делимся с вами актуальными способами создания и оптимизации серверной части столь популярной игры.

За свою 9-летнюю историю (если считать от даты релиза) Minecraft заработал потрясающее количество поклонников и хейтеров как среди обычных игроков, так и среди гиков. Простая концепция мира из кубиков превратилась из обычного развлечения в универсальную среду для общения и создания различных объектов из реального мира.

Помимо строительства, в игре есть возможность создавать логические схемы, которые позволяют реализовывать полноценные алгоритмы внутри Minecraft. На YouTube полно весьма впечатляющих роликов, где люди, приложив огромное количество сил и потратив множество времени, создали копию того или иного электронного устройства или построили детальную копию существующих и вымышленных архитектурных сооружений. Все ограничивается лишь фантазией геймера и возможностями игровой вселенной.

Но не будем дальше говорить о том, что именно игроки создают, а посмотрим на серверную часть приложения и осветим проблемы (порой весьма сложные), которые могут возникнуть в процессе работы под нагрузкой. Сразу оговоримся, что речь пойдет только о Java Edition.

Виды серверов

Самым простым вариантом является сервер, встроенный в клиент игры. Создали мир, нажали на одну кнопочку, и вот сервер стал доступен по локальной сети. Никакой серьезной нагрузки такой вариант выдержать не может, а поэтому мы не будем его даже рассматривать.

Vanilla

Компания Mojang Studios распространяет серверную часть игры в виде Java-приложения бесплатно на официальном сайте. Это позволяет создать свой собственный выделенный сервер и персональный мир, сделав его доступным для подключения из любой точки планеты. Для тех, кто делает это впервые, есть отличный туториал, доступный в соответствующей игровой Wiki.

У этого подхода есть один серьезный недостаток, а именно — отсутствие возможностей «из коробки» подключать плагины, расширяющие функционал сервера и позволяющие не только автоматизировать многие процессы, но и оптимизировать производительность. Кроме того, у официального сервера достаточно большое потребление оперативной памяти на каждого подключенного игрока.

Bukkit

Созданное энтузиастами на базе Vanilla-версии серверное приложение Bukkit значительно расширяло возможности игры за счет поддержки плагинов и модов (модификаций). Оно позволило не только добавлять в игровой процесс новые блоки, но и выполнять различные манипуляции, недоступные ванильному ПО. Что интересно, памяти это приложение требовало значительно меньше.

Установить Bukkit не составляет особого труда, соответствующая инструкция есть на ресурсе GamePedia. Но это не имеет смысла, так как с 2014 года команда Bukkit распалась, разработчики проекта стали сотрудниками Mojang Studios, а репозиторий заброшен. Таким образом, Bukkit фактически мертв, и имеет смысл обратить внимание на два следующих проекта.

SpigotMC

Для облегчения жизни разработчиков плагинов была необходимость в API для взаимодействия с игровым миром. Именно эту задачу и решили создатели Spigot, взяв за основу ядро Bukkit и переработав его для достижения лучшей надежности и производительности. Тем не менее, Git-репозиторий проекта был заблокирован в связи с Законом об авторском праве в цифровую эпоху (DMCA), и скачать оттуда исходники невозможно.

На текущий момент SpigotMC активно развивается и используется. Он поддерживает все плагины, созданные под Bukkit, однако с ним обратно не совместим. Чтобы обойти запрет DMCA Takedown, был придуман элегантный способ под названием BuildTools. Этот инструмент избавляет от необходимости дистрибуции скомпилированного приложения и позволяет пользователям выполнить компиляцию Spigot, CraftBukkit и Bukkit из исходного кода. Все это делает запрет DMCA бесполезным.

PaperMC

Казалось бы, все круто, и Spigot стал прекрасным вариантом. Но некоторым энтузиастам этого показалось мало, и они запилили свой собственный форк Spigot «на стероидах». На странице проекта ключевым достоинством указано, что “It’s stupid fast”. Развитое коммьюнити позволяет оперативно решать возникающие вопросы, а расширенное API — делать интересные плагины. Запустить PaperMC можно одной простой командой, приведенной в документации.

С совместимостью у PaperMC все прекрасно, так что написанные плагины под SpigotMC легко заработают и на PaperMC, но без официальной поддержки. Обратная совместимость со SpigotMC также присутствует. Теперь, когда мы перечислили различные варианты создания сервера, перейдем к тем проблемам производительности, которые могут возникать.

Проблемы и решения

Главное, что нужно понимать, — все, что касается обработки игрового мира будет обрабатываться только на одном вычислительном ядре физического сервера. Так что если вдруг у вас прекрасный сервер с десятком вычислительных ядер, то загружено будет только одно. Все остальные будут фактически простаивать. Такова уж архитектура приложения, и ничего вы с этим поделать не сможете. Так что при выборе сервера следует обращать внимание не на количество ядер, а на тактовую частоту. Чем она будет выше, тем лучше будет производительность.

Что касается вопроса об объеме оперативной памяти, тут следует исходить из следующих показателей:

Для запуска серверной части рекомендуем воспользоваться флагами, указанными в статье Tuning the JVM – G1GC Garbage Collector Flags for Minecraft. Эта «черная магия» позволяет серверу грамотно настроить «сборщик мусора» и оптимизирует использование оперативной памяти. Не стоит выделять памяти больше, чем реально потребляет сервер при пиковом наплыве игроков.

Генерация карты блоков

“Вы действительно считаете, что Луна существует, только когда вы на неё смотрите?” (Альберт Эйнштейн)

Абсолютно новый сервер. Как только игрок первый раз успешно подключается, игровой персонаж появляется на общей точке сбора (спаун). Это единственное место, где игровой мир предварительно генерируется сервером. В этот же момент клиентская часть смотрит в настройки, и ключевым параметром является дальность прорисовки. Измеряется она в чанках (область карты 16×16 и высотой в 256 блоков) Сколько чанков там указано, именно столько и будет запрошено у сервера.

На сервере хранится глобальная карта мира, и если в ней еще нет сгенерированных блоков в точке появления игрового персонажа, то сервер их динамически генерирует и сохраняет у себя. Мало того, что это требует больших вычислительных ресурсов, так еще и постоянно увеличивает размер карты мира. На одном из старейших анархических серверов 2b2t (2builders2tools) размер карты уже превысил 8 Tb, а граница мира проходит на отметке в 30 млн блоков. С этим сервером связаны тысячи историй, и он заслуживает отдельной статьи серии статей.

Генерация мира вокруг одного игрока — не проблема. Генерация мира вокруг сотни игроков вызовет незначительные тормоза сервера на протяжении короткого времени, после чего нагрузка снизится. Генерация мира на дальность прорисовки клиента вокруг тысячи игроков уже способна «уронить» сервер и повыбрасывать с него всех клиентов по таймауту.

В серверном ПО имеется такое значение, как TPS (Ticks per Server — тактов в секунду). Штатно 1 такт равен 50 мс. (1 секунда реального мира равна 20 тактам игрового мира). Если обработка одного такта вырастет до 60 секунд — серверное приложение будет закрыто, выкинув всех игроков.

Выход — ограничить мир определенными координатами и выполнить предварительную генерацию блоков. Тем самым мы снимаем необходимость динамической генерации в процессе игры, и серверу будет достаточно прочитать уже существующую карту. Оба вопроса решаются одним-единственным плагином WorldBorder.

Проще всего задать границу мира в виде окружности относительно точки спауна (хотя можно ее сделать любой формы) одной командой:

Если игровой персонаж попытается пересечь границу, то будет отброшен на несколько блоков назад. Если это проделать несколько раз за ограниченное время, то нарушитель будет принудительно телепортирован на точку спауна. Предварительная генерация мира выполняется еще проще, командой:

Поскольку данное действие потенциально может затронуть игроков, находящихся на сервере, не забудьте подтвердить выполнение:

В общей сложности на то, чтобы сгенерировать мир радиусом в 5000 блоков (

40 млрд блоков) ушло примерно 2 часа на процессоре Intel® Xeon® Gold 6240. Поэтому, если хотите запустить прегенерацию большей карты, учитывайте, что этот процесс займет приличное количество времени, а TPS сервера будет серьезно снижено. Кроме того, помните, что даже радиус в 5000 блоков потребует примерно 2 Гб места на дисковом накопителе.

Несмотря на то, что крайняя версия плагина была разработана для Minecraft версии 1.14, опытным путем выяснено, что она прекрасно работает и на последующих версиях. Полный список команд с пояснениями доступен на форуме плагина.

Проблемные блоки

Если блоков TNT несколько, то детонация одного блока вызывает детонацию и включение гравитации у соседних блоков, разбрасывая их во все стороны. Вся эта красивая механика на стороне сервера выглядит как множество операций по подсчету траектории каждого из блоков, а также взаимодействия с соседними блоками. Задача крайне ресурсоемкая, что легко может проверить каждый. Сгенерируйте и подорвите куб из блоков TNT, размером хотя бы 30x30x30. И если вы думали, что у вас хороший мощный игровой компьютер, то сильно заблуждались 😉

image loader

Подобный «эксперимент» на сервере с Intel® Xeon® Gold 6240 привел к серьезной «просадке» TPS и 80% нагрузке на CPU в течение всего времени детонации блоков. А следовательно, если кто-либо из игроков сможет проделать подобное, то проблема с производительностью затронет всех находящихся на сервере игроков.

Еще более жесткий вариант — Кристаллы Края. Если TNT все же взрывается последовательно, то Кристаллы Края детонируют все одновременно, что в теории может вообще остановить работу серверного приложения.

Избежать этого сценария можно, только полностью запретив использование данных блоков в игровом мире. Например, с помощью плагина WorldGuard. Обратите внимание, что сам по себе этот плагин не работает без другого плагина WorldEdit. Так что устанавливаете вначале WorldEdit, а затем WorldGuard.

Заключение

Грамотное управление игровым сервером — задача не из простых. Сложности и снижение производительности будут поджидать на каждом шагу, особенно если не брать в расчет саму механику игрового процесса. Предусмотреть все невозможно, ведь игроки порой бывают очень изобретательны в попытках заставить сервер выполнить то, для чего он не был предназначен. Только разумный баланс между рисками и устанавливаемыми ограничениями позволит серверу работать в непрерывном режиме и не снижать свою производительность до критичных значений.

На карантине некоторые наши сотрудники соскучились по любимым офисам и решили воссоздать их внутри Minecraft. У вас тоже есть шанс заглянуть к нам в гости, не рискуя своим здоровьем и не тратя время на дорогу.

Для этого мы приглашаем всех желающих на наш сервер minecraft.selectel.ru (версия клиента 1.15.2), где воссозданы дата-центры Цветочная-1 и Цветочная-2. Не забудьте согласиться со скачиванием дополнительных ресурсов, они необходимы для корректного отображения некоторых локаций.

Вас ждут квесты, промокоды, «пасхалки» и приятное общение.

Источник

Непроизвольное интервью Эрика Броса

Недавно в реддите произошёл любопытный диалог. Один из разработчиком Minecraft, Эрик Брос (Grum) прокомментировал сообщение о характере предстоящих изменений в Minecraft Java Edition 1.13. После этого, другой участник сообщества, высказал своё недовольство тем как идёт разработка игры и Эрик ему ответил. И вопросы и ответы довольно интересны, поэтому я решил их оформить в виде интервью и предложить вашему вниманию. Поскольку речь не идёт о классическом интервью, мне пришлось переработать и вопросы и ответы и кое-где поменять порядок их следования. Очень надеюсь, что общий смысл от этого не пострадал, но всех кого заинтересовала беседа приглашаю ознакомиться с источником (ссылка, как всегда, в конце статьи).

Всё началось с того, что один пользователь высказал утверждение, которое нашло возражение у Эрика Броса.

capfan67: [В Minecraft 1.13 будут следующие изменения:] технические возможности (наборы данных, датапаки), исправление идентификаторов блоков и повышение производительности.

Эрик: Откуда люди берут информацию об улучшении производительности? У нас нет каких-то планов, кроме как сохранить всё на текущем уровне!

После этого в дискуссию вступил другой участник — continous, и дальнейший разговор вёлся уже с ним.

continous: Это ужасно! Мы долго ждали переработки движка Майнкрафта, но всё что мы видим — это обновление посвящённое исправлению старых ошибок и очередные костыли!
Сейчас только загрузка и генерация чанков, насколько я знаю, производится в многопоточном режиме…

К вашему сведению, загрузка чанков (как и генерация) не производится в отдельном потоке, как вы полагаете.

Пусть так, но это наоборот подтверждает моё мнение. Такие вещи, как расчет освещения, нужно полностью переделать, если не для того чтобы добавить новую возможность — цветное освещение, так хотя бы потому что он работает до смешного медленно. Я имею в виду, что у Майнкрафта есть проблемы с обработкой нескольких источников света, в то время как графические движки вроде Unreal очень давно научились это делать

Использование многопоточности обычно рассматривается как волшебный способ решения проблем, хотя как правило добавляет их не меньше. Безусловно есть вещи, которые нужно перенести в отдельные потоке, но текущая архитектура не рассчитана на использование многопоточности, и реализация отдельных задач в потоках становится нетривиальной задачей. Мы работаем над разделением задач, если это не вызывает больших проблем, но как правило всегда возникает что-то, что вызывает большие проблемы. Мы определённо должны реализовать работу ряда задач в параллельных потоках: обсчёт миров, генерацию чанков и загрузку различных данных.

А визуальное освещение и уровень освещённости в мире, позволяющий мобам спавниться, — это абсолютно разные вещи. И сравнивать другие игры с Майнкрафтом — это тоже самое что сравнивать яблоки с грушами. Вряд ли общие подходы применимы к Майнкрафту, поскольку здесь сам мир может меняться и постоянно это делает. Большинство стандартных решений основано на предварительных вычислениях множества различных вещей и здесь такое просто невозможно.

Я понимаю вашу мысль, но мне кажется, что вы просто лукавите. Меняется мир или нет — не имеет никакого значения. Производится ли просчёт освещения заранее или нет — тоже не важно. Трассировка лучей позволяет делать это в реальном времени, даже при наличии множества источников света. Это гораздо сложнее, чем текущая система освещения в Майнкафте. И для этого достаточно ресурсов центрального процессора. Думаю, проблема в том, что просчёт света в Майнкрафте тоже не выделен в отдельный поток.

Многопоточность — это стандартная практика. Это не что-то уникальное или специфичное для какого-то движка, это просто отличный способ увеличить общую производительность. И отмахиваться от него нельзя.

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

В соответствии с тем, как устроено освещение в игре, при наихудших условиях, может возникнуть необходимость просчитать целиком до двух чанков блоков, чтобы определить уровень освещения одного единственного блока. Поскольку последовательность расчётов может возвращаться к уже просчитанным блокам, то разделение задачи на потоки тут не поможет. Но даже для мира мира с высотой 256 блоков, даже при возникновении наихудших вариантов, всё работает вполне приемлемо. Расчёт освещения — это не самая большая проблема в игре.

В большинстве обычных игр множество заранее подготовленных вещей: карты освещения, карты взаимодействий, препятствия, уровни детализации данных рендеринга, компрессия текстуры и т.п. Большинство этих техник сложно применять, если у вас есть постоянно изменяющийся мир. Поэтому в таких играх как Minecraft, используют другие или даже уникальные способы решения этих задач. Это, конечно, не является причиной, по которой игра может работать не оптимально, но вносит свой вклад в то, почему решение ряда задач может быть сложнее чем в других играх.

Да, конечно, можно использовать трассировку лучей в реальном времени, но не на том оборудовании, которое мы хотим поддерживать, которое использует порядка 20% наших пользователей. Это значит, что мы должны перейти с OpenGL 1 на OpenGL 2.1 и, возможно, со временем сможем сделать некоторые вещи более эффективными.

Но давайте просто признаем, что освещение — это не корень всех проблем; плавное освещение можно сделать и шейдерами, правда мы до этого ещё не добрались 😉

Согласен. Но уверен, расчёт освещения — это одна из самых простых задач, которую можно решить, добавив в движок Майнкрафта поддержку многопоточности.

Конечно, расчёт освещения можно производить в другом потоке, который выполнялся бы после произошедших изменений всех блоков. Однако есть ещё и сущности, которые, в свою очередь, тоже вносят изменения. Поэтому многопоточность применительно к индивидуальным источникам освещения — это не вариант, всегда будут возникать конфликты при записи в соседние блоки.

Не забывайте, мы по горло сидим в коде, который создавался без учета возможности многопользовательской игры. В этом коде жестко закодировано всё, что только возможно, включая 256 уникальных текстур для блоков и 256 текстур для предметов, и всё это на основе устаревшего OpenGL 1.4.

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

Просто чтобы завершить картину, у нас 2202 java-файла и две ветви разработки содержат следующее число изменений:

Так что — да, в настоящее время наша цель состоит не в том, чтобы сделать игру быстрее. Мы стремимся, чтобы всё работало также как и раньше, но уже на более удобоваримом коде.

В последний раз я насчитал не меньше 20 программистов в Mojang. Вы показали порядка 90 000 изменений за 57 дней. Это, грубо говоря, порядка 79 изменений на человека в день. Простите, но это очень жалкое оправдание.

В настоящее время у нас 5 человек работает над кодом Minecraft Java, и эти две ветви были сделаны двоими из них. Да, в офисе у нас гораздо больше людей, а ещё больше есть в Майкрософте. Но только часть из них работает на Minecraft Java.

И некоторые внутренние изменения, которые произойдут в 1.13, приблизят реализацию этих задач.

Грустно видеть, как изменилось соотношение версий Java и Bedrock.

Ага, над Bedrock’ом работает больше 40 разработчиков.

Вообще, сейчас у нас больше людей работает на Java-версией, чем это было годами ранее и нам всё ещё есть над чем работать. Да, Microsoft сосредоточен на Bedrock, но команда занимающаяся обновлениями Java никуда не делась!

Where do people get performance from, that is not the goal other than at minimum keeping it the same!

Источник

Туториал Оптимизация Сервера Minecraft | by Rgferg1 2020-09-13

Добрый вечер, пользователи. Каждый сталкивался с такой проблемой, что тормозит сервер. При таких условиях будет низкий TPS.

Что такое TPS?
TPS (Ticks per Second)
— это число тактов за секунду. Чем более высокий данный показатель, тем большая производительность сервера. В норме показатель 20.0. TPS может существенно снижаться в случае значительной нагрузки на сервер. И в консоль выводятся такие строчки: [Server thread/WARN]: Can’t keep up! Is the server overloaded? Running 9999ms or 9999 ticks behind

Чтобы посмотреть значение TPS введите команду: /tps

YAML:
#CoreProtect Config

# If enabled, extra data is displayed when doing rollbacks and restores.
# If disabled, you can manually trigger it in-game by adding «#verbose»
# to the end of your rollback statement.
verbose: true

# MySQL is optional and not required.
# If you prefer to use MySQL, enable the following and fill out the fields.
use-mysql: false
table-prefix: СВОИ ДАННЫЕ
mysql-host: СВОИ ДАННЫЕ
mysql-port: СВОИ ДАННЫЕ
mysql-database: СВОИ ДАННЫЕ
mysql-username: СВОИ ДАННЫЕ
mysql-password: СВОИ ДАННЫЕ

# If enabled, CoreProtect will check for updates when your server starts up.
# If an update is available, you’ll be notified via your server console.
check-updates: true

# If enabled, other plugins will be able to utilize the CoreProtect API.
api-enabled: true

# If no radius is specified in a rollback or restore, this value will be
# used as the radius. Set to «0» to disable automatically adding a radius.
default-radius: 10

# The maximum radius that can be used in a command. Set to «0» to disable.
# To run a rollback or restore without a radius, you can use «r:#global».
max-radius: 100

# If enabled, items taken from containers (etc) will be included in rollbacks.
rollback-items: true

# If enabled, entities, such as killed animals, will be included in rollbacks.
rollback-entities: true

# If enabled, generic data, like zombies burning in daylight, won’t be logged.
skip-generic-data: true

# Logs blocks placed by players.
block-place: true

# Logs blocks broken by players.
block-break: true

# Logs blocks that break off of other blocks; for example, a sign or torch
# falling off of a dirt block that a player breaks. This is required for
# beds/doors to properly rollback.
natural-break: true

# Properly track block movement, such as sand or gravel falling.
block-movement: true

# Properly track blocks moved by pistons.
pistons: true

# Logs blocks that burn up in a fire.
block-burn: true

# Logs when a block naturally ignites, such as from fire spreading.
block-ignite: true

# Logs explosions, such as TNT and Creepers.
explosions: true

# Track when an entity changes a block, such as an Enderman destroying blocks.
entity-change: true

# Logs killed entities, such as killed cows and enderman.
entity-kills: false

# Logs text on signs. If disabled, signs will be blank when rolled back.
sign-text: false

# Logs lava and water sources placed/removed by players who are using buckets.
buckets: true

# Logs natural tree leaf decay.
leaf-decay: true

# Logs tree growth. Trees are linked to the player who planted the sappling.
tree-growth: true

# Logs mushroom growth.
mushroom-growth: true

# Logs natural vine growth.
vine-growth: true

# Logs when portals such as Nether portals generate naturally.
portals: true

# Logs water flow. If water destroys other blocks, such as torches,
# this allows it to be properly rolled back.
water-flow: true

# Logs lava flow. If lava destroys other blocks, such as torches,
# this allows it to be properly rolled back.
lava-flow: true

# Allows liquid to be properly tracked and linked to players.
# For example, if a player places water which flows and destroys torches,
# it can all be properly restored by rolling back that single player.
liquid-tracking: true

# Track item transactions, such as when a player takes items from a
# chest, furnace, or dispenser. Necessary for any item based rollbacks.
item-transactions: true

# Track player interactions, such as when a player opens a door, presses
# a button, or opens a chest. Player interactions can’t be rolled back.
player-interactions: true

# Logs messages that players send in the chat.
player-messages: false

# Logs all commands used by players.
player-commands: false

# Logs the logins and logouts of players.
player-sessions: false

# Logs when a player changes their Minecraft username.
username-changes: false

# Logs changes made via the plugin «WorldEdit» if it’s in use on your server.
worldedit: true
# CoreProtect is donationware. Obtain a donation key from coreprotect.net/donate/
donation-key:

# Logs items dropped by players.
item-drops: true

# Logs items picked up by players.
item-pickups: true

# Track all hopper transactions, such as when a hopper removes items from a
# chest, furnace, or dispenser.
hopper-transactions: false

Также у этого плагина бывают проблемы с базой данной. Если что-то пойдет не так, то ваш ТПС упадет то 0.60. И ваш сервер просто зависнет. Такое было у меня.

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

С помощью плагина MFM, вы можете регулировать спавн и число мобов.

Спавн мобов лучше настроить в bukkit.yml, spigot.yml

ФИКСЫ
Один из игроков может сидеть с чит клиента. И посылать слишком много пакетов, что заставит сервер тормозит а в скоре и положить его. Также пользование предметов с 1000 лвл может тоже замедлять работу сервера. Есть фиксы на это. Ниже.

Ссылки не предоставил, ищите сами. Google.com и Yandex.ru, может попозже залью.

Совет: На свой выбор. Некоторые плагины могут конфликтовать с друг другом. Не ставьте их всех подряд.

Источник

Adblock
detector