Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на рынок

    Там вы можете продать или купить
    Всё что касается игровых серверов

Вопрос

Добрый вечер.

 

Как можно определить, что в сборке занижает фпс? Каие скрипты, например. Бывает такое, что в определенное время фпс низкий, а чуть позже высокий, онлайн человек 12-18.

 

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


  • 0

Факторов очень много, нужно больше информации, в плоть какие скрипты, люди чужие играют или свои, логи приложи, что бы хоть малейшее представление иметь что тебе советовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Факторов очень много, нужно больше информации, в плоть какие скрипты, люди чужие играют или свои, логи приложи, что бы хоть малейшее представление иметь что тебе советовать

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

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

Тем более, нужно больше информации

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

1.  Смотри циклы 

 

while(true) do {...};
 

2. Очистка трупов (зомби,игроков,взорванной техники...) - чем чаще очищается - тем лучше FPS у сервера.

 

3. Как уже говорил Ultima - присвоение переменных такого типа

 

player setVariable ["cashMoney",_cash,true]; // true - отвечает за отправку переменной всем игрокам
 

Везде это явление убрать не получиться, по возможности.

 

4. Замена PublicVariable (отправить всем клиентам) на PublicVariableClient (отправка одному, определенному клиенту)

 

5. Сделать реже обновление игрока в БД (либо увеличить время между обновлениями, либо обновлять только при необходимости)

 

6. Максимальное упрощение скриптов - чем проще скрипт, тем быстрее он срабатывает, сюда можно отнести:

 

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

7. Очистка заброшенного транспорта

 

8. Использование виртуального гаража

 

9. Меньшее количество объектов на торговых городах

 

10. Ограничение максимально допустимого количества построек

 

11. Использование для миссий безголового клиента

 

В принципе продолжать можно очень долго, но основные параметры, как я считаю, описаны выше в этом сообщении.

