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

Продаёте или покупаете?

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

Вопрос

Доброго времени суток. Помогите оптимизировать сервер, либо хотя бы подтолкнуть на правильный путь. В чем проблема, я отключил много чего, убрал, поставил нужные мне скрипты. Но, при использовании некоторых функций, скриптов, проседает фпс, и помогает только перезаход на сервер. Допустим, было под 60+, зашел в трейд, просело до 20. Либо при передачи денег, и таких скриптов не мало.

 

1. Какие файлы создают больше всего нагрузку?

2. Какие файлы и как можно оптимизировать?

3. Что можно отключить и где?

 

Любым советам буду рад.

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


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

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

  • 0
4 часа назад, Spunkeed сказал:

Доброго времени суток. Помогите оптимизировать сервер, либо хотя бы подтолкнуть на правильный путь. В чем проблема, я отключил много чего, убрал, поставил нужные мне скрипты. Но, при использовании некоторых функций, скриптов, проседает фпс, и помогает только перезаход на сервер. Допустим, было под 60+, зашел в трейд, просело до 20. Либо при передачи денег, и таких скриптов не мало.

 

1. Какие файлы создают больше всего нагрузку?

2. Какие файлы и как можно оптимизировать?

3. Что можно отключить и где?

 

Любым советам буду рад.

Для начала не плохо было-бы написать какая версия у тебя эпохи и от этого плясать с бубном

Это все под 1.0.6.1 (настройки схожи) но это не точно :joy:

Плохо искал тут все есть на форуме

Большие объекты ТИПА дома и т.д. нагружают зону где их больше(многие обустраивают трейд зоны под себя тем самым делают лишнюю нагрузку на сервер)

спавн количества техники

спавн количества зомби

спавн лута

перечислять можно много, просто оптимизируй под свое железо

Вот тебе STARserver.bat мой

@echo off
start /REALTIME "arma2" /min arma2oaserver.exe -noCB -maxMem=2047 -cpuCount=8 -port=2302 "-config=instance_11_Chernarus\config.cfg" "-cfg=instance_11_Chernarus\basic.cfg" "-profiles=instance_11_Chernarus" -name=instance_11_Chernarus "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;"

по нему сделай свой , у меня название instance_11_Chernarus стандарт не чего не менял

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

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

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


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


  • 0

1) Идем в \MPMissions\DayZ_Epoch_11.Chernarus

открываем файл init.sqf  вот мои настройки все на русском - остальная часть кода тебе не нужна используй notepad++

//Настройки сервера
dayZ_instance = 11; //Instance ID of this server
dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number)

//Настройки игры
dayz_antihack = 0; // DayZ Antihack / 1 = enabled // 0 = disabled
dayz_REsec = 0; // DayZ RE Security / 1 = enabled // 0 = disabled
dayz_enableRules = true; //Включает приятный небольшой канал новостей / правил для входа в аккаунт игрока (не забудьте сохранить списки быстрыми).
dayz_quickSwitch = true; //Включает принудительную анимацию для переключателя оружия. (Горячие клавиши 1,2,3) False = включить анимацию, True = отключить анимацию
dayz_POIs = false; //Добавляет добавление точек интереса (отрицательно влияет на FPS)
dayz_infectiousWaterholes = false; //Случайно добавляет некоторые тела, могилы и затонувшие корабли (отрицательно влияет на FPS)
dayz_ForcefullmoonNights = true; // Ночь с полной луной - светлая, или без луны - темная.
dayz_randomMaxFuelAmount = 50; //Помещает случайное количество топлива во все заправочные станции.

//DayZMod presets
dayz_presets = "Custom"; //"Custom","Classic","Vanilla","Elite"

