Jump to content

Defent

Member
  • Posts

    720
  • Joined

  • Last visited

Posts posted by Defent

  1. Our theory is that, the 5m and up to like 10m is the cause of low fps or lag from the player. We have spectated the players multiple times while this happened and there were no usage of teleporation and when he asked, the said they had lower fps and some lag. 

    The "no antihack running" error is usually followed by a publicvariable 0 kick from what I have seen. It's nothing to worry about, just let them reconnect. Could be caused by lag or different things during the scanning.

  2. I am from Sweden so I must have IKEA furniture. Chair is IKEA, Table is IKEA, Carpet is IKEA. Almost everything I own is IKEA.

    Monitor to the left is showing a Sims 4 stream and is also connected to my xbox, which is hidden behind the monitor.

     

    ALSET6z.jpg

  3. Are you with a game server host? If so, then there is not much you can do. It's up to them and sometimes these attacks are not directed for your server specifically but for the cluster that your server is hosted on. (I.e they hit one server but inadvertedly hit all of the servers within that cluster).

     

    I did not disable it or anything as it should be stopped automatically by windows (I believe).

    I doubt it is a ICMP ping or other type of ping of death since those were pretty much active during '96 and '97. Mainstream OSes should not have those vulnerabilities. 

     

    The outgoing data you are showing is indeed suspicious and should not climb that high. Are you sure you have no network leaks or something that could cause this on the server side?

    The bandwith increase is a sign of a ddos/dos attack but if it is ongoing then you should not be able to access the server at all (if it is powerful enough). If it is just a small scale attack then there is not much you can do except ask the host to add some sort of physical block or that you check where the attacks are coming from and IP block that area or those ports. 

     

    If you have a webserver up, close it. They can easily be targeted and cause massive increase of load on the server.

  4. The spike you're showing is too inconsistent to resemble a ddos attack and or any other form of packet throttle and or overflow. If you were being ddos'd you would probably not be able to connect to the machine during the spike. I do not however know of any functions that allow players to send massive packets to the arma 2 server, other than with squad .XML files.

     

    You can always ask your host and see if they notice any increase in sent packets during that specific time and or dos/ddos related activites. They should be able to tell rather quickly.

    Try setting the -malloc to system, that solved most of my random crashes. You can also download the program WindDBG, it can open the crash dumps created and you can tell if it is a memory allocation error or other. (I do not know if bad squad xml's cause memory errors aswell)

     

    Any other known workarounds? I heard the attacking 'kids' were talking (bragging) about "ping bombs" on our TeamSpeak just before the attack.

    Not sure if it is even real information or misinformation to throw admins off track (because some suspicious players got banned tonight, following the attacks) but if it is, I can't find anything on google that suggest arma 2 server ping flood.

     

    Ping bombs, or ping of death has been disabled for a long time on windows machines. It is a dos attack which goes through telnet(?). This could be done if your machine is not protected correctly, however, I believe that most server machines have a default protection against masssive ping packets.

     

    Another way to tell if it is a dos or ddos is to check teamspeak (if its on the same server). If the teamspeak latency goes haywire, crashes and is unreachable, then it is probably either a ddos or dos attack.

     

    Check your logs for script errors too, especially the .rpt. How many network message errors do you have?

     

    P.S Don't buy software DDOS protection, it is not useful. 

    http://www.hetzner.co.za/helpcentre/index.php/articles/content/category/ddos-attacks/can-a-ddos-attack-be-prevented

     

    P.P.S if you really want to go in depth, get a packet sniffer and see where packets come from and what they are during these spikes (wireshark for example).

  5. I run this every restart, deletes cars that have no keys. People tend to buy ATVs and then die and leave it there. Deletes the vehicles if key is not stored 

    BEGIN
    	DELETE FROM
    		`Object_DATA`
    	WHERE
    		`Object_DATA`.`CharacterID` <> 0
    		AND `Object_DATA`.`CharacterID` <= 12500
    		AND `Object_DATA`.`Classname` NOT LIKE 'Tent%'
    		AND `Object_DATA`.`Classname` NOT LIKE '%Locked'
    		AND `Object_DATA`.`Classname` NOT LIKE 'Land%'
    		AND `Object_DATA`.`Classname` NOT LIKE 'Cinder%'
    		AND `Object_DATA`.`Classname` NOT LIKE 'Wood%'
    		AND `Object_DATA`.`Classname` NOT LIKE 'Metal%'
    		AND `Object_DATA`.`Classname` NOT LIKE '%Storage%'
    		AND `Object_DATA`.`Classname` NOT IN ('OutHouse_DZ', 'GunRack_DZ', 'WorkBench_DZ', 'Sandbag1_DZ', 'FireBarrel_DZ', 'DesertCamoNet_DZ', 'StickFence_DZ', 'LightPole_DZ', 'DeerStand_DZ', 'ForestLargeCamoNet_DZ', 'Plastic_Pole_EP1_DZ', 'Hedgehog_DZ', 'FuelPump_DZ', 'Fort_RazorWire', 'SandNest_DZ', 'ForestCamoNet_DZ', 'Fence_corrugated_DZ', 'CanvasHut_DZ', 'Generator_DZ')
    		AND FindVehicleKeysCount(Object_DATA.CharacterID) = 0;RETURN ROW_COUNT();END
    
  6. Can you post it and I can check. Also thanks for all the info you guys posted. You are pretty much changing the variables back to what they were in DZMS. I just changed it so it would be easier to configure. 

     

    Like here for example:

    	_scount = count DZMSpistolList;
    	for "_x" from 0 to 2 do {
    		_sSelect = floor(random _sCount);
    		_item = DZMSpistolList select _sSelect;
    		_crate addWeaponCargoGlobal [_item,1];
    		_ammo = [] + getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
    		if (count _ammo > 0) then {
    			_crate addMagazineCargoGlobal [(_ammo select 0),(round(random 8))];
    		};
    	};
    

    and my version is:

    	_scount = count DZMSpistolList;
    	for "_x" from 0 to DEFMPistolRate do {
    		_sSelect = floor(random _sCount);
    		_item = DZMSpistolList select _sSelect;
    		_crate addWeaponCargoGlobal [_item,DEFMPistolRate];
    		_ammo = [] + getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
    		if (count _ammo > 0) then {
    			_crate addMagazineCargoGlobal [(_ammo select 0),(round(random DEFMPistolAmmoRate))];
    		};
    	};
    

    Feel free to say how to optimize it and I will attempt to and upload it to the GitHub

  7. Does this work on the latest steam and Epoch patch? Which SQL do I need to run, the OP's or MGT's? 

     

    Thank you

     

    No idea, but I use this one and it works:

    CREATE DEFINER=`YOURUSERNAME`@`%` EVENT `resetVaults`
    	ON SCHEDULE
    		EVERY 2 HOUR STARTS '2014-05-28 13:48:38'
    	ON COMPLETION NOT PRESERVE
    	ENABLE
    	COMMENT 'Sets safe codes to 0000 if not accessed for 7 days'
    	DO UPDATE `object_data` SET `CharacterID` = 0 WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY) AND `CharacterID` > 0 AND `Classname` = ('VaultStorageLocked')  AND `Inventory` <> '[]' AND `Inventory` IS NOT NULL
    

    This one checks every 2nd hour if there is any abandoned vaults. Abandoned vaults reset to the code 0000 after 7 days.

     

     

    _rndvault = _vaultarray select (floor (random (count _vaultarray)));

    _position = getPos _rndvault;

     

    between these lines i can setpos to a random location.  But when they unlock it it puts it back to where it was located.  How to i change it in the DB when i setpos

     
    You could change it but it would be quite a lot of work. You would need to include a hive call (i think) in order for it to publish to a new location.
  8. This script works on my server. Just this morning I got: "Total open vaults on server: 8". However, I still get the same messages that you guys posted before.

     

    To answer the questions above, nope, that will not work. Needs to be:

    _loot_box = ["VaultStorageLocked"];
    

     I believe that if you assign that to an array, then the script will attempt to delete all locked vaults and not chosen abandoned one. 

     

    One way to delete it would be to add this:

    deleteVehicle _rndvault;

    Around here:

    EPOCH_EVENT_RUNNING = false;
    deleteMarker _event_marker;
    deleteMarker _event_marker2;
    

    Edit: You may also need to add _loot_box to the private array up top.

     

     

     

    I'm working on making a marker loop and making it so the markers and event clears when a player gets close to it.

     

    My current progress (untested) - Loop and finish mission code borrowed from EMS/DZMS

    // Abandoned player safe mission by Cramps (zfclan.org/forum)
    // Needs an SQL event set up to turn abandoned vault codes to 0000
    
    private ["_run","_rndvault","_curvaultcode","_curvault","_vaultarray","_numvaults","_allvaults","_spawnChance", "_spawnMarker", "_spawnRadius", "_markerRadius", "_item", "_debug", "_start_time", "_loot", "_loot_amount", "_loot_box", "_wait_time", "_spawnRoll", "_position", "_event_marker"];
    
    // First chack if there is a vault available, no point running if not
    
    diag_log ("Checking vaults...");
    
    _allvaults = (allmissionobjects "VaultStorageLocked");
    _numvaults = (count _allvaults);
    _vaultarray = [];
    
    for "_i" from 0 to _numvaults do {
    	_curvault = _allvaults select _i;
    	_curvaultcode = _curvault getVariable "CharacterID";
    	if (_curvaultcode == "0000" ) then {
    		_vaultarray = _vaultarray + [_curvault];
    		};
    };
    
    _numvaults = (count _vaultarray);
    diag_log ("Total open vaults on server: " + str(_numvaults));
    
    // Exit if no safes
    if (_numvaults == 0) exitWith {};
    
    _rndvault = _vaultarray select (floor (random (count _vaultarray)));
    _position = getPos _rndvault;
    diag_log ("Location of randomly picked 0000 vault = " + str(_position));
    
    // Main epoch mission stuff
    
    _spawnChance =  0.10; // Percentage chance of event happening
    _markerRadius = 150; // Radius the loot can spawn and used for the marker
    _wait_time = 900; 
    _start_time = time;
    _debug = false; // Ignores the random chance and runs every time.
    
    if (isNil "EPOCH_EVENT_RUNNING") then {
    EPOCH_EVENT_RUNNING = false;
    // start the event loop if other event is isNil/false
    _run = true;
    diag_log("No Event Running, Starting Abandoned Safe Event.");
    };
     
    // Check for another event running
    if (EPOCH_EVENT_RUNNING) exitWith {
    diag_log("Event already running");
    };
     
    // Random chance of event happening
    _spawnRoll = random 1;
    if (_spawnRoll > _spawnChance and !_debug) exitWith {};
    
    // Draw markers & tell players
     
    _event_marker = createMarker [ format ["loot_event_marker_%1", _start_time], _position];
    _event_marker setMarkerShape "ELLIPSE";
    _event_marker setMarkerColor "ColorBlue";
    _event_marker setMarkerSize [(_markerRadius + 100), (_markerRadius + 100)];
    
    _event_marker2 = createMarker [ format ["loot_event_marker_%2", _start_time], _position];
    _event_marker2 setMarkerShape "ICON";
    _event_marker2 setMarkerType "mil_dot";
    _event_marker2 setMarkerColor "ColorBlack";
    _event_marker2 setMarkerText "Abandoned Survivor Safe";
    
    if (_debug) then {
    _debug_marker = createMarker [ format ["loot_event_debug_marker_%1", _start_time], _position];
    _debug_marker setMarkerShape "ICON";
    _debug_marker setMarkerType "mil_dot";
    _debug_marker setMarkerColor "ColorBlack";
    _debug_marker setMarkerAlpha 1;
    };
    
    [nil,nil,"per",rTITLETEXT,"It's rumoured that there is a survivor safe with the code 0000. Go find it!","PLAIN DOWN"] call RE;
    
    diag_log(format["Loot event setup, waiting for %1 seconds", _wait_time]);
    diag_log text format ["Starting Abandoned Safe Marker Loop!"];
    
    //Loop Start - Defent Edit
    //Not looping debug because it is not really needed.
    while {_run} do
    {	
    	// first we delete the current marker
    	deleteMarker _event_marker;
    	deleteMarker _event_marker2;
        // sleep 10 and refresh
    	uiSleep 10;
    	// then we add the markers again
    	_event_marker = createMarker [ format ["loot_event_marker_%1", _start_time], _position];
    	_event_marker setMarkerShape "ELLIPSE";
    	_event_marker setMarkerColor "ColorBlue";
    	_event_marker setMarkerSize [(_markerRadius + 100), (_markerRadius + 100)];
    
    	_event_marker2 = createMarker [ format ["loot_event_marker_%2", _start_time], _position];
    	_event_marker2 setMarkerShape "ICON";
    	_event_marker2 setMarkerType "mil_dot";
    	_event_marker2 setMarkerColor "ColorBlack";
    	_event_marker2 setMarkerText "Abandoned Survivor Safe";
    	};
    	//Now we wait another 25 seconds
    };
    //Loop End
    
    
    // Should be before the time out because otherwise it will probably not work
    ​waitUntil{{isPlayer _x && _x distance _rndvault <= 15 } count playableunits > 0};
    // Ending Mesage
    [nil,nil,"per",rTITLETEXT,"The abandoned survivor safe has been found and looted!","PLAIN DOWN"] call RE;
    
    
    // Wait
    sleep _wait_time;
    // Time out message
    [nil,nil,"per",rTITLETEXT,"The abandoned survivor safe was not looted and has marker has been removed - better luck next time!","PLAIN DOWN"] call RE;
     
    // Clean up
    EPOCH_EVENT_RUNNING = false;
    deleteMarker _event_marker;
    deleteMarker _event_marker2;
    //end the loop
    _run = false;
    
  9.  

    Is this what you're following? 

     

    Because the error basicly means you're using an integral value where you should have or want to have a string. Integrals are 1234 etc. Strings can handle letters etc.

    You would need to convert the integral value to a string.

    string MyString = "123";
    int MyInt = Convert.ToInt32(MyString);
    

    Then call MyInt where you want to use it.

     

    I could be off, been a while since I used C#

     

     

    Also, try check the video at around 26 minutes, did try that or did you try it some other way? Since you're using Unity, it could be functioning differently.

  10. Lighting isn't an issue as this time, although you might want to carry your own light source when it gets dark anyway...

     

    I've not played Arma 3 a lot during night, but isn't there a full moon night option, and if so, is that enough to light up parts of the map? Anyways, I hope you add a lantern. So I can go full Amnesia mode when walking in the dark.

×
×
  • Create New...