Epoch/Sources/epoch_server_settings/configs/security/security_checks.h

140 lines
6.8 KiB
C
Raw Permalink Normal View History

2015-06-04 14:11:41 +00:00
/*
2015-12-07 16:24:52 +00:00
Author: Aaron Clark - EpochMod.com
Contributors:
Description:
Epoch Server side securty checks config
2015-06-04 14:11:41 +00:00
2015-12-07 16:24:52 +00:00
Licence:
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
Github:
2016-06-13 16:54:19 +00:00
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_settngs/configs/securty/security_checks.h
2015-12-07 16:24:52 +00:00
*/
2015-06-04 14:11:41 +00:00
class CfgSecConf
{
debug = "false";
2015-10-28 15:16:00 +00:00
class vehicles {
safeVehicles[] = {"I_UAV_01_F","B_Heli_Transport_01_F","Steerable_Parachute_F","NonSteerable_Parachute_F","Land_Camping_Light_F","container_epoch"};
};
Release 0.3.8 (#502) * first build for 0.3.8 * 0.3.8.0190 * 0.3.8.0202 * 0.3.8.0213 * 0.3.7.0214 * 0.3.8.0222 * 0.3.8.0246 * 0.3.8.0247 fixed typo * 0.3.8.0249 more fixes for server compiler * 0.3.8.0256 * add build number and simple batch file for packing * match build number with internal * add build numbers to server pbo's and mission files also reworked build script for more options * 0.3.8.0261 * 0.3.8.0261 * 0.3.8.0283 * 0.3.8.0284 * changelog * 0.3.8.0307 * 0.3.8.0311 * remove old BEC plugin * update redis-server.exe to latest build and full config * 0.3.8.0314 * 0.3.8.0315 * inverse logic This should correctly prevent spawning these units nearby jammer or protection zones * use pushbackUnique here * optimized loot function by using selectRandom instead of slower sqf logic * 0.3.8.0316 * make use of new getDir functionality instead of BIS fnc * add lower disconnect value to server.cfg * use new getpos functionality * 0.3.8.0317 * 0.3.8.0319 * 0.3.8.0327 * 0.3.8.0338 changelog update tba * changelog * 0.3.8.0341 * BE update * 0.3.8.0353 * changelog * removed duplicates * 0.3.8.0355 fixed error in getIDC * 0.3.8.0356 revert to BIS_fnc_param as params threw errors * 0.3.8.0357 fixes for #496 #497 * 0.3.8.0359 fixed #497 fixed #496 * 0.3.8.0365 * 0.3.8.0371 * 0.3.8.0373 * 0.3.8.0379 * 0.3.8.0381 * 0.3.8.0386 * 0.3.8.0393 * 0.3.8.0395 * 0.3.8.0396 * 0.3.8.0397 * 0.3.8.0406 * 0.3.8.0409 * 0.3.8.0410 loot balance suppress error in spawnloot make near object check based on building size * 0.3.8.0412 * 0.3.8.0414 removed classes with scope 0 test remove loot trash on gear for #498 fixed #501 * 0.3.8.0415 * same
2016-04-08 20:21:46 +00:00
class remoteExecClient{
functions[] = {"bankBalance", "resetGroup", "groupUpdate", "groupUidUpdate", "healPlayer","tradeComplete","resetTempGroup","tempGroupUpdate","tempGroupUidUpdate"};
Release 0.3.8 (#502) * first build for 0.3.8 * 0.3.8.0190 * 0.3.8.0202 * 0.3.8.0213 * 0.3.7.0214 * 0.3.8.0222 * 0.3.8.0246 * 0.3.8.0247 fixed typo * 0.3.8.0249 more fixes for server compiler * 0.3.8.0256 * add build number and simple batch file for packing * match build number with internal * add build numbers to server pbo's and mission files also reworked build script for more options * 0.3.8.0261 * 0.3.8.0261 * 0.3.8.0283 * 0.3.8.0284 * changelog * 0.3.8.0307 * 0.3.8.0311 * remove old BEC plugin * update redis-server.exe to latest build and full config * 0.3.8.0314 * 0.3.8.0315 * inverse logic This should correctly prevent spawning these units nearby jammer or protection zones * use pushbackUnique here * optimized loot function by using selectRandom instead of slower sqf logic * 0.3.8.0316 * make use of new getDir functionality instead of BIS fnc * add lower disconnect value to server.cfg * use new getpos functionality * 0.3.8.0317 * 0.3.8.0319 * 0.3.8.0327 * 0.3.8.0338 changelog update tba * changelog * 0.3.8.0341 * BE update * 0.3.8.0353 * changelog * removed duplicates * 0.3.8.0355 fixed error in getIDC * 0.3.8.0356 revert to BIS_fnc_param as params threw errors * 0.3.8.0357 fixes for #496 #497 * 0.3.8.0359 fixed #497 fixed #496 * 0.3.8.0365 * 0.3.8.0371 * 0.3.8.0373 * 0.3.8.0379 * 0.3.8.0381 * 0.3.8.0386 * 0.3.8.0393 * 0.3.8.0395 * 0.3.8.0396 * 0.3.8.0397 * 0.3.8.0406 * 0.3.8.0409 * 0.3.8.0410 loot balance suppress error in spawnloot make near object check based on building size * 0.3.8.0412 * 0.3.8.0414 removed classes with scope 0 test remove loot trash on gear for #498 fixed #501 * 0.3.8.0415 * same
2016-04-08 20:21:46 +00:00
// code
bankBalance = "EPOCH_bankBalance = _this;";
resetGroup = "Epoch_my_Group = []; Epoch_my_GroupUID = '';";
groupUpdate = "Epoch_my_Group = _this; call EPOCH_Group_update;";
groupUidUpdate = "Epoch_my_GroupUID = _this;";
resetTempGroup = "Epoch_my_tempGroup = []; Epoch_my_tempGroupUID = '';";
tempGroupUpdate = "Epoch_my_tempGroup = _this; call EPOCH_tempGroup_update;";
tempGroupUidUpdate = "Epoch_my_tempGroupUID = _this;";
healPlayer = "{missionNamespace setVariable[format['EPOCH_player%1', _x], EPOCH_defaultVars select(EPOCH_customVars find _x)]} forEach['Temp','Hunger','Thirst','Toxicity','Stamina','BloodP','Alcohol','Radiation'];";
Release 0.3.8 (#502) * first build for 0.3.8 * 0.3.8.0190 * 0.3.8.0202 * 0.3.8.0213 * 0.3.7.0214 * 0.3.8.0222 * 0.3.8.0246 * 0.3.8.0247 fixed typo * 0.3.8.0249 more fixes for server compiler * 0.3.8.0256 * add build number and simple batch file for packing * match build number with internal * add build numbers to server pbo's and mission files also reworked build script for more options * 0.3.8.0261 * 0.3.8.0261 * 0.3.8.0283 * 0.3.8.0284 * changelog * 0.3.8.0307 * 0.3.8.0311 * remove old BEC plugin * update redis-server.exe to latest build and full config * 0.3.8.0314 * 0.3.8.0315 * inverse logic This should correctly prevent spawning these units nearby jammer or protection zones * use pushbackUnique here * optimized loot function by using selectRandom instead of slower sqf logic * 0.3.8.0316 * make use of new getDir functionality instead of BIS fnc * add lower disconnect value to server.cfg * use new getpos functionality * 0.3.8.0317 * 0.3.8.0319 * 0.3.8.0327 * 0.3.8.0338 changelog update tba * changelog * 0.3.8.0341 * BE update * 0.3.8.0353 * changelog * removed duplicates * 0.3.8.0355 fixed error in getIDC * 0.3.8.0356 revert to BIS_fnc_param as params threw errors * 0.3.8.0357 fixes for #496 #497 * 0.3.8.0359 fixed #497 fixed #496 * 0.3.8.0365 * 0.3.8.0371 * 0.3.8.0373 * 0.3.8.0379 * 0.3.8.0381 * 0.3.8.0386 * 0.3.8.0393 * 0.3.8.0395 * 0.3.8.0396 * 0.3.8.0397 * 0.3.8.0406 * 0.3.8.0409 * 0.3.8.0410 loot balance suppress error in spawnloot make near object check based on building size * 0.3.8.0412 * 0.3.8.0414 removed classes with scope 0 test remove loot trash on gear for #498 fixed #501 * 0.3.8.0415 * same
2016-04-08 20:21:46 +00:00
tradeComplete = "EPOCH_TRADE_COMPLETE = _this;";
2015-07-16 15:35:26 +00:00
};
2015-06-04 14:11:41 +00:00
class learning {
mode = "false"; // true = only trust uids below, false = trust everyone (use only with a passworded server and trusted players)
2015-06-04 14:11:41 +00:00
trustedUsers[] = {};
};
class blacklist {
badDisplays[] = {-1337,17,19,30,32,45,59,69,71,125,132,155,156,157,162,165,166,167,312,1320,1321,2727,2928,2929,316000};
animations[] = {"AmovPercMstpSnonWnonDnon_exerciseKata","AmovPercMstpSnonWnonDnon_exercisePushup","GestureSpasm1","GestureSpasm4","GestureNod"};
};
class forcedQuality {
// Configs for forced viewdistances via AH matching A3 presets
class Standard
{
viewDistance = 1600; // Standard Preset = 1600
viewDistanceObects = 1300; // Standard Preset = 1300
terrainGrid = 10; // Standard Preset = 25
2015-06-04 14:11:41 +00:00
};
class High
{
viewDistance = 2200; // High Preset = 2200
viewDistanceObects = 1800; // High Preset = 1800
terrainGrid = 10; // High Preset = 12.5
2015-06-04 14:11:41 +00:00
};
class VeryHigh
{
viewDistance = 3000; // Very High Preset = 3000
viewDistanceObects = 2600; // Very High Preset = 2600
terrainGrid = 10; // Very High Preset = 6.25
2015-06-04 14:11:41 +00:00
};
class Ultra
{
viewDistance = 3800; // Ultra Preset = 3800
viewDistanceObects = 3200; // Ultra Preset = 3200
terrainGrid = 10; // Ultra Preset = 3.125
2015-06-04 14:11:41 +00:00
};
class Custom
{
viewDistance = 2500; // High+
viewDistanceObects = 2000; // High+
terrainGrid = 10; // Default in MP: 10
2015-06-04 14:11:41 +00:00
};
mode = "Standard";
2015-06-04 14:11:41 +00:00
};
2015-10-28 15:16:00 +00:00
2015-06-04 14:11:41 +00:00
class addEventHandler {
checks[] = {"Fired","InventoryClosed","InventoryOpened","Killed","HandleDamage","HandleHeal","Dammaged","Hit","HitPart"};
};
class variables {
class whitelist {
2015-10-28 15:16:00 +00:00
#include "data\custom_vars.h" // whitelisted variables
2015-06-04 14:11:41 +00:00
};
2017-10-07 02:17:14 +00:00
badVars[] = {"EPOCH_GMODE","ESP_map","ESP_mainMap","ESP_adminMap","AntiAntiAntiAntiHax","fnc_usec_damageHandler","fnc_usec_unconscious","VAGINA_secret","yolo","VERSION","life_fnc_handleDamage","EPOCH_spawnVehicle_PVS","CLASS911_Menu","nuke_vars","JJMMEE_INIT_MENU","PLAYERON","PLAYERNEXT2","ALTISLIFEON","LY_Menu","PLAY","LY_SwaggerLikeUs","BIS_fnc_dbg_reminder_value","BIS_fnc_dbg_reminder"};
2015-06-04 14:11:41 +00:00
nilVars[] = {"EPOCH_antiWallCount","EPOCH_playerEnergy","EPOCH_playerHunger","EPOCH_playerStamina","EPOCH_playerCrypto","EPOCH_target","EPOCH_ESP_TARGETS","EPOCH_ESPMAP_TARGETS","EPOCH_taxRate","EPOCH_ESP_VEHICLEPLAYER","EPOCH_ESP_PLAYER","EPOCH_ESP_VEHICLES"};
};
2015-10-28 15:16:00 +00:00
2015-06-04 14:11:41 +00:00
class commandMenu {
2018-04-06 20:42:48 +00:00
menus[] = {"","RscSelectTeam","RscTeam","RscMenuTeam","RscMoveHigh","#GETIN","#RscStatus","#WATCH0","RscCombatMode","RscMenuReply","RscCallSupport","#CUSTOM_RADIO","#User:BIS_fnc_addCommMenuItem_menu","RscRadio","RscReply","#ACTION","RscMenuFormations","#WATCH","RscGroupRootMenu","RscMainMenu","RscMenuMove","RscWatchDir","RscWatchMoveDir","#User:BIS_Menu_GroupCommunication","RscMenuStatus","RscFormations"};
2015-06-04 14:11:41 +00:00
};
2015-10-28 15:16:00 +00:00
// RscDisplay (onload, unload) scanning is automatic and will ensure data matches the server.
// Using the extra whitelist arrays this check can be extended to allow modifications client side that do not exist server side.
2015-06-04 14:11:41 +00:00
class displayOnload {
// Format: {rscDisplayConfigname, extra whitelisted onload data (array of string), extra whitelisted unload data (array of string)}
// The extra onload whitelist for RscDisplayConfigure is for CBA
checkDisplays[] = {
{"RscDisplayMainMap", {}, {}},
{"RscDisplayGetReady", {}, {}},
{"RscDisplayInventory", {}, {}},
{"RscDisplayLoadMission", {}, {}},
{"RscDisplayInterrupt", {}, {}},
{"RscDisplayOptionsVideo", {}, {}},
{"RscDisplayOptions", {}, {}},
{"RscDisplayAVTerminal", {}, {}},
{"RscDisplayConfigure", {"{""onLoad"",_this,""RscDisplayConfigure"",'GUI'} call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; _this call compile preprocessfilelinenumbers ""\x\cba\addons\keybinding\gui\initDisplay.sqf"""}, {}},
{"RscDisplayConfigureAction", {}, {}},
{"RscDisplayConfigureControllers", {}, {}},
{"RscDisplayControlSchemes", {}, {}},
{"RscDisplayCustomizeController", {}, {}},
{"RscDisplayDebriefing", {}, {}},
{"RscDisplayDiary", {}, {}},
{"RscDisplayGameOptions", {}, {}},
{"RscDisplayJoystickSchemes", {}, {}},
{"RscDisplayLoading", {}, {}},
{"RscDisplayMicSensitivityOptions", {}, {}},
{"RscDisplayOptionsAudio", {}, {}},
{"RscDisplayOptionsLayout", {}, {}},
{"RscDisplayStart", {}, {}},
{"RscDisplayVehicleMsgBox", {}, {}},
{"RscDisplayInsertMarker", {}, {}}
};
};
class DebugActive
{
systemChat1 = "systemChat str _type;";
systemChat2 = "systemChat format['SPAWN %1',_spawn];";
systemChat3 = "systemChat format['Debug-Vehicle: send: 108,%1', _veh];";
systemChat4 = "systemChat format['Debug-Vehicle: _veh: %1', _veh];";
systemChat5 = "systemChat format['Debug-Vehicle: _this: %1', _this];";
};
2015-10-28 15:16:00 +00:00
};