//Нужно только отредактировать, если вы используете собственный сервер.
if (dayz_presets == "Custom") then {
	dayz_enableGhosting = false; //Enable disable the ghosting system.
	dayz_ghostTimer = 60; //Устанавливает, как долго в секундах игрок должен быть отключен, прежде чем сможет снова войти в систему.
	dayz_spawnselection = 1; //(Chernarus only) Включить выбор спавна 0 = Только случайные спавны, 1 = Выбор спавна на основе ограничений
	dayz_spawncarepkgs_clutterCutter = 2; //0 = Лут скрыт в траве, 1 = Лут поднят, 2 = Без травы
	dayz_spawnCrashSite_clutterCutter = 2;	// Heli crash options 0 = лут скрыт в траве, 1 = лут поднят, 2 = нет травы
	dayz_spawnInfectedSite_clutterCutter = 2; // Инфицированная база spawn 0 = Лут скрыта в траве, 1 = лут поднят, 2 = нет травы
	dayz_bleedingeffect = 2; //1 = Кровь на земле (отрицательно воздействует на FPS), 2 = частичный эффект, 3 = обе
	dayz_OpenTarget_TimerTicks = 60 * 10; //how long can a player be freely attacked for after attacking someone unprovoked
	dayz_nutritionValuesSystem = true; //true, Включает систему питания, false, отключает систему питания.
	dayz_classicBloodBagSystem = true; // Отключить систему типов крови и использовать единственный классический ItemBloodbag
	dayz_enableFlies = false; // Включить мухи на мертвые тела (отрицательно воздействует на FPS).
};

//Настройки температуры
dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies.
dayz_maxGlobalZeds = 333; //Ограничьте общий сервер zeds.
dayz_temperature_override = false; // Установите значение true, чтобы отключить все изменения температуры.

enableRadio false;
enableSentences false;

// EPOCH CONFIG VARIABLES START //
#include "\z\addons\dayz_code\configVariables.sqf" // Не удалять эту строку
// See the above file for a full list including descriptions and default values
// Uncomment the lines below to change the default loadout
//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"];
//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"];
//DefaultBackpack = "DZ_Patrol_Pack_EP1";
//DefaultBackpackItems = []; // Может включать как оружие, так и журналы, т.е. ["PDW_DZ","30Rnd_9x19_UZI"];
dayz_paraSpawn = false; // Спавн с парашютом
DZE_BackpackAntiTheft = true; // Предотвращение кражи из рюкзаков в зонах трейдера
DZE_BuildOnRoads = false; // Можно ли строить на дорогах По умолчанию false.
DZE_PlayerZed = false; // Включить нерест в качестве игрока зомби, когда игроки умирают с зараженным статусом
DZE_R3F_WEIGHT = true; // Включить R3F вес. Игроки, несущие слишком много, будут перегружены и вынуждены двигаться медленно.
DZE_slowZombies = false; // Принуждать зомби всегда ходить
DZE_StaticConstructionCount = 1; // Кол-во анимаций-действий, при разборе и строительстве конструкций.
DZE_GodModeBase = false; // Объекты построенные игроками - базы, не уничтожаются.
DZE_requireplot = 1; // Требуется построить полюс участка  0 = выкл, 1 = вкл
DZE_PlotPole = [60,45];  //  размер территории PlotPole
DZE_BuildingLimit = 600;// Максимальное кол-во разрешенных построек, вокруг PlotPole(базы).
DZE_SelfTransfuse = true; // Самозаливка крови Эпохи
DZE_selfTransfuse_Values = [6000,50,10]; // [Настройка самозаливки крови Эпохи: Сколько крови, шанс заражения, снижение температуры в секундах]
MaxDynamicDebris = 5; // Максимум пораждаемых куч мусора.
MaxVehicleLimit = 50; // Максимум пораждаемой техники.
spawnArea = 500; // Зона возрождения игрока.
spawnShoremode = 0; // Случайные места появления  1 = на берегу, 0 = в любом месте
EpochUseEvents = false; //Включить планировщик событий. Определение пользовательских сценариев в dayz_server \ модулей для запуска по расписанию.
EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];
// EPOCH CONFIG VARIABLES END //

