Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
SkeepRyder

Серверный фпс

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

 

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

 

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

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

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

Share this post


Link to post
Share on other sites



  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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

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

Share this post


Link to post
Share on other sites
  • 0

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

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

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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

#monitor

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 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. Использование для миссий безголового клиента

 

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

Edited by Windows (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 123new
      В данной теме я распишу возможность создания серверного мода для сервера на собственном примере и объясню как его собрать.Работающий на момент публикации статьи на версии сервера игры 1.04.152050.
       
      Темы к ознакомлению, связанные с данным материалом:
      https://s-platoon.ru/topic/8701-enscript-uchimsya-osnovam-skriptinga/
      https://s-platoon.ru/topic/8622-enscript-delaem-skript-dlya-moda-i-osnovnye-principy-skriptinga-modov/
       
      Нам понадобятся:
      1. Сервер игры актуальной версии, не ниже патча 1.04. Как установить можно узнать тут:
      До версии 1.04 параметра servermod у сервера игры не существовало!!!
      2. Программа 'PBO manager' с состава инструментария армы из сети: https://www.armaholic.com/page.php?id=16369
      Зеркало: https://yadi.sk/d/_gmzoNSDpNJTt
      Еще зеркало:
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      3. Скрипты для упаковки в наш мод, сформированные и подготовленные нами вручную. Как - смотрите тему
      4. Notepad++ https://notepad-plus-plus.org/download
      P.S. Вместо 'PBO manager' можно использовать DayZ Tools, но как им пользоваться разбираемся сами 😉
       
      И так, приступим:
      1. Предположим, что у нас имеется свой некий набор
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Подробнее о создании скриптов для своих целей - читайте вот эту тему!
      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 и изменять напрямую в папке необходимые вам файлы.Запаковывать назад в pbo папку и размещать в dta в таком случае не нужно!
       
      P.P.S. Процедура создания своего собственного клиент-серверного мода на основе скриптов работает таким же образом. В случае создания такого мода, файл 'config.cpp' может быть для стандартного мода более разнообразным, а также после требуется обязательная подпись такого мода в bisign и создание bikey файлов. Более подробно это освещать требуется отдельно!
    • By Sparco37rus
      В общем когда ничего не делаю фпс около 60-70, но как только начинаю что-то пробовать скрафтить, или построить, то фпс просаживается до 20 и так держится, пока не перезайду на серв. Сервер чистый. С чем может быть связано?
    • By 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 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      ФПС на пустом сервере (выделенка)
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       Онлайн на выделенке
    • By BlackStalker
      Здравствуйте форумчане!
      Хотелось бы узнать какими способами можно повысить серверный фпс
      Знаю есть подобные темы. Но хотелось бы узнать как можно повысить серверный фпс кроме правки скриптов.
      Вот мой basic.cfg


      И init.sqf

       
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.