From 861d21a1a8bea90a11bd2977351a99cc517a671c Mon Sep 17 00:00:00 2001 From: vbawol Date: Fri, 22 Apr 2016 18:54:04 -0500 Subject: [PATCH] rework display EH checks a bit --- Server_Install_Pack/sc/battleye/scripts.txt | 5 +++-- .../init/server_securityfunctions.sqf | 22 ++++++++----------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/Server_Install_Pack/sc/battleye/scripts.txt b/Server_Install_Pack/sc/battleye/scripts.txt index 115f50c8..1c7c29a5 100644 --- a/Server_Install_Pack/sc/battleye/scripts.txt +++ b/Server_Install_Pack/sc/battleye/scripts.txt @@ -49,9 +49,10 @@ 7 ctrlSetEventHandler !"BIS_fnc_guiMessage_status" !"ctrlSetEventHandler ['LBDblClick', '_this call" !="_buttonRespawn ctrlseteventhandler [\"buttonclick\",\"with uinamespace do {['buttonRespawn'," !="_ctrl ctrlSetEventHandler [\"mouseEnter\"" !="_ctrlBtn ctrlSetEventHandler [\"MouseButtonDblClick\", _verAct];" 7 addMPEventHandler 7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !"[\"FiredNear"\" !"[\"EpeContactStart"\" !"[\"GetOut"\" !"[\"local"\" !"[\"PostReset"\" !"[\"TaskSetAsCurrent"\" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="\"CBA_fnc_addEventHandler\"" !="\\fnc_addEventHandler" !="\"addEventHandler" !="_eventFunc = _eventFunc + \"(_this select 0) addEventHandler ['Respawn', \" + str _eventFunc + \"];\";" !="_unit addEventHandler [\"hitpart\"," !="CBA_fnc_addEventHandler" -7 displayAddEventHandler !="(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !="_display displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="_addCase = _display46 displayAddEventHandler ['KeyDown',{_this call EPOCH_KeyDown}];" !="_display displayaddeventhandler\n[\n\"mousemoving\"," !="_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'" !="_display displayaddeventhandler [_x,_fnc_animate];" !="Development\") then\n{\n_display displayaddeventhandler [\n\"keydown\"" !="_display displayaddeventhandler [\"mousemoving\",\"with uinamespace do {['watchFields'" !="/"CBA_fnc_addDisplayHandler/"" +7 displayAddEventHandler !="(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !="_display displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="_display displayaddeventhandler\n[\n\"mousemoving\"," !="_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'" !="_display displayaddeventhandler [_x,_fnc_animate];" !="Development\") then\n{\n_display displayaddeventhandler [\n\"keydown\"" !="_display displayaddeventhandler [\"mousemoving\",\"with uinamespace do {['watchFields'" !="/"CBA_fnc_addDisplayHandler/"" 7 ctrlAddEventHandler !"rCfg >> \"refreshDelay\");" !" [\n\"draw\"," !" [\"buttonclick\"," !="(uiNamespace getVariable 'ESP_map') ctrlAddEventHandler['Draw', '_esp_targets = EPOCH_ESPMAP_TARGETS;" !="ctrlAddEventHandler ['MouseButtonDown'" !="(_display displayctrl _idc) ctrlAddEventHandler [\"LBSelChanged\"," !="_ctrl ctrlSetEventHandler [\"mouseEnter\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseExit\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseButtonDown\", (format [\"call %1;\",(_buttonSettings select _e select 2)])];" !="_prevButton ctrlAddEventHandler [\"MouseButtonUp\", {_this call cba_diagnostic_fnc_debug" -7 removeAllEventHandlers !="ctrlRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" !="_display46 displayRemoveAllEventHandlers 'KeyDown';" !="if !(isMultiplayer) then { { (findDisplay 46) displayRemoveAllEventHandlers _x } forEach [\"KeyUp\", \"KeyDown\"] };" +7 removeAllEventHandlers !="ctrlRemoveAllEventHandlers" !="displayRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" +7 displayRemoveAllEventHandlers !="_display displayRemoveAllEventHandlers _x;" !="if !(isMultiplayer) then { { (findDisplay 46) displayRemoveAllEventHandlers _x } forEach [\"KeyUp\", \"KeyDown\"] };" 7 removeAllMissionEventHandlers 7 ctrlRemoveAllEventHandlers !="(uiNamespace getVariable 'ESP_map') ctrlRemoveAllEventHandlers 'Draw';" !="ctrlAddEventHandler ['MouseButtonDown'" 7 removeEventHandler !="displayRemoveEventHandler" !="player removeEventHandler ['Fired', 0];" !"_currentTarget removeEventHandler[\"EpeContactStart\", _onContactEH]" !" [_adminVar,objnull];\npublicvariable _adminVar;\nplayer removeeventhandler [\"respawn\",_respawn];" !="_plyr removeEventHandler [\"FiredNear\", _smokeEH];" !="player removeEventHandler [_ehKey, 0];" !="\"CBA_fnc_removeEventHandler\"" !="\\fnc_removeEventHandler" !="\"removeEventHandler" diff --git a/Sources/epoch_server/init/server_securityfunctions.sqf b/Sources/epoch_server/init/server_securityfunctions.sqf index a8177971..a357f6f5 100644 --- a/Sources/epoch_server/init/server_securityfunctions.sqf +++ b/Sources/epoch_server/init/server_securityfunctions.sqf @@ -809,7 +809,6 @@ _skn_code_antihack = compileFinal (" disableSerialization; _ActionCount = -1; _ActionVehicle = player; - _displayCountKD = 0; _displayCount = 0; _personalToken = Epoch_personalToken; _antiWallCount = 0; @@ -884,18 +883,15 @@ _skn_code_antihack = compileFinal (" [format['viewDistance %1',viewDistance],0] call "+_sknBanANDSleep+"; }; "+_sknAddActionCheck+" - _display46 = findDisplay 46; - if !(isNull _display46) then { - _display46 displayRemoveAllEventHandlers 'KeyDown'; - _addCase = _display46 displayAddEventHandler ['KeyDown',{"+_skn_displayAddEHKeyDown+"}]; - if (_addCase != _displayCountKD) then { - [format['DEH: KeyDown %1/%2',_addCase,_displayCountKD],0] call "+_sknBanANDSleep+"; - }; - _display46 displayRemoveAllEventHandlers 'KeyUp'; - _addCase = _display46 displayAddEventHandler ['KeyUp',{"+_skn_displayAddEHKeyUp+"}]; - if (_addCase != _displayCount) then { - [format['DEH: KeyUp %1/%2',_addCase,_displayCount],0] call "+_sknBanANDSleep+"; - }; + _display = findDisplay 46; + if !(isNull _display) then { + { + _display displayRemoveAllEventHandlers _x; + _addCase = _display displayAddEventHandler [_x,([""CfgEpochClient"", _x, """"] call EPOCH_fnc_returnConfigEntryV2)]; + if (_addCase != _displayCount) then { + [format['DEH: %3 %1/%2',_addCase,_displayCount,_x],0] call "+_sknBanANDSleep+"; + }; + } forEach (['CfgEpochClient', 'displayAddEventHandler', []] call EPOCH_fnc_returnConfigEntryV2); }; uiSleep ((random 1)+1); };