смотри самое основное это:

MaxDynamicDebris = 5; // Максимум порождаемой куч мусора.
MaxVehicleLimit = 50; // Максимум порождаемой техники.

только придется либо взорвать все технику на карте либо удалить из БД все ручками или новую залить

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

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


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

Еще на мола важный аспект является "прямые руки" да да, именно не чего личного, но если скрипт стоит криво и не работает в игре он в холостую может быть задействован сервером(лишняя работа)- это как пилить опилки

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

Дерзай

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


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

Спасибо большое, но это не то, что мне нужно. Мне нужна оптимизация кода, например замена while {1 == 1} do этого, удаление циклов, проверок всяких...

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


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

Спасибо большое, но это не то, что мне нужно. Мне нужна оптимизация кода, например замена while {1 == 1} do этого, удаление циклов, проверок всяких...

как написал так и ответил

 

6 часов назад, Spunkeed сказал:

Доброго времени суток. Помогите оптимизировать сервер, либо хотя бы подтолкнуть на правильный путь. В чем проблема, я отключил много чего, убрал, поставил нужные мне скрипты. Но, при использовании некоторых функций, скриптов, проседает фпс, и помогает только перезаход на сервер. Допустим, было под 60+, зашел в трейд, просело до 20. Либо при передачи денег, и таких скриптов не мало.

 

1. Какие файлы создают больше всего нагрузку?

2. Какие файлы и как можно оптимизировать?

3. Что можно отключить и где?

 

Любым советам буду рад.

Любым советам буду рад

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


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

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

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

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

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

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

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

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

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

