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
BlackStalker

Повышение серверного фпс

Здравствуйте форумчане!
Хотелось бы узнать какими способами можно повысить серверный фпс
Знаю есть подобные темы. Но хотелось бы узнать как можно повысить серверный фпс кроме правки скриптов.

Вот мой basic.cfg

language="Russian";

3D_Performance=1;
Resolution_Bpp=32;
Windowed=0;
adapter=-1;
MinBandwidth=16384000;
MaxBandwidth=32768000;
MaxMsgSend=1024;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=128;
MinErrorToSend=0.0080000004;
MinErrorToSendNear=0.025;
MaxCustomFileSize=0;
serverLongitude=2;
serverLatitude=49;
serverLongitudeAuto=2;
serverLatitudeAuto=49;
class sockets
{
maxPacketSize=1400;
};


И init.sqf

startLoadingScreen ["","RscDisplayLoadCustom"];

cutText ["","BLACK OUT"];
enableSaving [false, false];

dayZ_instance = 11;
dayzHiveRequest = [];
initialized = false;
dayz_previousID = 0;


player setVariable ["BIS_noCoreConversations", true];
enableRadio false;
enableSentences false;

// DayZ Epoch config
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500
DZE_DeathMsgGlobal = true;
DZE_DeathMsgTitleText = true;

MaxVehicleLimit = 0; // Default = 50
MaxDynamicDebris = 0; // Default = 100
dayz_MapArea = 14000; // Default = 10000
dayz_maxLocalZombies = 15; // Default = 30

dayz_paraSpawn = false;

dayz_minpos = -1;
dayz_maxpos = 16000;

dayz_sellDistance_vehicle = 20;
dayz_sellDistance_boat = 30;
dayz_sellDistance_air = 40;

dayz_maxAnimals = 0; // Default: 8
dayz_tameDogs = true;
DynamicVehicleDamageLow = 0; // Default: 0
DynamicVehicleDamageHigh = 100; // Default: 100

DZE_BuildOnRoads = false; // Default: False
DZE_noRotate = []; //Objects that cannot be rotated. Ex: DZE_noRotate = ["ItemVault"] (NOTE: The objects magazine classname)
DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90];
DZE_curDegree = 45; //Starting rotation angle. //Prefered any value in array above
DZE_dirWithDegrees = true; //When rotating objects with Q&E, use the custom degrees
DZE_PlayerZed = false; // Может ли игрок заспавниться в роли зомби
DZE_BuildingLimit = 150000; // Ограничение кол-ва объектов на базе
DZE_StaticConstructionCount = 1; // Кол-во анимаций при постройке
DZE_FriendlySaving = true; // Сохранять ли "друзей" в БД
DZE_R3F_WEIGHT = false;
DZE_PlotPole = [90,90]; //Default: [30;45]
DZE_GodModeBase = true;
DZE_selfTransfuse = true; //
DZE_selfTransfuse_Values = [14000, 0.3, 10];

/*ZSC*/
DZE_ConfigTrader = true;
/*ZSC*/

//EpochEvents = [];
dayz_fullMoonNights = true;

//Load in compiled functions
call compile preprocessFileLineNumbers "init\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early)
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; //Initilize the publicVariable event handlers
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; //Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "init\compiles.sqf"; //Compile regular functions
call compile preprocessFileLineNumbers "custom\compiles.sqf";
/*ZSC*/
call compile preprocessFileLineNumbers "ZSC\gold\ZSCinit.sqf";
/*ZSC*/
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "Custom\server_traders.sqf"; //Compile trader configs
progressLoadingScreen 1.0;

"filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";

if (isServer) then {
call compile preprocessFileLineNumbers "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\dynamic_vehicle.sqf";
_nil = [] execVM "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\mission.sqf";
/*ZSC*/
_serverMonitor = [] execVM "\z\addons\dayz_server\system\server_monitor.sqf";
/*ZSC*/
};

