VK.com Discord Скачать Rust пиратка
Вопросы и ответы по клиенту
  • Главная
  • Магазин Плагинов
  • ru en de fr pt es it zh ar nl sv
Панель игрока
[group=5]
Забыли пароль? | Регистрация
  • О Rust 16
  • Настройка пк win 10 4
  • Полезное Андроид 2
  • Полезное Хостинг Настройки 8
  • Криминал 1
  • Спорт 0
  • Культура 0
  • Инопресса 0
подробнее...
” нас есть много разных серверов!
¬ нашем штате администрации есть люди, занимающиес¤ серверами rust не один год, каждый
из которых имеет крупные проекты - это даст безупречную работу игровых серверов и сайта.
подробнее...
” нас есть много разных серверов!
¬ нашем штате администрации есть люди, занимающиес¤ серверами rust не один год, каждый
из которых имеет крупные проекты - это даст безупречную работу игровых серверов и сайта.
подробнее...
” нас есть много разных серверов!
¬ нашем штате администрации есть люди, занимающиес¤ серверами Rust не один год, каждый
из которых имеет крупные проекты - это даст безупречную работу игровых серверов и сайта.
подробнее...
” нас есть много разных серверов!
¬ нашем штате администрации есть люди, занимающиес¤ серверами Rust не один год, каждый
из которых имеет крупные проекты - это даст безупречную работу игровых серверов и сайта.

Сервер раст ошибки консоли лаги фризы откидывает назад.

Решение проблемы если сервер раст лагает фризы откидывает назад просадка fps и в конце просто невозможно подключиться идет вечное соединение с сервером rust тут два плагина внизу которые нашол. 

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

"Корректное" удаление Item это означает что после очистки контейнера нужно выполнить в плагине

C#:

ItemManager.DoRemoves();