Загрузка...

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

    • Автор: DrTauren
      Всем доброго дня 
      В общем-то, мне кажется, что стоит оптимизировать форум немного, а именно - скинуть старые темы в некий архив или как-то уменьшить занимаемое ими "экранное пространство". В общем, проголосуйте какие игры (моды) нужно оставить на самых видных местах, а какие можно убрать в архив, дабы не мешались. 

      P.S. Прошу писать, например, не просто Arma3, а A3: Exile или не DayZ, а Dayz SA/Dayz Epoch 1.0.6
    • Автор: mafan9
      Описание:
      Данный скрипт добавляет HUD в левый нижний угол. В нем вы можете увидеть 5 или 4 предмета (в зависимости от конфигурации) с основным оружием, вашем вторичным оружием, обезболивающим и бинтом, так же используются горячих клавиш которые можно использовать чтобы активировать каждый предмет.
       
       
      Установка:
      На чистый сервер
      1. Скачать архив CUSTOMWEAPONHUD-MASTER.ZIP
      2. Разархивировать скаченный архив
      3. Папки dayz_code и rlnt, а так же файлы description.ext и init.sqf поместить в корень папки миссии
      4. Если у вас не стоит InfiStar, то шаг 4 и 5, если у вас стоит InfiStar, то в файле AHconfig.sqf добавить 7000,7001,7002,7003 в массиве "_ALLOWED_Dialogs"
      5. В файле AT.sqf найдите:
      if(_key == 0x05)then{call admin_fly_up;}; if(_key == 0x06)then{call admin_tpdirection;}; и замените их на:
      if(_key == 0x09)then{call admin_fly_up;}; if(_key == 0x0A)then{call admin_tpdirection;}; Найдите:
      adminadd = adminadd + [" 4 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 5 - TP LookingDirection","","0","1","0","0",[]]; и замените на:
      adminadd = adminadd + [" 8 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 9 - TP LookingDirection","","0","1","0","0",[]]; 6. Вот и все.
       
      На измененный сервер
      1. Скачать архив CUSTOMWEAPONHUD-MASTER.ZIP
      2. Разархивировать скаченный архив
      3. В корне миссии открыть файл init.sqf и найти:
      DZE_selfTransfuse_Values = [12000,15,120]; после этой строки добавить:
      DZE_TwoPrimaries = 2; //Copy this only if you don't have it yet DZE_weaponHUD = true; /* RLNT - WeaponHUD */ Далее найти:
      call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; После добавить:
      call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; call compile preprocessFileLineNumbers "rlnt\client\init\compiles.sqf"; /* RLNT - Relentless */ Далее найти:
      if (isServer) then { if (dayz_POIs && (toLower worldName == "chernarus")) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus\poi\init.sqf";}; call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\dynamic_vehicle.sqf"; call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\server_monitor.sqf"; execVM "\z\addons\dayz_server\traders\chernarus11.sqf"; //Add trader agents //Get the server to setup what waterholes are going to be infected and then broadcast to everyone. if (dayz_infectiousWaterholes && (toLower worldName == "chernarus")) then {execVM "\z\addons\dayz_code\system\mission\chernarus\infectiousWaterholes\init.sqf";}; // Lootable objects from CfgTownGeneratorDefault.hpp if (dayz_townGenerator) then { execVM "\z\addons\dayz_code\system\mission\chernarus\MainLootableObjects.sqf"; }; }; после добавить:
      if (!isServer) then { //RLNT - Relentless execVM "rlnt\scripts\Weapon HUD\weaponhud_init.sqf"; /* RLNT - WeaponHUD */ }; 4. Открыть файл description.ext и найти:
      #include "\z\addons\dayz_code\gui\description.hpp" заменить ее на:
      #include "dayz_code\gui\description.hpp" #include "rlnt\dialogs\rlnt_defines.hpp" /* RLNT - WeaponHUD */ class RscTitles { #include "rlnt\dialogs\rlnt_weaponhud.hpp" /* RLNT - WeaponHUD */ class wm_disp { idd = -1; onLoad = "uiNamespace setVariable ['wm_disp', _this select 0]"; fadein = 0; fadeout = 0; duration = 10e10; controlsBackground[] = {}; objects[] = {}; class controls { class wm_text2 { idc = 1; x = safeZoneX+0.027; y = safeZoneY+safeZoneH-0.16; w = 0.151*safeZoneH; h = 0.057*safeZoneH; shadow = 2; class Attributes { font = "EtelkaNarrowMediumPro"; color = "#24FFFFFF"; align = "left"; valign = "middle"; shadow = 2; }; colorBackground[] = { 1, 0.3, 0, 0 }; font = "EtelkaNarrowMediumPro"; size = 0.06*safeZoneH; type = 13; style = 0; text=""; }; }; }; }; 5. Папки dayz_code и rlnt залить в корень миссии
      6. Если у вас уже используется кастомный файл keyboard.sqf то найдите в нем:
      _rifle = { 2 call dz_fn_switchWeapon; _handled = true; }; _pistol = { 3 call dz_fn_switchWeapon; _handled = true; }; _melee = { // Also works for rifle on back if DZE_TwoPrimaries = 2; 4 call dz_fn_switchWeapon; _handled = true; }; _throwable = { // select next non empty throwable weapon if (vehicle player == player) then { _ammo_throwable = []; _muzzles_throwable = []; _weapon_throwable = []; { _weapon = _x; _muzzles = getArray(configFile >> "cfgWeapons" >> _weapon >> "muzzles"); if (count _muzzles == 0) then { _muzzles = [_weapon ]; }; { _muzz = _x; { if (_x in magazines player) then { _ammo_throwable set [ count _ammo_throwable, getText(configFile >> "cfgMagazines" >> _x >> "ammo") ]; _muzzles_throwable set [ count _muzzles_throwable, _muzz ]; _weapon_throwable set [ count _weapon_throwable, _weapon ]; }; } forEach getArray(configFile >> "cfgWeapons" >> _weapon >> _muzz >> "magazines"); } forEach _muzzles; } forEach ["Throw"]; _magCount = count _ammo_throwable; if (_magCount > 0) then { if (isNil "KB_CurrentThrowable") then { KB_CurrentThrowable = -1; }; _currentAmmo = (weaponState player) select 3; _idx = _ammo_throwable find _currentAmmo; if (_idx >= 0) then { KB_CurrentThrowable = _idx; }; KB_CurrentThrowable = (KB_CurrentThrowable + 1) mod _magCount; player selectWeapon (_muzzles_throwable select KB_CurrentThrowable); _handled = true; }; }; }; и замените на:
      _rifle1 = { 2 call dz_fn_switchWeapon; _handled = true; }; _rifle2 = { 4 call dz_fn_switchWeapon; _handled = true; }; _pistol = { 3 call dz_fn_switchWeapon; _handled = true; }; _painkiller = { [0,0,0,[player]] execVM "rlnt\scripts\Weapon HUD\actions\rlnt_painkiller.sqf"; _handled = true; }; _bandage = { [0,0,0,[player]] execVM "rlnt\scripts\Weapon HUD\actions\rlnt_bandage.sqf"; _handled = true; }; найдите:
      DIK_8,DIK_7,DIK_6,DIK_5,DIK_4], _block] call _addArray; и замените на:
      DIK_8,DIK_7,DIK_6], _block] call _addArray; найдите строчку:
      if (!isNil "bis_fnc_halo_keydown_eh") then {bis_fnc_halo_keydown_eh = (finddisplay 46) displayaddeventhandler ["keydown","_this call bis_fnc_halo_keydown;"];}; // halo in progress и удалите ее.
      7. Если у вас не стоит InfiStar, то шаг 4 и 5, если у вас стоит InfiStar, то в файле AHconfig.sqf добавить 7000,7001,7002,7003 в массиве "_ALLOWED_Dialogs"
      8. В файле AT.sqf найдите:
      if(_key == 0x05)then{call admin_fly_up;}; if(_key == 0x06)then{call admin_tpdirection;}; и замените их на:
      if(_key == 0x09)then{call admin_fly_up;}; if(_key == 0x0A)then{call admin_tpdirection;}; Найдите:
      adminadd = adminadd + [" 4 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 5 - TP LookingDirection","","0","1","0","0",[]]; и замените на:
      adminadd = adminadd + [" 8 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 9 - TP LookingDirection","","0","1","0","0",[]]; 9. Вот и все.
       
      TODO:
      18.06.18 - Обновление ссылок
    • Автор: Raider33
      Сервер не виден в мультиплеере и зоне LAN, что делать?
    • Автор: WaRTReCKeR
      Всем привет! Решил вернуться в Arma 2, но наслышан о том, что сейчас все сервера используют боевую технику (БТР, БРДМ, ЗСУ и т.д) так ли это? Если да, то имеются ли какие-нибудь сервера, где нету такого, и где донат не сильно решает?
    • Автор: DrTauren
      Аббревиатуру DZMS можно даже не расшифровывать. Все прекрасно знают эту систему миссий для DayZ EPOCH, она не нуждается в описании и представлении. Но долой болтовню, приступим к установке 

      Качаем архив:
      Архив можно скачать с нашего сайта: Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Вы также можете скачать тот же архив по ссылке разработчика
      Установка:
      1) Заходим в папку сервера и распаковываем наш dayz_server.pbo
      2) Распаковываем скаченный нами архив и копируем папку DZMS в нашу папку dayz_server
      3) Открываем файл server_monitor.SQF и находим там такую строку:
      allowConnection = true; 4) Над найденной строчкой вставляем этот код:
      [] ExecVM "\z\addons\dayz_server\DZMS\DZMSInit.sqf"; 5) Если у вас установлена система WAI или DZAI, то активационная строка DZMS должна быть самой нижней
      6) Запаковываем папку dayz_server.pbo и запускаем сервер, наслаждаемся 

      P.S. настроить работу систему под себя вы можете в файле DZMSConfig.SQF
×
×
  • Создать...