DangerRuss
OpenDayZ Rockstar!
In my experience, and Im obviously not nearly as advanced as you guys, but the more communication the server has to do with the database, the laggier it gets. That's why epoch/overpoch are laggy shit storms. Lots of saved vehicle inventory, stashes, tents, safes, lockboxes, vehicles, base building, traders, etc.
I see you're on vanilla so I don't know how much of that applies to you. If you're filling those boxes with a database query it might cause some lag.
Also lots of weaponholders like dead bodies will cause lag. My server is very PVP heavy so I run a custom cleanup script, and occasionally I will execute the server cleanup through InfiSTAR as well.
Here's my custom cleanup, not sure if it will help you in any way but you're welcome to it.
I see you're on vanilla so I don't know how much of that applies to you. If you're filling those boxes with a database query it might cause some lag.
Also lots of weaponholders like dead bodies will cause lag. My server is very PVP heavy so I run a custom cleanup script, and occasionally I will execute the server cleanup through InfiSTAR as well.
Here's my custom cleanup, not sure if it will help you in any way but you're welcome to it.
Code:
private ["_time"];
_time = 300; // How often to run the cleanup script, in seconds.
_playerTime = 600; // How long must corpses be decaying for before they are removed? In seconds.
if (isServer) then {
[_time, _playerTime] spawn {
waitUntil { ! isNil "sm_done" };
private ["_previousCheck", "_corpses", "_time", "_playerTime"];
_previousCheck = diag_tickTime;
_corpses = [];
_time = _this select 0;
_playerTime = _this select 1;
while {true} do {
if ((diag_tickTime - _previousCheck) > _time) then {
_previousCheck = diag_tickTime;
{
private ["_expired", "_processed"];
_expired = true;
if (isPlayer _x) then {
_processed = _x getVariable ["processedDeath", 0];
_processed = if (_processed >= 0) then { _processed } else { 0 };
_expired = if ((_processed + _playerTime) <= diag_tickTime) then { true } else { false };
};
if (_expired) then {
_x removeAllMPEventHandlers "mpkilled";
_x removeAllMPEventHandlers "mphit";
_x removeAllMPEventHandlers "mprespawn";
_x removeAllEventHandlers "FiredNear";
_x removeAllEventHandlers "HandleDamage";
_x removeAllEventHandlers "Killed";
_x removeAllEventHandlers "Fired";
_x removeAllEventHandlers "GetOut";
_x removeAllEventHandlers "Local";
clearVehicleInit _x;
deleteVehicle _x;
deleteGroup (group _x);
_x = nil;
};
} forEach _corpses;
_corpses = [] + allDead;
};
uiSleep 1;
};
};
};