if (!isDedicated) then {
//Conduct map operations
0 fadeSound 0;
waitUntil {!isNil "dayz_loadScreenMsg"};
dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");

//Run the player monitor
_id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
_playerMonitor = [] execVM "\z\addons\dayz_code\system\player_monitor.sqf";
[] execVM "Custom\service_point\service_point.sqf";
execVM "spawn\start.sqf";
execVM "dzgm\init.sqf";
execVM "ZSC\compiles\playerHud.sqf";
[] execVM "Custom\infistar_safezone.sqf";
execVM "Custom\kill_msg.sqf";
};
p2_water = compile preprocessFileLineNumbers "Custom\p2.sqf";
player spawn p2_water;
execVM "R3F_ARTY_AND_LOG\init.sqf";
execVM "Custom\DDOS.sqf";
execVM "Custom\sidechat.sqf";

 

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts




  • 0

Как мне сказали, цитирую:

Нужна неджебически мощная машинка, меньше всяких скриптов, забивающих сервер и ровные руки)

Share this post


Link to post
Share on other sites
  • 0

Для 1 сервака, - 2 ядра, 4Гб, SSD. проц будет под 90% загружен.

Операционка Win7 - оптимально.

 

По поводу скриптов -

На клиенте разгружать всякие fn_selfActions.sqf и т.п.

И стараться избегать, и на сервере, и на клиенте вечных циклов - while {true} do

А если они необходимы, - попробовать объединить цикличные скрипты в один.

Edited by NoNameUltima (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Сам я не скриптер, но небольшие задатки имеются) ну и методом проб и ошибок я действительно поднял серверный фпс, деля файлы, в которых оч много строк на несколько частей. Удалял не нужные проверки, объединял запросы в 1 общий и т.п... Вот пример.

 

startLoadingScreen ["","RscDisplayLoadCustom"];
cutText            ["","BLACK OUT"];
enableSaving       [false, false];
dayZ_instance      = 11;	
\\Antihack      
KiLoVaT_antihack   = true;
KiLoVaT_keylog     = false;
KiLoVaT_tpleff     = false;
KiLoVaT_donate     = false;
KiLoVaT_inject     = false;
KiLoVaT_admintool  = true;
KiLoVaT_FPS        = 50;
dayzHiveRequest    = [];
initialized        = false;
dayz_previousID    = 0;
player setVariable ["BIS_noCoreConversations", true];
enableRadio        false;
enableSentences    false;
// Конфиг
execVM "custom\KiLInitConf.sqf";
// Конфиг
EpochEvents        = [];
call compile preprocessFileLineNumbers "custom\variables.sqf";				
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_server\custom\publicEH.sqf";			
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_server\custom\setup_functions_med.sqf";
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "\z\addons\dayz_server\custom\init\compiles.sqf";		
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "\z\addons\dayz_server\custom\server_traders.sqf";
progressLoadingScreen 1.0;
"filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";
if (isServer) then {
	call compile preprocessFileLineNumbers "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\dynamic_vehicle.sqf";
	_nil           = [] execVM "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\mission.sqf";
	_serverMonitor = 	[] execVM "\z\addons\dayz_code\system\server_monitor.sqf";
};
if (!isDedicated) then {
	0 fadeSound 0;
	waitUntil {!isNil "dayz_loadScreenMsg"};
	dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");
	_id            = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
	_playerMonitor = 	[] execVM "custom\player_monitor.sqf";	
};
#include "\z\addons\dayz_code\system\BIS_Effects\init.sqf"
[] execVM "custom\KiLoVaT_Starter.sqf"
DZE_Friendly                               = true;
DZE_FriendlySaving                         = false;
DZE_BackpackGuard                          = false;
DZE_AllowCargoCheck                        = true; 
dayz_fullMoonNights                        = true;
dayz_paraSpawn                             = false;
dayz_spawnselection                        = 0;
DZE_HaloJump                               = false;
dayz_maxAnimals                            = 1;
dayz_tameDogs                              = false;
DZEdebug                                   = false;
DZE_SelfTransfuse                          = true; 
DZE_selfTransfuse_Values                   = [4000, 15, 300];
DZE_R3F_WEIGHT                             = true;
DZE_Debug_Damage                           = false;
DZE_DeathMsgGlobal                         = false;
DZE_DeathMsgSide                           = false;
DZE_DeathMsgTitleText                      = false;
deathMessages                              = 0; 
MaxAmmoBoxes                               = 0;
MaxMineVeins                               = 0;
DZE_HeliLift                               = true;
DZE_HumanityTargetDistance                 = 5;
DZE_Surrender                              = false;
DZE_ForceNameTags                          = false;
DZE_ForceNameTagsOff                       = true; 
DZE_BuildOnRoads                           = true;
DZE_noRotate                               = []; 
DZE_curPitch                               = 45; 
DZE_ConfigTrader                           = true;
DZE_BuildingLimit                          = 800;
DZE_checkNearbyRadius                      = 30;
DZE_GodModeBase                            = false; 
DZE_requireplot                            = 1;
DZE_PlotPole                               = [30,15]; 
DZE_StaticConstructionCount                = 2;
dayz_maxLocalZombies                       = 3;
dayz_maxGlobalZombiesInit                  = 6;
dayz_maxGlobalZombiesIncrease              = 3;
dayz_maxZeds                               = 250;
dayz_zedsAttackVehicles                    = true;
DZE_PlayerZed                              = false;
DZE_TRADER_SPAWNMODE                       = false;
DZE_ForceNameTagsInTrader                  = true;
dayz_sellDistance                          = 20;
dayz_sellDistance_vehicle                  = 20;
dayz_sellDistance_boat                     = 30;
dayz_sellDistance_air                      = 40;
OldHeliCrash                               = false;
MaxHeliCrashes                             = 0;
DZE_vehicleAmmo                            = 0;
MaxVehicleLimit                            = 0;
DynamicVehicleDamageLow                    = 80;
DynamicVehicleDamageHigh                   = 95;
DynamicVehicleFuelLow                      = 5;
DynamicVehicleFuelHigh                     = 15;
MaxDynamicDebris                           = 0;
DZE_MissionLootTable                       = false;
DZE_LootSpawnTimer                         = 15;
setViewDistance                            1200;
setTerrainGrid                             50;
startWeather                               = 0;
forecastWeather                            = 0;