Изменено пользователем Windows (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: NoNameUltima
      Автор: NoNameUltima
      v R3
      Стоимость: 7500
       
      Мод предоставляется в нескольких частях:
      Со стима:
      Клиентский мод со стима Ultima(для игроков). Ключи и подписи, присутствуют.   Клиентский мод со стима UltimaClientAdmin(для игроков). Ключи и подписи, присутствуют.   Клиентский мод для Вашего сервера! Данный мод необходимо будет переименовать(в любое имя - это Ваш мод, модифицирующий конфиг). Необходимо будет создать к нему ключи и подписи, и выложить от себя в стим. Ссылку на данный мод вы и выкладываете в стим. Серверные мод(только для сервера). Кол-во: 2. *Моды связанны между собой.
       
      Что присутствует:
      Стартовое меню:
      Добавлена ссылка на группу в ВК. Добавлена ссылка на Дискорд. Добавлен выбор для прямого захода на Ваши сервера!(возможно добавление множества серверов в одно меню). Добавлен логотип. Добавлен экран(картинка) загрузки. Добавлен экран(картинка) возрождения\захода на сервер. *Все описанные выше параметры настраиваются под Ваш сервер! Дебаг монитор:
      Донат Наличные Банк Убито людей Убито зомби Фракция Репутация Игроков онлайн ФПС Время старта миссии Время до рестарта Собственная валюта:
      Можно забрать из трупа по экшену мышки(обыскать карманы) Можно положить в банк(Размер банковской ячейки - настраивается). Можно перевести другому игроку Можно совершать покупки *Валюта виртуальная. Безопасные зоны:
      Удалены зомби из безопасных зон Удалены волки из безопасных зон Отключен урон по игрокам внутри безопасных зон Нельзя перейти в боевой режим внутри безопасных зон Отображение имен игроков внутри торговых зон Оповещение при входе Оповещение при выходе Торговые зоны:
      Над торговцами присутствует надпись(чем торгует) Взаимодействие с торговцами через экшен мышки(торговля) Зона запрета строительства:
      Нельзя строить. Торговля:
      Торговля может быть настроена на определенную фракцию При продаже учитывается процент повреждения объекта, и торговец даст за него сумму с учетом повреждений! Владельцем техники считается тот игрок, кто последний сидел за рулем, и именно она и  отображается в продаже. Продаваемая техника должна быть в пределах 10м от игрока. При покупке техники, ключ выдается автоматически. Нельзя продать технику если в ней кто то находится. Нельзя вести торговлю находясь внутри техники. При продаже объекта, весь инвентарь, в т.ч. и обвес который находился внутри объекта(к примеру рюкзака, или техники), будет автоматически сложен под ноги. Есть возможность создать "бродячего" торговца. - Файл с конфигурацией прилагается.( Настраивается время перемещения, и список случайных позиции для торговца) Техника:
      Есть возможность привязать технику к ключу, предварительно купив его у торговца. Есть возможность закрывать технику на ключ. Владельцем техники считается тот, кто последним сидел за рулем. После рестарта, вся техника которая привязана к ключам создается закрытой. Карта:
      Добавлена карта для игроков, открытие на CTRL+M Установка маркера на карту Дабл.клик ЛКМ.(Будет отображен и в ESP)*При наличии компаса в инвентаре Удаление маркера с карты Дабл клик ПКМ.*при наличии компаса в инвентаре Отображение азимута при наличии компаса в инвентаре. Монитор возрождения:
      Добавлены точки для выбора места возрождения. Оповещения о смертях:
      Отдельное уведомление в окошке. Стартовый инвентарь:
      Есть возможность выдавать инвентарь как по UID, при чем случайным образом из списка доступных для данного UID'а. Игроки для которых не создан конфиг инвентаря, получают его из общего конфига. В конфиге можно указать одежду, вещи которые будут помещены в руки, вещи которые будут помещены горячие слоты, а так же есть возможность добавлять вещи сразу в комплектации(т.е. с обвесом, батарейками и т.п.) Репутация:
      При смерти с игрока снимается 200 репутации(до 0 в +-). т.е. Пример:
      Было +450, станет +250.
      Было -300, станет -100.
      Было +90, станет 0.
      Было -150, станет 0.
      За убийство игрока, репутация начисляется по 150 таким образом: Если с убитого снято менее 200 репутации(см. пример выше), то начисления нет! Если убийца был с отрицательной репутацией, то начисление идет в минус. Пример:
      Было -100, станет -250
      *Не играет роли, какая репутация была у убитого.
      Если убийца был с положительной репутацией, а убитый с отрицательной, то +150 Пример:
      Было 100, станет 250
      Если убийца был с положительной репутацией, и убитый с положительной , то -150 Пример:
      Было 100, станет -50
      Было 1000, станет 850
      Стартовые позиции игроков:
      Есть возможность возрождать игрока на точках прописанных специально под его UID, при чем случайным образом из списка доступных для данного UID'а. Игроки для которых не создан конфиг возрождения, возрождаются из общего конфига. Журналы:
      Торговля Посадка\Высадка в\из технику(и) Установка\деммонтаж(стройка) Смерти игроков АДМИНКА (ВКЛЮЧЕНА В МОД):
      Все пункты описывать не буду, - могу сказать только то, что все работает, и множество пунктов, такие как выдача наличных, смена фракции и т.п. сделанны специально под модификацию. СЕРВЕРНЫЕ МОДЫ:
      Настраиваются под Ваш сервер, и имею богатый функционал. доп. процедуры и функции.  
       
      В остальном смотрите видео по ссылке:
      *В данный момент, сервер с данным модом работает по адресам:
       
      185.247.140.7:2312
      *Версия R2
      **Для входа необходим мод сервера
      https://steamcommunity.com/sharedfiles/filedetails/?id=1735075579
       
      109.68.189.18:2902
      *Версия R1
      **Для входа необходим мод сервера
      https://steamcommunity.com/sharedfiles/filedetails/?id=1860242928&searchtext=ru111&insideModal=0&requirelogin=1
       
      skype: hf-trade
      discord: https://discord.gg/T9YAJDm
       
      P.S. Обновления платные, если они вносят доп. функционал(для тех кто приобретал мод ранее: 25% от общей стоимости, до актуальной версии).
      P.S.P.S. Весь функционал является БЕТА-ВЕРСИЕЙ!
    • Автор: 123new
      В данной теме я распишу возможность создания серверного мода для сервера на свобственном примере и объясню как его собрать.Работающий на момент публикации статьи на версии сервера игры 1.4.152050.
       
      Нам понадобятся:
      1. Сервер игры актуальной версии, не ниже патча 1.04. Как установить можно узнать тут:
      До версии 1.04 параметра servermod у сервера игры не существовало!!!
      2. Программа 'PBO manager' с состава инструментария армы из сети: https://www.armaholic.com/page.php?id=16369
      Зеркало: https://yadi.sk/d/_gmzoNSDpNJTt
      Еще зеркало:
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      4. Notepad++ https://notepad-plus-plus.org/download P.S. Вместо 'PBO manager' можно использовать DayZ Tools, но как им пользоваться разбираемся сами ;)
       
      И так, приступим:
      1. Предположим, что у нас имеется свой некий набор скриптов, который необходимо добавить серверу, но не на уровне миссии сервера, а на более ранних уровнях его загрузки. Например, добавить свой killfeed, модифицировать или изменить какой-либо из родных скриптов сервера игры, либо вовсе модификации, подключенной у вас.
      Для примера в этой теме и данного гайда я взял вот этот набор скриптов, собранный непосредственно для данной темы за 5 минут, и не изменяющий в сервере ровным счетом ничего. Он может послужить базой для создания своих модов, функций, переменных или классов. Данный гайд будем описывать, исходя из этого архива.
      Архив:
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      2. Создаем папку с нашим модом. Для примера, это будет папка '@My_Server_Mod'. В созданной нами папке создаем папку 'Addons', а в ней папку 'My_Server_Mod'.
      3. Помещаем содержимое распакованного архива в папку 'My_Server_Mod'. Должно получиться так:

      4. В папке 'My_Server_Mod' создаем файлик 'config.cpp' и заполняем его следующими данными (советую использовать Notepad++ для этого):
      class CfgPatches // требуется обязательно { class My_Server_Mod // требуется обязательно, совпадает с именем мода { units[]={}; // may be not worked weapons[]={}; // may be not worked requiredVersion=0.1; // may be not worked requiredAddons[]={}; /* requiredAddons[]= { "DZ_Data", // Перечисляем требуемые и используемые модом аддоны (pbo-файлы игры и модов по их внутренним скриптовым именам) }; */ }; }; class CfgMods // // требуется обязательно, совпадает с именем мода { // https://community.bistudio.com/wiki/DayZ:Modding_Structure#Mod_presentation class My_Server_Mod { dir = "My_Server_Mod"; // Имя папки мода, совпадает с именем мода picture = ""; // Картинка в описании мода action = ""; // Ссылка, например вот так: action = "https://dayz.com/"; hideName = 1; // Не уверен, что этот параметр работает hidePicture = 1; // Не уверен, что этот параметр работает name = "My_Server_Mod"; // Имя мода (а также его внутреннее скриптовое имя) logoSmall = "Mods/TestMod/modlogosmall.tga"; // значок рядом с именем мода, если описание не развернуто logo = "Mods/TestMod/modlogo.tga"; // логотип под меню игры logoOver = "Mods/TestMod/modlogohover.tga"; // при наведении курсора мыши на логотип tooltip = "tooltip"; // подсказка при наведении курсора мыши overview = "My Server Mod"; // Описание credits = "123new"; // credits author = "123new"; // author authorID = "0"; // author steam ID version = "1.0"; // version extra = 0; // Не уверен, что этот параметр работает type = "mod"; // требуется обязательно, остается неизменным // inputs = "mods\testmod\inputs\my_new_inputs.xml"; // необязательно, при использовании пользовательских inputs dependencies[]={"Core","GameLib","Game","World","Mission"}; // необязательно, если необходимо установить зависимость класса class defs { class engineScriptModule { value=""; // если значение пустое, используется функция ввода по умолчанию files[]={"My_Server_Mod/scripts/1_Core"}; // вы можете добавить любое количество файлов или каталогов, и они будут скомпилированы вместе с оригинальными скриптами игрового модуля }; class gameLibScriptModule { value=""; files[]={"My_Server_Mod/scripts/2_GameLib"}; }; class gameScriptModule { //value="CreateGameMod"; // когда значение заполнено, имя функции ввода модуля скрипта по умолчанию перезаписывается им value = ""; files[]={"My_Server_Mod/scripts/3_Game"}; }; class worldScriptModule { value=""; files[]={"My_Server_Mod/scripts/4_World"}; }; class missionScriptModule { value=""; files[]={"My_Server_Mod/scripts/5_Mission"}; }; }; // Если какой-то из разделов скриптинга вам не нужен и вы не сибираетесь его паковать, сотрите необходимый блок с ним выше и в массиве dependencies }; }; Пояснения в файле оставил. Файл готовый:
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Как видите, в 'deffs' названия классов и путей соответствуют родным из 'scripts.pbo', но с допиской имени мода. Имя мода в данном случае и есть идентификатор для обращения к своему моду извне. А в 'dependencies' перечисляются используемые классы оригинальных скриптов без дописки номера секции. Количество используемых 'dependencies' и блоков 'deffs' должно быть идентично.
      Пояснения есть также и в официальной документации от разработчика: https://community.bistudio.com/wiki/DayZ:Modding_Structure#Mod_presentation
      5. Запаковываем нашу папку 'My_Server_Mod' в pbo-файл 'My_Server_Mod.pbo' через 'PBO manager', как на скриншоте ниже:

      Можно использовать и другие способы запаковки, если знаете их или привычны вам.
      6. Добавляем в параметры запуска сервера параметр:
      "-servermod=@My_Server_Mod;" -FilePatching 7. Радуемся, наш серверный мод готов. Пример готового серверного мода:
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      P.S. Создавать bikey файл для мода и bisign подписи для него не требуется, иначе это может привести к неработоспособности серверной модификации (возможно, недоработка сервера игры разработчиком)
       
      Отмечу сразу, что данный способ подходит для модификации и переписывания оригинальных классов скриптов сервера от разработчиков и модификации чужих модов с помощью моддинга, применяется исключительно на стороне сервера игры и клиент игры не затрагивает. Распространять такой мод игрокам НЕ НУЖНО!
      Изменение оригинальных скриптов, для которых не предусмотрена операция 'modded class' в движке игры, а также классов и функций, которые защищены языком и движком игры от такого рода действий через серверные моды не получится. Если вы столкнулись с этим, вам проще распаковать scripts.pbo и поместить папку scripts в корень сервера игры, добавить в параметры запуска сервера параметр -FilePatching и изменять напрямую в папке необходимые вам файлы. (правда из-за ошибки разработчиков на патче 1.04 данный метод не работает корректно)
       
      P.P.S. Процедура создания своего собственного клиент-серверного мода на основе скриптов работает таким же образом. В случае создания такого мода, файл 'config.cpp' может быть для стандартного мода более разнообразным, а также после требуется обязательная подпись такого мода в bisign и создание bikey файлов. Более подробно это освещать требуется отдельно!
    • Автор: Sparco37rus
      В общем когда ничего не делаю фпс около 60-70, но как только начинаю что-то пробовать скрафтить, или построить, то фпс просаживается до 20 и так держится, пока не перезайду на серв. Сервер чистый. С чем может быть связано?
    • Автор: HellBoy
      Всем привет.
      Краткая пред история. Сидел я на ВДС I7-6700, если выражаться абсолютными цифрами, Эверест по производительности показывает 24054. Серверный фпс, при пустом сервере 50. при онлайне 29-35 варьируется 5-8. Решили сменить хост. Взяли выделенку. I7-6700. Тот же эверест показывает 25939. Так как это выделенка, логично предположить увеличение серверного фпс. На практике, имеем это.... Пустой сервер - максимальный фпс 45,5 (даже при пустой бд), против 50 на ВДС. С онлайном 20-35 варьируется от 3х до 6. Явная потеря производительности. Возникает вопрос. что так повлияло на серверный фпс при старте?. Долго думать не стал, подумал что гонит хост и решил вернуться на предыдущий хост. т.е ВДС. Беру тот же конфиг, заливаю сборку и то го фпс, который был до переустановки винды - не вижу. те же 45фпс как и на выделенке. После этого начались поиски.... переустановка 4х разных Виндовс. 1я, та, которая стояла изначально (7ка). Затем, виндовс сервер 12,16, видновс 10, переустановка разных версий библиотек. драйверов, Клиент, с локального, тестового компьютера перекидывал, (Где при тестах, стартовый фпс 50), Разные версии XAMP, в общем все возможное, на мой взгляд, сделано. прошу помощи, может кто посоветует, что я мог пропустить. Да и в принципе, 3 года поднимаю сервера, всегда схема работала. что могло обновиться что произошло снижение, именно фпс на пустом сервере. разбирать фпс под нагрузкой без понимания,смысла нет.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
         Эверест на ВДС I7 6700
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       ФПС на пустом сервере
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       ФПС с онлайном
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Эверест на Выделенке I7 6700 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      ФПС на пустом сервере (выделенка)
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       Онлайн на выделенке
    • Автор: BlackStalker
      Здравствуйте форумчане!
      Хотелось бы узнать какими способами можно повысить серверный фпс
      Знаю есть подобные темы. Но хотелось бы узнать как можно повысить серверный фпс кроме правки скриптов.
      Вот мой basic.cfg


      И init.sqf

       
×
×
  • Создать...