DoRemoves - удаляет остатки Item, в том числе HeldEntity Item`а в default позиции.

Если не выполнять DoRemoves то Item удалится не полностью и HeldEntity останется в default позиции тем самым увеличивая количество Entity на сервере и нагружая сервер.

Данной проблемой пестрят всякие кривые редакторы лута/контейнеров/NPC.

DoRemoves это статический метод в классе ItemManager. Но не в коем случае не в классе Item.

Скорее всего это и есть причина - можно подробнее узнать как принудительно очистить ? потому что ентити растет с геометрической прогрессией =)

Надо найти плагин подходящий и смотреть код и надо заменить одно значение

Находишь в коде методы вида

C#:

Remove()

или/и

C#:

inventory.itemList.Clear()

или/и

C#:

inventory.Clear()

И после них добавляешь

C#:

ItemManager.DoRemoves();

Главное, не надо добавлять DoRemoves в циклах, только хуже будет.

Проанализировав код и добавь его в нужных местах :)

C#:

ItemManager.DoRemoves();

Значит надо найти подходящий плагин и переписать пару строки найти там item.Remove() и меняешь на item.DoRemove()

DoRemoves это статический метод в классе ItemManager. Но не в коем случае не в классе Item.

Я не спорю что есть метод

C#:

Item.Remove()

Но он динамический ( т.е. применим только к определенной Item ).

C#:

ItemManager.DoRemoves();

Же статический метод и по факту можно считать его "Сборщиком мусора" для Item.

Т.е. он удаляет HeldEntity для Item у которых оно есть ( это те Item которые мы держим в руках ( не путать с теми которые мы устанавливаем ) ) которая как раз и находится в Vector3(0, 0, 0) и которая не удаляется простым

C#:

Item.Remove()

Выше это прочитав и перебрав страниц 200 на форумах целый день в поисках, в общем голова разболелась, выше вам этот бред не нужен читать так просто заметку для себя выписал😂

Полазив на форумах целый день прочитав 200 страниц наткнулся на два интересных плагина

первый плагин Dropped Item Monitor - это плагин, который был создан для повышения производительности сервера за счет управления сброшенными элементами. Dropped Item Monitor сканирует сброшенные элементы каждые X секунд, заданных в конфиге, и смотрит, не превысил ли элемент желаемый лимит, который вы установили в конфиге. С помощью этого плагина он будет уведомлять в консоли сервера, когда он сканирует элемент, превышающий лимит, и затем установит удаление элементов в течение X секунд.

ссылка на дропед монитор:

https://oxide-russia.ru/resources/3974/

тоже поставил он автоматом через n времени очищает мусор.

Второй ручками двумя командами через rcon консоль запросами

Item Leak - ваш личный уборщик сервера!

Данный плагин выполняет одну функцию - Убирает лишний мусор с карты ( так называемые entity которые засоряют вам RAM вашего сервера).

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

Данный плагин решил для меня эту проблему,надеюсь пригодится и вам.

P.s Команды прописывать желательно перед рестартом сервера.

Только консоль/RCON

scan - выводит данные всех entity без ,,родителей,,

removeleak - удалить все не нужные entity

ссылка на итем леак 

https://oxide-russia.ru/resources/3807/

этот мне больше понравился все видно что он делает

в нем две команды управления ручками,

чтобы поставить отправку команд серверу по времени автоматом можно использовать этот плагин ссылка ниже

https://umod.org/plugins/timed-execute

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

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

подвел итог при лагах сервера что может быть

1 конфликт плагинов

2 глюки плагина надо обновить

3 item мусор на карте в точке 0.0.0 или по карте где еще есть разные плагины по способам уборки купил два плагина интересных рабочих все вычистил, ссылка на них вверху так как броккеритемклинер который был больне не работает

4 строительные блоки где лагают надо очистить за пределами шкафа все

5 животные где то лагают можно попробовать интелект у них вырубить

6 в итоге еще узнал что кастомная карта у меня опять обновилась там какието баги на ней

фиксили, так как сделали на быструю руку в связи новым обновлением карго который в порт заходит

7 хотел исправить все без вайпа, но в итоге обновил карту на новую сделал вайп.

8 может кому другой способ поможет еще но это не в моем случае у одного фризы начинались когда плагин скинов подзагрузку делал.Он убрал лаги и фризы отключением загрузки workshop skins в конфиге плагина скинов на сервере, что освободит оперативную память и повысить FPS. но это не мой вариант, хотя если опять заглючит, тоже попробую.

Вот еще плагин для проверки на хуки по нагрузки плагинов на сервер pluginstime

https://oxide-russia.ru/resources/657/

полезная штука

и монитор производительности плагинов

https://umod.org/plugins/performance-monitor

эти два плагина сильно облегчат поиск плохих плагинов

может выше описаное вам как то поможет с лагами сервера и даст правильную наводку куда копать а причин может миллион. это же раст.


Рекомендации по улучшению стабильности работы сервера

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

Ниже приведены примеры (причины) падания сервера.

  • DDoS атаки, эксплоиты
  • Битая карта
  • Конфликты плагинов
  • Ошибки в работе плагинов
  • Взлом аккаунта, подбор RCON пароля
  • Проблемы в параметрах запуска сервера
  • Ошибки в коде самого сервера

DDoS атаки, эксплоиты

  • Во время атаки сервер становится недоступным для подключения игроков и программ управления (если DDoS-защита не смогла сдержать атаку). Также сервер не управляем в панели, не отображается его статус и не работает фтп. Фактически ваш сервер, и другие сервера на этой же физической машине (тот же IP-адрес), которую атакуют, запущен и работает исправно, просто к нему нету доступа. Чтобы доступ к серверу возобновился, остаётся только ждать завершения атаки, также возможно приобрести более надёжную защиту от DDoS-атак, если это целесообразно для вашего сервера и если хостинг предоставляет такую услугу.
  • Также почти всегда сервера имеют уязвимости (експлоиты). Это обычные ошибки или недоработки в коде сервера, которые допускают разработчики при написании кода. Людям свойственно допускать ошибки, код пишут не роботы 😉
    Учтите что 100% защиты от атак и експлоитов нет, как и на любом другом хостинге. Так как есть эксплоиты от которых нет защиты абсолютно ни у кого, и на любую защиту от атаки будет более сильная или умная атака.

Отсутствие ошибок в работе плагинов

  • Вычислить плагины, которые являются причиной сбоев в работе сервера иногда нелегко. Сервера падают не записывая в лог причину падений, крашлоги также не создаются. Остаётся только положиться на логи мода Umod или лог консоли во время поиска проблемы.

Конфликт плагинов

  • Есть много плагинов, у которых предназначение одно и тоже. Первый плагин не дает сделать свое предназначение и наоборот, отсюда конфликт — падение производительности, спам ошибок в консоль или падение сервера. Пример: допустим если установить две системы бана или даже 3 системы бана, или несколько систем управления лутом. Может вам смешно. Но у некотрых “пользователей” такое есть.
  • Чтобы избежать падений по этой причине нужно выключать по одному или по несколько плагинов, которые делают схожую работу и смотреть за дальнейшей работой сервера.
  • Посмотрите в лог-файлы на наличие ошибок. Зайдя туда вы может увидить примерно это:[Oxide] 10:32 [Warning] Calling hook OnNpcPlayerTarget resulted in a conflict between the following plugins: PluginName1 - True (Boolean), PluginName2 (False (Boolean))
  • Это значит что два плагина PluginName1 и PluginName2 используют один и тот же хук OnNpcPlayerTarget, из-за этого и конфликтуют. Рекомендуется удалить один из плагинов.
  • Синтаксические ошибки: последствия

Некоторые ошибки

  • Наиболее часто ошибки в плагинах возникают после обновлений серверной части игры.
  • Некоторые ошибки могут привести даже к вайпу сервера.
  • Поэтому почаще проверяйте консоль сервера после выхода обновлений.
  • Например, вы можете увидеть ошибку, которая значит что плагин не может вызвать определённый хук:Failed to call hook 'cmdChatKit' on plugin 'Kits v3.2.92' (NullReferenceException: Object reference not set to an instance of an object) at Oxide.Plugins.Kits+UI.LoadImage (Oxide.Game.Rust.Cui.CuiElementContainer& container, System.String panel, System.String img, System.String aMin, System.String aMax) [0x00000] in <352363b6d81c4b49b427dd152ad72244>:0
    at Oxide.Plugins.Kits.CreateKitEntry (BasePlayer player, Oxide.Game.Rust.Cui.CuiElementContainer& element, System.String panel, System.Single[] pos, System.String entry) [0x0011b] in <352363b6d81c4b49b427dd152ad72244>:0
    at Oxide.Plugins.Kits.RefreshKitPanel (BasePlayer player, System.UInt64 guiId, System.Int32 page) [0x001de] in <352363b6d81c4b49b427dd152ad72244>:0
    at Oxide.Plugins.Kits.NewKitPanel (BasePlayer player, System.UInt64 guiId) [0x00022] in <352363b6d81c4b49b427dd152ad72244>:0
    at Oxide.Plugins.Kits.cmdChatKit (BasePlayer player, System.String command, System.String[] args) [0x0001a] in <352363b6d81c4b49b427dd152ad72244>:0
    at Oxide.Plugins.Kits.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x0102a] in <352363b6d81c4b49b427dd152ad72244>:0
    at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in :0
    at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in :0
    at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in :0
  • Для исправления ошибки нужно перезалить обновлённую или исправленную версию плагина.
  • Или простая, но очень распространённая ошибка у новичков администраторов, возникает при загрузке плагина на сервер:Plugin filename PluginName (2).cs must match the main class BGrade (should be PluginName.cs)
  • Причина возникновения ошибки, как и её решение очень простое. Она возникает в случае повторного скачивания уже скачанного плагина, в результате этого браузер назвал плагин PluginName (2).cs. Но сервер принимает только оригинальные названия плагинов, отсюда и ошибка, решить которую можно просто переименовав плагин в оригинальному названию.
  • Ещё одна ошибка которая указывает на то что плагину для работы не получает всех данных от конфигов. Точнее не найден ключ в конфигурациооных файлах.[Oxide] 13:17 [Error] Failed to call hook 'ViewBank' on plugin 'Bank v1.0.2' (KeyNotFoundException: The given key was not present in the dictionary.)
    at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in :0
  • Ошибка возникает когда происходит несоответствие версии плагина и конфига, если для установки новой версии плагина требовалось удалить старый конфиг.
  • Очень часто на серверах падает фпс и общая производительность. Причиной этому может быть спам ошибки NullReferenceException. Это очень серьёзная ошибка, так как при спаме сообщений в лог сервера размер лога может достигать десятков гигабайт (!), что может привести к заполнению всего пространства жесткого диска, и в последствии принудительному вайпу сервера. А учитывая тот факт что большинство администраторов игровых серверов не делают резервные копии сервера, отсюда выводы что из-за ошибки в консоли, вы можете потерять онлайн на сервере по причине незапланированного вайпа.(16:50:16) | NullReferenceException: Object reference not set to an instance of an object
    (16:50:16) | NullReferenceException: Object reference not set to an instance of an object
    (16:50:16) | NullReferenceException: Object reference not set to an instance of an object
    (16:50:16) | NullReferenceException: Object reference not set to an instance of an object
    (16:50:16) | NullReferenceException: Object reference not set to an instance of an object
    (16:50:16) | NullReferenceException: Object reference not set to an instance of an object
    (16:50:16) | NullReferenceException: Object reference not set to an instance of an object
    (16:50:16) | NullReferenceException: Object reference not set to an instance of an object
    (16:50:16) | NullReferenceException: Object reference not set to an instance of an object
    (16:50:16) | NullReferenceException: Object reference not set to an instance of an object

"Битая" карта

  • К сожалению не всегда ошибки попадают в логи. Например, если сгенерировалась “битая” (кривая) карта, или после падения сервера карта сломалась, то во время работы или при смене на неё сервер будет падать.
  • Что делать тогда? Самый верный способ это удалить файл карты, чтобы при следующем запуске сервер сгенерировал её заново. Если это не поможет, тогда можно сменить seed карты, чтобы сгенерировалась совершенно новая карта. Если падения всё ещё возникают, то можно попробовать сделать полный вайп сервера, удалив сохранения.
  • Производительность сервера Rust: как оптимизировать сервер для лучшего игрового процесса

     

    Максимизация производительности сервера Rust: переменные, команды и метрики для владельцев серверов

    Как владелец сервера Rust, вы знаете, что производительность сервера является важнейшим аспектом обеспечения бесперебойной и приятной игры для ваших игроков. Однако оптимизация производительности вашего сервера может оказаться сложной задачей. В этом руководстве мы рассмотрим различные способы повышения производительности вашего сервера Rust, включая команды/команды, регулярное обслуживание и использование инструментов мониторинга, таких как Rust-Server-Metrics.

    Конвары/команды для повышения производительности сервера Rust

    Rust предоставляет различные команды/команды, которые вы можете использовать для настройки производительности вашего сервера. Вот список некоторых из наиболее полезных:

    • fps.limit [значение] — устанавливает ограничение на максимальное количество кадров в секунду, с которым будет работать сервер.
    • entitybatchsize [значение] — устанавливает количество объектов, загружаемых на кадр.
    • gc.interval [значение] — устанавливает временной интервал между циклами сборки мусора.
    • gc.buffercount [значение] — устанавливает количество используемых буферов сборки мусора.
    • gc.unloadingdelay [значение] — устанавливает время задержки между выгрузкой и удалением объектов.
    • распада.upkeep_grief_protection  [значение] – устанавливает время, через которое базы начнут разрушаться после разрушения шкафа с инструментами. Уменьшение этого показателя может ускорить процесс распада неактивных/нападавших баз.
    • распада.duration_toptier [значение] – изменяет время, в течение которого этот уровень объекта существует до того, как он полностью распадется.
    • распада.duration_metal [значение] – изменяет время, в течение которого этот уровень сущности существует до того, как он полностью распадется.
    • распада.duration_stone [значение] – изменяет время, в течение которого этот уровень сущности существует, прежде чем он полностью распадется.
    • распада.duration_wood [значение] – изменяет время, в течение которого этот уровень сущности существует до того, как он полностью разложится.
    • распада.duration_twig [значение] – изменяет время, в течение которого этот уровень сущности существует до того, как он полностью распадется.
    • baseridableanimal.dungtimescale [значение] — изменяет время, в которое животные какают. Уменьшение и отключение этого может немного повысить производительность.
    • Chicken.population [значение] — уменьшение/отключение появления цыплят дает очень минимальный, но полезный прирост производительности за счет меньшего использования ИИ на вашем сервере.
    • Уменьшить количество животных

      Изменение количества животных и существ может значительно повысить производительность в игре, поскольку экономит ресурсы сервера. Например, если вы отключите нерест цыплят, это даст больше возможностей для других действий. Это можно сделать с помощью Chicken.population «0» в консоли.


      Ржавая курица


      Его также можно использовать в игре, если вы являетесь , или в файле конфигурации запуска сервера. По сути, формат команды — [animal].population «[value]» , который можно использовать практически для любого существа, чтобы полностью отключить или снизить скорость его появления.

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

    Регулярное обслуживание производительности сервера Rust

    Регулярное обслуживание вашего сервера Rust имеет решающее значение для обеспечения его бесперебойной работы. Вот несколько советов, которые помогут вам поддерживать производительность вашего сервера:

    • Регулярно перезагружайте сервер, чтобы устранить любые утечки памяти или другие проблемы.
    • Поддерживайте актуальность своих плагинов и модов, чтобы обеспечить совместимость с последней версией Rust.
    • Регулярно отслеживайте производительность вашего сервера, чтобы обнаружить и устранить любые проблемы с производительностью.
    • Используйте разумный размер карты, чтобы предотвратить чрезмерное использование оборудования.

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

    Метрики Rust-Server для производительности Rust Server

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

    Панель управления Grafana для мониторинга показателей сервера Rust

    Чтобы использовать Rust-Server-Metrics, вам необходимо настроить экземпляр Grafana и установить плагин Rust-Server-Metrics. После установки вы можете получить доступ к подробным показателям производительности вашего сервера и отслеживать любые изменения с течением времени.

вот еще немного о лагах

Вернуться назад
О Rust
  • Автор: admin
  • Дата: 22-04-2024, 20:38
  • Просмотров: 2 039
  • Комментариев: 0
Комментарии

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Введите код: *
Кликните на изображение чтобы обновить код, если он неразборчив
  • MobTop.Ru - Рейтинг и статистика мобильных сайтов Яндекс.Метрика Топ-100 Мониторинг игровых серверов - IP-Games.ru Мониторинг игровых серверов - IP-Games.ru