Попробуй также оптимизировать серверную машину... 

 

1) Отключай не используемые службы, методом проб и ошибок.

2) Удаляй не нужные компоненты

3) Если у тебя многоядерная система, выдай арме, как минимум  2 "чистых" ядра, т.е не используемые ни каким другим приложением, кроме армы.

4) Используй tbbmaloc, гугли как использовать

5) Если много озу, то подгружай через рам диск миссию или даже сам мод

6) Я увеличил пропускную способность на небольшое число, отключением NetBios ( службы и управление сетью )

 

В принципе все.

 

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



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

Проверь свой клиент и сервер на ошибки и фикси их

 -ShowScriptErrors


Успехов!

Edited by KiLoVaT (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 Sparco37rus
      В общем когда ничего не делаю фпс около 60-70, но как только начинаю что-то пробовать скрафтить, или построить, то фпс просаживается до 20 и так держится, пока не перезайду на серв. Сервер чистый. С чем может быть связано?
    • By SkeepRyder
      Добрый вечер.
       
      Как можно определить, что в сборке занижает фпс? Каие скрипты, например. Бывает такое, что в определенное время фпс низкий, а чуть позже высокий, онлайн человек 12-18.
       
      Заранее спасибо.
    • By Yahweh
      Как отключить ограничение серверного фпс?
      Фпс всегда при любой конфигурации, онлайне, выше 45 не поднимает.
    • By Yahweh
      Какими способами оптимизации серверного фпс вы пользуетесь? Там программы может, или что то отключаете?
      Я сейчас арендую Ultravds 
       
      2x3.5ГГц, 2Гб RAM, 40Гб HDD, 1IP 
       
      При запуске сервера - серверный фпс, около 45, онлайн человек 10. Он не меняется. Но спустя час, до 20 падает, и держит 20-30.
       
      Использование ресурсов
      CPU:7% среднее за последние 24 ч
      HDD:221IOPS среднее за посл. 10 ч
       
      Думаю всему виной hdd, который не выдерживает
       
       
  • 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.