From 0cea80259bef7a2844c5ab4bd1c5cf3f3b10553a Mon Sep 17 00:00:00 2001 From: "[VB]AWOL" Date: Sun, 8 Dec 2013 15:59:47 -0600 Subject: [PATCH] combine server git with main one --- .../@DayZ_Epoch_Server/addons/dayz_server.pbo | Bin 0 -> 1374353 bytes Server Files/Binaries/HiveExt.dll | Bin 1478656 -> 0 bytes .../{Binaries => Configs}/HiveExt.ini | 0 .../DayZ_Epoch_instance_11_Chernarus.bat | 2 + .../DayZ_Epoch_instance_12_isladuala.bat | 2 + .../DayZ_Epoch_instance_13_Tavi.bat | 2 + .../DayZ_Epoch_instance_15_namalsk.bat | 2 + .../DayZ_Epoch_instance_16_panthera.bat | 2 + .../DayZ_Epoch_instance_18_sahrani.bat | 2 + .../DayZ_Epoch_instance_19_podagorsk.bat | 2 + .../DayZ_Epoch_instance_1_Takistan.bat | 2 + .../DayZ_Epoch_instance_20_fapovo.bat | 2 + .../DayZ_Epoch_instance_21_Caribou.bat | 2 + .../DayZ_Epoch_instance_2_Utes.bat | 2 + .../DayZ_Epoch_instance_3_Shapur_BAF.bat | 2 + .../DayZ_Epoch_instance_4_Zargabad.bat | 2 + .../DayZ_Epoch_instance_6_Dingor.bat | 2 + .../DayZ_Epoch_instance_7_Lingor.bat | 2 + ...yZ_Epoch_instance_8_ProvingGrounds_PMC.bat | 2 + .../Configs/instance_11_Chernarus/HiveExt.ini | 79 ++++ .../Configs/instance_11_Chernarus/config.cfg | 35 ++ .../DayZ_Epoch_instance_11_Chernarus.bat | 2 + .../DayZ_Epoch_instance_12_isladuala.bat | 2 + Server Files/DayZ_Epoch_instance_13_Tavi.bat | 2 + .../DayZ_Epoch_instance_15_namalsk.bat | 2 + .../DayZ_Epoch_instance_16_panthera.bat | 2 + .../DayZ_Epoch_instance_18_sahrani.bat | 2 + .../DayZ_Epoch_instance_19_podagorsk.bat | 2 + .../DayZ_Epoch_instance_1_Takistan.bat | 2 + .../DayZ_Epoch_instance_20_fapovo.bat | 2 + .../DayZ_Epoch_instance_21_Caribou.bat | 2 + Server Files/DayZ_Epoch_instance_2_Utes.bat | 2 + .../DayZ_Epoch_instance_3_Shapur_BAF.bat | 2 + .../DayZ_Epoch_instance_4_Zargabad.bat | 2 + Server Files/DayZ_Epoch_instance_6_Dingor.bat | 2 + Server Files/DayZ_Epoch_instance_7_Lingor.bat | 2 + ...yZ_Epoch_instance_8_ProvingGrounds_PMC.bat | 2 + .../Trader Config Tool/Trader_Config_Tool.php | 3 +- .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../BattlEye/setdamage.txt | 2 + .../instance_11_Chernarus/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + .../instance_11_Chernarus/HiveExt.ini | 79 ++++ .../WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_11_Chernarus/config.cfg | 35 ++ .../instance_11_Chernarus/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_12_duala/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../instance_12_duala/BattlEye/remoteexec.txt | 5 + .../instance_12_duala/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../instance_12_duala/BattlEye/setdamage.txt | 2 + .../instance_12_duala/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../instance_12_duala/BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_12_duala/HiveExt.ini | 79 ++++ .../instance_12_duala/WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_12_duala/config.cfg | 35 ++ .../instance_12_duala/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_13_tavi/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../instance_13_tavi/BattlEye/remoteexec.txt | 5 + .../instance_13_tavi/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../instance_13_tavi/BattlEye/setdamage.txt | 2 + .../instance_13_tavi/BattlEye/setpos.txt | 4 + .../instance_13_tavi/BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../instance_13_tavi/BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_13_tavi/HiveExt.ini | 79 ++++ .../instance_13_tavi/WhiteLister/config.txt | 30 ++ .../instance_13_tavi/WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_13_tavi/config.cfg | 35 ++ Server Files/instance_13_tavi/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_15_namalsk/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../instance_15_namalsk/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../BattlEye/setdamage.txt | 2 + .../instance_15_namalsk/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_15_namalsk/HiveExt.ini | 79 ++++ .../WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_15_namalsk/config.cfg | 35 ++ .../instance_15_namalsk/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../instance_16_panthera/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../BattlEye/setdamage.txt | 2 + .../instance_16_panthera/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_16_panthera/HiveExt.ini | 79 ++++ .../WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_16_panthera/config.cfg | 35 ++ .../instance_16_panthera/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_18_sahrani/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../instance_18_sahrani/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../BattlEye/setdamage.txt | 2 + .../instance_18_sahrani/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_18_sahrani/HiveExt.ini | 79 ++++ .../WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_18_sahrani/config.cfg | 35 ++ .../instance_18_sahrani/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_19_poda/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../instance_19_poda/BattlEye/remoteexec.txt | 5 + .../instance_19_poda/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../instance_19_poda/BattlEye/setdamage.txt | 2 + .../instance_19_poda/BattlEye/setpos.txt | 4 + .../instance_19_poda/BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../instance_19_poda/BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_19_poda/HiveExt.ini | 79 ++++ .../instance_19_poda/WhiteLister/config.txt | 30 ++ .../instance_19_poda/WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_19_poda/config.cfg | 35 ++ Server Files/instance_19_poda/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_1_takistan/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../instance_1_takistan/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../BattlEye/setdamage.txt | 2 + .../instance_1_takistan/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_1_takistan/HiveExt.ini | 79 ++++ .../WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_1_takistan/config.cfg | 35 ++ .../instance_1_takistan/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_20_fapovo/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../instance_20_fapovo/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../instance_20_fapovo/BattlEye/setdamage.txt | 2 + .../instance_20_fapovo/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_20_fapovo/HiveExt.ini | 79 ++++ .../instance_20_fapovo/WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_20_fapovo/config.cfg | 35 ++ .../instance_20_fapovo/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_21_caribou/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../instance_21_caribou/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../BattlEye/setdamage.txt | 2 + .../instance_21_caribou/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_21_caribou/HiveExt.ini | 79 ++++ .../WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_21_caribou/config.cfg | 35 ++ .../instance_21_caribou/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_2_utes/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../instance_2_utes/BattlEye/remoteexec.txt | 5 + .../instance_2_utes/BattlEye/scripts.txt | 8 + .../instance_2_utes/BattlEye/selectplayer.txt | 1 + .../instance_2_utes/BattlEye/setdamage.txt | 2 + .../instance_2_utes/BattlEye/setpos.txt | 4 + .../instance_2_utes/BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../instance_2_utes/BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_2_utes/HiveExt.ini | 79 ++++ .../instance_2_utes/WhiteLister/config.txt | 30 ++ .../instance_2_utes/WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../instance_2_utes/WhiteLister/whitelist.sql | 12 + .../instance_2_utes/WhiteLister/whitelist.txt | 0 Server Files/instance_2_utes/config.cfg | 35 ++ Server Files/instance_2_utes/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../BattlEye/setdamage.txt | 2 + .../instance_3_shapur_baf/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + .../instance_3_shapur_baf/HiveExt.ini | 79 ++++ .../WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_3_shapur_baf/config.cfg | 35 ++ .../instance_3_shapur_baf/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_4_zargabad/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../instance_4_zargabad/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../BattlEye/setdamage.txt | 2 + .../instance_4_zargabad/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_4_zargabad/HiveExt.ini | 79 ++++ .../WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_4_zargabad/config.cfg | 35 ++ .../instance_4_zargabad/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_6_Dingor/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../instance_6_Dingor/BattlEye/remoteexec.txt | 5 + .../instance_6_Dingor/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../instance_6_Dingor/BattlEye/setdamage.txt | 2 + .../instance_6_Dingor/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../instance_6_Dingor/BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_6_Dingor/HiveExt.ini | 79 ++++ .../instance_6_Dingor/WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_6_Dingor/config.cfg | 35 ++ .../instance_6_Dingor/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../instance_7_Lingor/BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../instance_7_Lingor/BattlEye/remoteexec.txt | 5 + .../instance_7_Lingor/BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../instance_7_Lingor/BattlEye/setdamage.txt | 2 + .../instance_7_Lingor/BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../instance_7_Lingor/BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + Server Files/instance_7_Lingor/HiveExt.ini | 79 ++++ .../instance_7_Lingor/WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 Server Files/instance_7_Lingor/config.cfg | 35 ++ .../instance_7_Lingor/rotate_logs.bat | 116 +++++ .../BattlEye/addbackpackcargo.txt | 1 + .../BattlEye/addmagazinecargo.txt | 12 + .../BattlEye/addweaponcargo.txt | 2 + .../BattlEye/attachto.txt | 26 ++ .../BattlEye/beserver.cfg_example.txt | 13 + .../BattlEye/createvehicle.txt | 74 ++++ .../BattlEye/deleteVehicle.txt | 1 + .../BattlEye/mpeventhandler.txt | 281 ++++++++++++ .../BattlEye/publicvariable.txt | 72 +++ .../BattlEye/publicvariableval.txt | 412 ++++++++++++++++++ .../BattlEye/remotecontrol.txt | 1 + .../BattlEye/remoteexec.txt | 5 + .../BattlEye/scripts.txt | 8 + .../BattlEye/selectplayer.txt | 1 + .../BattlEye/setdamage.txt | 2 + .../BattlEye/setpos.txt | 4 + .../BattlEye/setvariable.txt | 51 +++ .../BattlEye/setvariableval.txt | 397 +++++++++++++++++ .../BattlEye/teamswitch.txt | 1 + .../BattlEye/waypointcondition.txt | 1 + .../BattlEye/waypointstatement.txt | 1 + .../instance_8_ProvingGrounds_PMC/HiveExt.ini | 79 ++++ .../WhiteLister/config.txt | 30 ++ .../WhiteLister/whitelist.db | Bin 0 -> 2048 bytes .../WhiteLister/whitelist.sql | 12 + .../WhiteLister/whitelist.txt | 0 .../instance_8_ProvingGrounds_PMC/config.cfg | 35 ++ .../rotate_logs.bat | 116 +++++ 486 files changed, 26387 insertions(+), 2 deletions(-) create mode 100644 Server Files/@DayZ_Epoch_Server/addons/dayz_server.pbo delete mode 100644 Server Files/Binaries/HiveExt.dll rename Server Files/{Binaries => Configs}/HiveExt.ini (100%) create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_11_Chernarus.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_12_isladuala.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_13_Tavi.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_15_namalsk.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_16_panthera.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_18_sahrani.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_19_podagorsk.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_1_Takistan.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_20_fapovo.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_21_Caribou.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_2_Utes.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_3_Shapur_BAF.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_4_Zargabad.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_6_Dingor.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_7_Lingor.bat create mode 100644 Server Files/Configs/Launch Examples/DayZ_Epoch_instance_8_ProvingGrounds_PMC.bat create mode 100644 Server Files/Configs/instance_11_Chernarus/HiveExt.ini create mode 100644 Server Files/Configs/instance_11_Chernarus/config.cfg create mode 100644 Server Files/DayZ_Epoch_instance_11_Chernarus.bat create mode 100644 Server Files/DayZ_Epoch_instance_12_isladuala.bat create mode 100644 Server Files/DayZ_Epoch_instance_13_Tavi.bat create mode 100644 Server Files/DayZ_Epoch_instance_15_namalsk.bat create mode 100644 Server Files/DayZ_Epoch_instance_16_panthera.bat create mode 100644 Server Files/DayZ_Epoch_instance_18_sahrani.bat create mode 100644 Server Files/DayZ_Epoch_instance_19_podagorsk.bat create mode 100644 Server Files/DayZ_Epoch_instance_1_Takistan.bat create mode 100644 Server Files/DayZ_Epoch_instance_20_fapovo.bat create mode 100644 Server Files/DayZ_Epoch_instance_21_Caribou.bat create mode 100644 Server Files/DayZ_Epoch_instance_2_Utes.bat create mode 100644 Server Files/DayZ_Epoch_instance_3_Shapur_BAF.bat create mode 100644 Server Files/DayZ_Epoch_instance_4_Zargabad.bat create mode 100644 Server Files/DayZ_Epoch_instance_6_Dingor.bat create mode 100644 Server Files/DayZ_Epoch_instance_7_Lingor.bat create mode 100644 Server Files/DayZ_Epoch_instance_8_ProvingGrounds_PMC.bat create mode 100644 Server Files/instance_11_Chernarus/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/attachto.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/scripts.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/setdamage.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/setpos.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/setvariable.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_11_Chernarus/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_11_Chernarus/HiveExt.ini create mode 100644 Server Files/instance_11_Chernarus/WhiteLister/config.txt create mode 100644 Server Files/instance_11_Chernarus/WhiteLister/whitelist.db create mode 100644 Server Files/instance_11_Chernarus/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_11_Chernarus/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_11_Chernarus/config.cfg create mode 100644 Server Files/instance_11_Chernarus/rotate_logs.bat create mode 100644 Server Files/instance_12_duala/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_12_duala/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_12_duala/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_12_duala/BattlEye/attachto.txt create mode 100644 Server Files/instance_12_duala/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_12_duala/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_12_duala/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_12_duala/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_12_duala/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_12_duala/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_12_duala/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_12_duala/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_12_duala/BattlEye/scripts.txt create mode 100644 Server Files/instance_12_duala/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_12_duala/BattlEye/setdamage.txt create mode 100644 Server Files/instance_12_duala/BattlEye/setpos.txt create mode 100644 Server Files/instance_12_duala/BattlEye/setvariable.txt create mode 100644 Server Files/instance_12_duala/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_12_duala/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_12_duala/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_12_duala/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_12_duala/HiveExt.ini create mode 100644 Server Files/instance_12_duala/WhiteLister/config.txt create mode 100644 Server Files/instance_12_duala/WhiteLister/whitelist.db create mode 100644 Server Files/instance_12_duala/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_12_duala/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_12_duala/config.cfg create mode 100644 Server Files/instance_12_duala/rotate_logs.bat create mode 100644 Server Files/instance_13_tavi/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/attachto.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/scripts.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/setdamage.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/setpos.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/setvariable.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_13_tavi/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_13_tavi/HiveExt.ini create mode 100644 Server Files/instance_13_tavi/WhiteLister/config.txt create mode 100644 Server Files/instance_13_tavi/WhiteLister/whitelist.db create mode 100644 Server Files/instance_13_tavi/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_13_tavi/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_13_tavi/config.cfg create mode 100644 Server Files/instance_13_tavi/rotate_logs.bat create mode 100644 Server Files/instance_15_namalsk/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/attachto.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/scripts.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/setdamage.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/setpos.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/setvariable.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_15_namalsk/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_15_namalsk/HiveExt.ini create mode 100644 Server Files/instance_15_namalsk/WhiteLister/config.txt create mode 100644 Server Files/instance_15_namalsk/WhiteLister/whitelist.db create mode 100644 Server Files/instance_15_namalsk/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_15_namalsk/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_15_namalsk/config.cfg create mode 100644 Server Files/instance_15_namalsk/rotate_logs.bat create mode 100644 Server Files/instance_16_panthera/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/attachto.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/scripts.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/setdamage.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/setpos.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/setvariable.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_16_panthera/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_16_panthera/HiveExt.ini create mode 100644 Server Files/instance_16_panthera/WhiteLister/config.txt create mode 100644 Server Files/instance_16_panthera/WhiteLister/whitelist.db create mode 100644 Server Files/instance_16_panthera/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_16_panthera/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_16_panthera/config.cfg create mode 100644 Server Files/instance_16_panthera/rotate_logs.bat create mode 100644 Server Files/instance_18_sahrani/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/attachto.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/scripts.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/setdamage.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/setpos.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/setvariable.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_18_sahrani/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_18_sahrani/HiveExt.ini create mode 100644 Server Files/instance_18_sahrani/WhiteLister/config.txt create mode 100644 Server Files/instance_18_sahrani/WhiteLister/whitelist.db create mode 100644 Server Files/instance_18_sahrani/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_18_sahrani/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_18_sahrani/config.cfg create mode 100644 Server Files/instance_18_sahrani/rotate_logs.bat create mode 100644 Server Files/instance_19_poda/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_19_poda/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_19_poda/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_19_poda/BattlEye/attachto.txt create mode 100644 Server Files/instance_19_poda/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_19_poda/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_19_poda/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_19_poda/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_19_poda/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_19_poda/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_19_poda/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_19_poda/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_19_poda/BattlEye/scripts.txt create mode 100644 Server Files/instance_19_poda/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_19_poda/BattlEye/setdamage.txt create mode 100644 Server Files/instance_19_poda/BattlEye/setpos.txt create mode 100644 Server Files/instance_19_poda/BattlEye/setvariable.txt create mode 100644 Server Files/instance_19_poda/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_19_poda/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_19_poda/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_19_poda/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_19_poda/HiveExt.ini create mode 100644 Server Files/instance_19_poda/WhiteLister/config.txt create mode 100644 Server Files/instance_19_poda/WhiteLister/whitelist.db create mode 100644 Server Files/instance_19_poda/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_19_poda/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_19_poda/config.cfg create mode 100644 Server Files/instance_19_poda/rotate_logs.bat create mode 100644 Server Files/instance_1_takistan/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/attachto.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/scripts.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/setdamage.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/setpos.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/setvariable.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_1_takistan/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_1_takistan/HiveExt.ini create mode 100644 Server Files/instance_1_takistan/WhiteLister/config.txt create mode 100644 Server Files/instance_1_takistan/WhiteLister/whitelist.db create mode 100644 Server Files/instance_1_takistan/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_1_takistan/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_1_takistan/config.cfg create mode 100644 Server Files/instance_1_takistan/rotate_logs.bat create mode 100644 Server Files/instance_20_fapovo/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/attachto.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/scripts.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/setdamage.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/setpos.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/setvariable.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_20_fapovo/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_20_fapovo/HiveExt.ini create mode 100644 Server Files/instance_20_fapovo/WhiteLister/config.txt create mode 100644 Server Files/instance_20_fapovo/WhiteLister/whitelist.db create mode 100644 Server Files/instance_20_fapovo/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_20_fapovo/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_20_fapovo/config.cfg create mode 100644 Server Files/instance_20_fapovo/rotate_logs.bat create mode 100644 Server Files/instance_21_caribou/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/attachto.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/scripts.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/setdamage.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/setpos.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/setvariable.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_21_caribou/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_21_caribou/HiveExt.ini create mode 100644 Server Files/instance_21_caribou/WhiteLister/config.txt create mode 100644 Server Files/instance_21_caribou/WhiteLister/whitelist.db create mode 100644 Server Files/instance_21_caribou/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_21_caribou/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_21_caribou/config.cfg create mode 100644 Server Files/instance_21_caribou/rotate_logs.bat create mode 100644 Server Files/instance_2_utes/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_2_utes/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_2_utes/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_2_utes/BattlEye/attachto.txt create mode 100644 Server Files/instance_2_utes/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_2_utes/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_2_utes/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_2_utes/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_2_utes/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_2_utes/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_2_utes/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_2_utes/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_2_utes/BattlEye/scripts.txt create mode 100644 Server Files/instance_2_utes/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_2_utes/BattlEye/setdamage.txt create mode 100644 Server Files/instance_2_utes/BattlEye/setpos.txt create mode 100644 Server Files/instance_2_utes/BattlEye/setvariable.txt create mode 100644 Server Files/instance_2_utes/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_2_utes/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_2_utes/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_2_utes/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_2_utes/HiveExt.ini create mode 100644 Server Files/instance_2_utes/WhiteLister/config.txt create mode 100644 Server Files/instance_2_utes/WhiteLister/whitelist.db create mode 100644 Server Files/instance_2_utes/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_2_utes/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_2_utes/config.cfg create mode 100644 Server Files/instance_2_utes/rotate_logs.bat create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/attachto.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/scripts.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/setdamage.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/setpos.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/setvariable.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_3_shapur_baf/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_3_shapur_baf/HiveExt.ini create mode 100644 Server Files/instance_3_shapur_baf/WhiteLister/config.txt create mode 100644 Server Files/instance_3_shapur_baf/WhiteLister/whitelist.db create mode 100644 Server Files/instance_3_shapur_baf/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_3_shapur_baf/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_3_shapur_baf/config.cfg create mode 100644 Server Files/instance_3_shapur_baf/rotate_logs.bat create mode 100644 Server Files/instance_4_zargabad/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/attachto.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/scripts.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/setdamage.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/setpos.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/setvariable.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_4_zargabad/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_4_zargabad/HiveExt.ini create mode 100644 Server Files/instance_4_zargabad/WhiteLister/config.txt create mode 100644 Server Files/instance_4_zargabad/WhiteLister/whitelist.db create mode 100644 Server Files/instance_4_zargabad/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_4_zargabad/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_4_zargabad/config.cfg create mode 100644 Server Files/instance_4_zargabad/rotate_logs.bat create mode 100644 Server Files/instance_6_Dingor/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/attachto.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/scripts.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/setdamage.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/setpos.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/setvariable.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_6_Dingor/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_6_Dingor/HiveExt.ini create mode 100644 Server Files/instance_6_Dingor/WhiteLister/config.txt create mode 100644 Server Files/instance_6_Dingor/WhiteLister/whitelist.db create mode 100644 Server Files/instance_6_Dingor/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_6_Dingor/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_6_Dingor/config.cfg create mode 100644 Server Files/instance_6_Dingor/rotate_logs.bat create mode 100644 Server Files/instance_7_Lingor/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/attachto.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/scripts.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/setdamage.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/setpos.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/setvariable.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_7_Lingor/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_7_Lingor/HiveExt.ini create mode 100644 Server Files/instance_7_Lingor/WhiteLister/config.txt create mode 100644 Server Files/instance_7_Lingor/WhiteLister/whitelist.db create mode 100644 Server Files/instance_7_Lingor/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_7_Lingor/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_7_Lingor/config.cfg create mode 100644 Server Files/instance_7_Lingor/rotate_logs.bat create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addbackpackcargo.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addmagazinecargo.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addweaponcargo.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/attachto.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/beserver.cfg_example.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/createvehicle.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/deleteVehicle.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/mpeventhandler.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/publicvariable.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/publicvariableval.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/remotecontrol.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/remoteexec.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/scripts.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/selectplayer.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setdamage.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setpos.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setvariable.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setvariableval.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/teamswitch.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/waypointcondition.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/BattlEye/waypointstatement.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/HiveExt.ini create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/config.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.db create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.sql create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.txt create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/config.cfg create mode 100644 Server Files/instance_8_ProvingGrounds_PMC/rotate_logs.bat diff --git a/Server Files/@DayZ_Epoch_Server/addons/dayz_server.pbo b/Server Files/@DayZ_Epoch_Server/addons/dayz_server.pbo new file mode 100644 index 0000000000000000000000000000000000000000..accd2cc0b2f991b9681b5c1185e7930627635cc6 GIT binary patch literal 1374353 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

`2a%p80l#PQK_1xK$5J4-?}!E@ zqt$QG*ORA@&(3BSm(@ES57jivulVBkuJ0m;2(0l`n4-w|y<^#>{ zWg!yte~&CUK0v2#Z@`A^4=)O!ffE6DFnAHuzGw1+Q8w9ku8%;TsxJ8I5-QLn-IW(1 zcd&R7;|hUw@_c&r_4CJRX%0xiGKj1>Nj#ArYZg@*v>z8ry}eyhgaj0zZ$FQaOBjsE zVr&D9IGLORty8dmv*g8)=C*-$C4fQ#v=?0IQm0S#UJmbv6_mU@I-8+qKVE9SfyIW% z&K;>f{jykoy!x>C+)F0CN^8>0H4=Dev?dL=bTFv0Xg`&m`nq=nE`u#YLpxU;a0P=O zc_crU#pmg4IXN%p;3`*66EHo)5&%b9&H6fs+(}#LC7k7dZ z;=h2wgJA@Qp~VA)axA@G@Br6SN7lRH;ONC1;(!9BrzLgN_%N=Gcd$4S5qepiAR9!B zi*f=CcbzM`Co5U_dM#?5#O-dC32r)#WxdRf!Kv^x+`!^OL{MgN0jzVf1aLvxea5+h z0d-N7M6;dw5O4>J6A|vW#R=(u)jR~v9;xoA=v40|^gA?P3K;4oEtX3J3iRJ9e_AYU=$kPYrA3?=) zb0ENEx(>HUKk#F~QsuG_pfr_YFiO%%&;^>whD>~enRFh$PdlX&xO}(=Am(YP&a|3H z_SDqG6K{kOUtX!Rade+E$Sl*^~QI{;K=YxZS)4RZ?~PU2kX5n@!rD?+LH*G*Ts}ST`m^O$vQ%$ zQ6iJA^T<3&NZqc@c+4o}mw^vnZ{${YBU0Rnh4ig85clC0?GfMIpq*JH3c_VbNS}%< zWE0Z+#3$oW+CAT$ILJf0_i&5$2=~UIow>-tSRu<&dS&u~Oh!RG`5m?~h7#{_aQwvk zPq(O#@Ng{Z0YPFPioSSYoHg(f>Jj@iFcXj`9#6l4dhh85^}4?Pa6S&1mRyp*?p;lh61Om%MOkekjoSdqmTLmw-KG$SbfYnd#RMTW|XUILa~pnBBHIi5%ZC;Z1- zjEJ!gK1L7_P>oYnF}OD@_kkc25)co9Ri$rOT3Q!#`pX?M(Qv-Sirab~w0kT4#72w@ zvU$3c3HCeF;u&2D$7GV((W=NqihEx{e_hQMx|OX=xtaj{%1K22&ZL2Fnp zGc&LO2PdgoIN`!LVT)DZ+wkr$76_6aNjST2k#d6f0u~=){6-fa#A}j-DSRMU&?zDi z1%M=BRxFeY9`8|+M?75c9&hm=QbU-sfbTTW(J^r%kzITWQIqKy1u+hdA6(0PrKHlt zg@y}Qe27#JCLhGEDcEbuA}qGCi#Guu7>G#eJ`0rwk7{V*L&F6OJ}5GIgl=$p5hOAw zqUgH-qKf)LB@;QV9HG6NY{YhZRSmYY;e3k~5&or9P15PF=-{Xae#t)e%35GU^CWQF zJ@bQZHZ+Mu!v!op9O7x5Pv=*Yw^jLBcIlQ?6>{jkESPN1OOP}g<3Iz4k=#4cpfhH< z?D~7}&{;w3$gFUZXiHz0mTk~2-5

^2R$@yog97+Pol&7|AdL2_=B>lZ0P(V}&Q5 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⋘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 literal 0 HcmV?d00001 diff --git a/Server Files/Binaries/HiveExt.dll b/Server Files/Binaries/HiveExt.dll deleted file mode 100644 index 397f05981fffb34b435625b1ce79c3cf36c509b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1478656 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 z zwzRmq&fobZv%Waqqw*Xfa8dzFctle6klD|dBH}yy4dm)%=OPQK$c<5-orC)9W#pwL z)?}zb^^RCEQiCFH6jpE3I;IKJU#i|#uwlEoojvtI61^6z`8|N>;6Syd%Z$aPUqr69 zcKTc-;5Z{QPv`|S(YP^RN9#)2^cp()>sklZJDjij5 znG~v|&%;GljMys+{6>23H$%*wxX#T49*N1AqMAHoSOPF@A_M&N4$8ytH4(wOIv0Jd zCpMD2qv~st1uE2wv|NE$Wp#gS1`>Y3iwh9pr`MY7J5~E$`u5bm6n!f@E&8@Sz=85KC|ut8P&jj&8CrE0BUWSH z5Rk!+oo7x_H|+6!R{vyt13Sz{zj}108K}M?5Sv8UGJU7>4a1Hhr{E7764^W`)pbtl zIEvnXWNL-%grX)2W2<1klDsw0Lgs2Cc9aHFQyMh!<2G~DbiHG48z?@-bed-gIGvI_ z@GNt(YL1Y?P=gf#sN`KTyyorxSe~&QR6I^)Rg3(wamEV&z@(}RV}9cr5|OP8u;i-F zi(RTF!*4!6aJD&KATVDbzNQNvGO|*~^?oCAwCdA=*qy5Uc%+820s~)U>;4DX-Xcfk zXRAS+!n2G}b$-lm4h>wW09j@O(sWcxT|=^DPEAv!q^h>+(*oKo|G;Fn)T(oVE(hpl z1=uf*sK0wbZFhZbB3hfcvDR!Fek`Z*GqnY4^A#FP$EsKO3)UQE?N+vPe?S&-e)Vvy z!>nV(YgrG8MYYYnb+taLT#kBmh*gHAldw+9*~a zKC4;3)IF~@QC}+$+G;uTHS^qJ^Ysnfr5ZWYY2-2~Pd+`}##wfy7wfjplPaatkew6A zh6VPuSe1?pT&W98mGh*l^%c_1d{5&c)wY;u(nzAc*8HTSF|GQ{OxEMpKW)NS@0V0qdzWCnump*S8PIj{TY_iHxxGbJ(FxIA z{jE7i1|(|zl2MAUoEb8&l?|)RyAk%)%~bl2w#r0XS$t)Q+SKsl@+c_kN_3gxL|YJs z+#Tue-OBcG=LU!U)BO?n;6!H!nn{p%8(H#JtpscGU>eQa{Khgr3!<&M!H<4ymfr}0 z&9WnqXt;U`BpmJp*RfpWAFM3m8}MXN>yKkouzmR|5^AJEmIaCe1nDoi;!{ zMb*ws>GQVPcRK&5_Bh(t{9VmKMy8Nx$$3HR z-nS9y)s_|}+k)0Nk0LmrF3*t#Ej8IlwVs?L4(Opvt$#j_{S>e$iz3sO}?nS*TaS#|gOh`5qX@St0w(98Kh)yNp`5E{7A0 z?X-@;>zVu2k!?QtZ97ZNmcsIuvAQ=uXl;CpF6~IR2d$sbQ8TjB+qZBJ)S<_0>Y-z? zJ=U{@s$Zv$3!3sZDK5~RRWU*Zzru>&hOJs5+;jkLdY9m|+O^+hpYC(^>+f@BXTLrd z_dxH zI*ySe%%msCIUJTmIbReL>5|s0(SKBN#}Nms!;YlZzMpU!)(jXi!4_Al5!GOp@()UR z|Jdc>m!eL}?ng7qQD1y8hy}z2W-iRncohL&W?-Z=x%dY;q2z1=y~Zv~Mvl5o(8EUo z_^2{IZ#`4Z<_>HtuA;pAs&M^IE%+?(ConX&YGJs?=WW*zbsXn$`&Oj63)6QcLoxVF+Sc&*UcGxBo1xh^X8~x__ zjSUN|iKxzzsmQHN%Uu;Jm1eEWpkPWG@>6I{YHHP|8ovNJu!V<@uf)8!&fgL%LNc^~ zX>YOS$^nQ7|0*p*P#r=7v5MrZU~)mw8W~o}xYpb*d<`cTUTWYaIEks=*Q$4sG9wy@ zZx1G~3tGGE*JjFVY|QAjRC9<@p0^Hw_^t-+mNuwYI$MR0i6HC`S#NVNCFCwg8mTg- zpMT112?&e5z*9LYGn)YoDe-WnmVJW!qc`-~?(FtA40al@J%M2TOg3KZoU*%8AQo3ZK{BW(4f1a@HUC`PtvPn1!tQ z1V{*37Xa7kuuu5LSKc^Oq|g40m%aLFVVj*O(uf?f<5P!f*1QxuR^FGl4HY_R*DT9m zf0bk#8R#gqp`)i+R5b@jrtZg%qc42$VZsd&H97H-seBABn>H0!ak3C7O{vw>k&fe@ zLR!7vECm|biO`RW|D^JjGP;7!_F5AnX-*!;??HNDS-tQ; zC-1`HR2L5GE)13cJA)%#;H;eNI&9?#__&A5Y9(na$D6z>dUlLj>BD!7XO+)D#Gy*& z^-*?HPKwT`^;rm7kucrA>dPGS`h}iu%7NQHN^cV3;exdX1x@RU&3Pr{!>Xl^{#`?y{=MA9&G#s7;vBe%iEtAb7eCN5@Hv~4(7zVO zzg!YBzg$d>H%g5+2F*K)&G3+t)TC>qS@hr(YNQZr${MGuK9j1I75(^ht@roP2L>B* zhM?l6fa+u{Sg__w2p>mJa@L!#8m%FUOqY{mD0Xpkqv%tJ_WOP5cna@(Yy3Gj?hAo< zNzQbwAvsu>D~sv73`BOW~sca2)o?%pSuR1q&rg8Pa zWNyo^*#XW$cLmHAzuBjb<6jr55tV~c_1Oh$x5-%E5vXjdjTQIKuFc`}Ee0+~OgJ_} z$N2yC2Huc*t~R&JnfD4~8Gq!&mnYlLGQYusB8_mJhz6QPG_cGsG6myoL<8(zxkv`6 zQfg1vteP;dFwwJJ%^wbR)CP=q`6YSMo&M?;KS#6WWH}DJ{+z&g7q>*1gIb(hTexLh zCEpY>TzOLXzd>O}WhUT<%-aG+1%Ji{zd*pR3rJsJ!XX~BIlYb50nVD&$mm{^wFBem z0K)<3=P(>sF&sdDw%JuEBNp|`bga1*xs?a$ z^VX2-xP`!!6h z^`ZvzS&q?K#Id-vlJj<%^+pHULJr-$P?$PnTUEk^h;rmPm*=Y-mU$(Jnj&Z)m~VyS zkpaneVBYVu$K)!23v>B$T>ny=C!czL@89JbjM6L_l`)SbwgowPuobwm0GSLKnhT9Z zp+u2!q0$WJztx`vyY>7t`!HH#XC*gPv3Ti8J2+RwsEvN9CHh? zXX=)hTTmoZ4#XPXUu|~58yv08gm=Ouz{W1puq+^TA!Ow*vQH7&*0*@D(0gx-i30un42&SS?h}xQd<~=(q1$-W3S<tH|)XY`0!cFzf|zVD&J4l3bKBZ!@i8p zA*kF?Y@|r{DskaJq5Fw(q0#0y+5++3vLrP}0?VYB%zOv-q7f`2g4VxVCcja=pOi%gIgu%kz(u|Lv}+4?VxPy5~1!%b(JsCoxCq zI+8}e=osjCWEA>!$=bKk@9fd&Cp>co?qwXYfe*p;M0Cv6+wj%c4!e6)k!1(zkxirw z2Ecg4W!8RM=0W8i3T(uNk)L^P^@fi^l#dGM(~!J@wCclFw@rq$(v9{-zrD2HeADWA zCdW5@H<(0T`18PH)GhpB$CSSybA7Fn@o+BZ94i`aH+s3wXNs-Pl`diB$`&9=#kj$FKWamBzQM z`Iiu1JNE0ai?cWgt3;n3$qYwHk*?kKImq(7V(C2oF*arB)44!fu#mG}`7Goiz010@ z`6>F=AglLoR_~teYV|(ON6LweqoUiLz|%gBEBwvKbeK(}tjaL~)LG^PR5jLH0+X-vk;X>RFUBL_XcC~V`m_)AW3Cz!1D z2jSu5!-y6OeZqAq)K^o)qQT#bL;xIDuJ@Y@bAoxhR{c7^;3wNzFYoR@zvtclwc9$U zkdAihGBl3}v||3pat3m*IDlY2i0_2(xg3Z_tnd8&$cXZ}P%x(@=Q=MA{e|wy5s^gP zXPF%0I{n>K5}{c&1{ToI$Nqq9IJLIqQ{&s&>HI(qqo^CiHU8dN1^3Q|y&`Sns-MB# z`8a6m#EIKG&mnPQLtl-`UTH+}fJ}s}aW{K#O3kml1C10W4XAzve4q2+d(x9^Z>(QpPFUi}5u19aV2v0hijqFddj)G2r5>Uuh3_5>Ou-twW=CGh zd8H`p!y+CY$~iRZp&U+MyhBhp6t#BAmq@6=`l-GH8_UM@Bl$6MFQps4*ekQ8MDf z4RvxyWO_W>(72$*noqCWg|*y~<>6b-Ljiw*CFl;jt;@^qu)q>?;PfrX)B@{^o?Gh0 z|MJ|D!TFuKYO&8& z(^4&81gIw(GYG4) zOU#KvAV$@AdiA}7WX200=i4l`>HYH5@coCUzKLRcfjnO*P$qz<2Vb+NJ{dojX%W6n zDs%P+AHV!j^&QHE$Yrk&eHs=3`^`7Sp!YTK8WRvRue`q{RxZ2dh1L5D)`-J~Ib1&6 z5?$cwZwN8iEuUDB)Z>;wnGq`u+qp_bAPWq{?9WJ zMPkibzJEdb^^E{eNHTr<2Hic6IVo0qMwA&)zj9~{RPEa;N}2tKRlkD2x# z;1}?}_!EaYIwky`^MO864{}D(;Q#!OVz;k^JgM~}=D}f0*w4-h5T2;D`v{Av05K%F zo3p`;sykQZp7$x3gC3aUuZLbA{#sfuKz`RRj+GBoo_H)qGIArz1nT~uBHyZ{N1R4w zBs84Chm-d(llv{x2AHJ`H3pc4*h_{42AwxHH7qMXV4m14Nf4okSgoY+55--xH3LTE z^z%XP>UZXQ^`MwxxlJl?wNBYoh~Dxo^Oe4^@{~5Okp=aF%br`?ff%h@;=_3bYp0{0 zO7*h9gC+3jh#VDHEA~|zZWozXYu3GY;ivCa)mHvEjRAF_C zmgR{myoSQW*~(~lBkgWf&u@|E$%UgTS}V6`RX$X~YE{vL-imPF!nsU6KVLmx=Y8I^ zj)vB$=kE_mLo2AxJ^pLu2F=KaDz;Y@yE&tnPUA_glT@+qsbcjR#Wu(dW>Y>?ZC_Qz z@S65EDmQ3UK2))GRjeqZSW<2UByf}?(0oQ%p{|47M?th$X9@lcNf9A^jGp_Gamt50d;C#(x za6Qhok1L1zKIjE~75n6Rye=xrpC3g!`ohCPEaStuofCVSfV7YyaKjC z-&531(QE3Hr_bB(T6apJl)*0dZB~qt;*|S?gX8 z!1PPztULusRqOo)YubSu52_VZAZ}mbl;7M!c}*%1SGi6WyC=D_wLS_x?z(?zzQAw3Ky3kQ)0yMN> zX*AQBJ=Af3w%Y2bZ2{v$$OS5xV7+tUcoKVCp+wz`EVXzb88{E7OpoNeLhB611xE~7 z|B1F4Y=-g;>72@Y+~P-w2oB|*IyHPIIS`lJqrX+;z^f0`_`dj0uKj!&dz6FnW92^% z8fzt+Lh`y2VkfJB{zg)Akr*l~MpZ?@eLq7=oZK7$e(V4IFM~~D1og(|`_b&!+q@N# zCqu~%{oLzV_J1UAqhA8;=2(C8ItaFiJA~?&-Ajbfxz?vBj}kF?H{~VLY@YQ^?sSx? zavN&7D{uR)sd9Iasp9Qo?#kQatdYSJ5(p;gv)|6QS}7ObS=(_$71g=q##=8_uH#Yt z_AG6L&7m89+Kx(n~&Ia_h+eFo*54v=5OL5d0wTW4NKjE2$^+1s!B`L&BR0UoOwI5 zN~L|4Hw2r!Z|HO*I)$_GkZh2Nhon@;3Q%G?p|e$%q&}6*Q_+g8>%mfM-0u|cM(t-g z@z8O=7Icw3FQ~;-o~x-&d`vH^uJe`JAqV=xhh-0vsHU6<7ugQux(G%mb57G=oE9WA zR4SP9Fu9>dbR~v@Sw@2Toun#jM+&}H$x=1diX(xd<@-I0iAdMd!{lZps4{wITd%W{ zqFc5w9?7kb>zn6Tdw&axuUE?^30|wkRAl{l{4h{G&_rqgGBkA=}9_luCc?Nje@^LAFCb*7W)avDRh0WKN|mg0s2Q z0P(Fp?u9^KK8(##{`RV3s=Pp(S$-GyC@-%Wn~zH$*Ge%}Ub>uFzEhW%*Nn|O`P;iz zimCE4Zr<|rl+d$}(tx~2YIF61l#?(^nF-S!w`-k1d?#bqps~>UI%`4u`R@!Q=afN- z1ljPMP{>A5ag}38!V8SNw5BIEXKBUs108#0;vyJ9=AG-ERD`HhqdT6f+38L^QG3C-X>1Z-Jm!@%mw>DjZDGo73 zVmpnPL;zJHWBqqMN~xyx7)_|GyM|h|l3*$#BXSA06XdB;AurbZ ztSxiItNT9Wvm8Krc>W=4^RvtZA#+s*Gef1oC^B2un{VR+U0{8$k^Rs~Cnsa(;DEOZQ;o8j z!(C6{XTdm0Rw$p+fTn*!O@8znhIoS<-xy4lu*y&gl$80#hnM=Iec@HIn)_5H9R-{^ z?D?$vx)UQmmeDpIx`o%18{{vrl~uo75dSXs&Fxj;o`QQHmaos2M|xarz3oEXwTp;~ zksj-e-D;jpRS_-{$sn%O&*}*?wo3jF>ir0$P$gv$#jKi-4AUZWgOqISRg@8eDFhNq zuh@}hH2*F0>ExA6+}d~U6wAf(-q%+PY`p_r)hS5g5DPFyL!z5@@aChKjNFu*AJ7A| z_JFo(dJd#{&S_fG*wD0mKwzcmMm@ULD`bK)lQKpEf!k9bn-0}+jXCu6GF3MK?x5}+ z3VW`{%n9u2P}s9dEoGTA@9d8?RTvyUq-I!SQ+w2nO-@EPZ(V>wLZH4nL<^a^8@Z6;M+lx&W0m zP@e|PtYPyf&YTC=WzZ!qxte!9`+)!KufcOAt;hm?MN10JjjeYBXRnRopTBM_$Uk8{ z^%NDRAiv!D7Y5aV9GfM9+>Yj#8pa~MTU!^ckd3=iwwLhnE39=tS6^n3j*nX^ceiXh z?)N28)2bDvEJ7)wm!oV?V6U%tt=ggr*4!gpf?of#B*Cg{P_W8fdoz!d8>H3b=Ed~U z+CQY){p6~x^3zwaM%){9k7T|dV8HY;1IjB?eF!8s3+HIvv>a@P2@!%qnrRuc@bRmx zTYe=>NRJTmt^JhaW~DX%m%>T-JD%Y-i$eH4;X10UW=gXdU_}(mCw#}%)(`c~j*Y6c z!?jdfW%>byW}13s@t*AGQLD>&^eLNDyk7AtP0g%k6`7O$ZL4A*aF0?ivG=E}%rqaO zd6tJpGYh<6Gb7Fm#q>8TBSKllyt*oX6bLCRuNa$!bL~|{d;*9Jg&PoIqA4q{7@Ifp zw^tQWWo0^!(DbA4=5|I7@LKo?^PVXDyt3(X?PU_B;}3G z_o+(dxlau9B;}($0?fe-8*Mr#X_T=Zh{ys{_|@8@@(nM|?GUG|G*{zdp{@67$QyMH zMlvbPDv4M6IxiQ@8|f6{skZoQtek!VIipMW?3(7PF1&MF5m3+RWbb?Mk5F# z|0o^`AooBno&&AKthp}#WqQ*T~cw@m1F_B!$~1 ztj3F-VxE6JIotynh8?Tk*EzA#;WG^NzUIu0&BCQmf9Lfx(LAM={Skn$ZapMR{-|2= zySPEiVQcZLoG1GA3YIi)a)__9mQYlO-kM`>5Sm7!v88!Y>-(@b$)rjL_t;Fv=>_Xi z`FP&?HXn8uw3 z@?AC9XnoGPulMYRMr%H|Y&Kc5tk}c^;AKOkD}E_c#4?D86tc$i;~ zPEtjE5o03T+zD+PaVGHmB^04VCJcOmg^fM46PhrD@lg-uRKHdbe~Th0((jdcIOV_8 zob`Z2Re5#Wz(sklR+A7Tw$yyVBTIjF+v^wQJ-hmt1Y9Y&_eMBM2E43%pMG1#WD!l> zEF!Axy5nOKYUL*?)XH1cLr$obZG>7O%{fzG74_<&7m$+vZzhX-WddX(Y+wVzu%E@G znR&uBlSsqk2_T_$WEvLBG%OZ3^pfNP*z`>VJ~Yo4Ciy^t(NF(`Rp0UYF6r^9yVWU{ z+J8y6W|5>Md{A`&uphNT2-l7dJc;kq4Lf9)NI>0QIZTW^rg9i<5 zZ7?gd`u*6Flj7)qa$xXa_Xokx6+6-s$)pq|3s)s)?8}(aNrIzO!O;}4@OrDHaCELr z>s&ppa+C~`K`!Gc`MmVCSH&EaF4MQqowRSyp#~qLZy!13+Iw)j?psE0#Ae_|SxqNf zZ}rlbdKcNd7TKIl_B;s4xwKQ|ljxyqZqnx|rO?!*Goa}zK~qKgF2LUS+<`OrdzMf> zYhc!BnpdP~-ju&3wbvO*P4x(PFO6Au_dp2mE-kUqYO;0Xqjb18_4s3)%XCU*n=X?m zVp&%FRm8PKHAKAH4B}c~6?)qtzvFkM9lO~AYv=3}BPXldtdW2$8EfMwpp%acRTduc z{Dqn)bu@cdm!?=NXv)5Cx0h=zq&=o$hB>QZbiJpl@=WW}ELG-6m1-C&)i8YP3k<`0 z1soC|XfTAifE|}ZfoCh8Dg9fWjzA1nfI!|wKp4K=|uXLVHbDmz}JS}pbPIjL9ou}_zpX%z6 ze3Q}F0R75&@Us1&!TPy;QvmI7o<8L~{ekoJ+s@N(I#0jhJiXU>+T}dG-Ff;2=V`nB z)CMTZ&zoM)3AwKd`}b@<=flr^n(J@4zQnbhYc-e2wSnv3xc-alF|Ms#eO#{%c&|0~ z?;U*pkC}Bb9Hgu%k>SeZ*qN`%Q+7`oc4E!57wj(1GS}neNs}|NM zw5qGn*Re^T1cWDEj6+wl&EHtCW91rpX11HblzR7pE773xn3H^0Nj^~yZTYo?+kcR0Qf$6cl1}MoYUa+=3uYj7F z2C7nks>T{m)&ukf#`UIq-NF|wK^#Q9Z&>uyc~s9`5kmJ>ZXKb{eTRv>eXbh zFy)Zt;8(pHzbexBRp!O7npAKmgQ-vdM{TZf=`eY0#)Dr3i3 z5b;*M;CFU_)SPEV^t8iuv0qLDB-t;EvC0WaNCL9?G&CYeIVkEl38eeH^{dA~08&sB z6EK|*=2yJuLV*9BokD|4pWH1MKU@N;0)}zFQUBSxfWF~I0{!!{A!=zrHYf2@CMjmK*GgH0T zxU&!gYe}i{%ttA9f_&o$q->Uy#un+7U+Zn`P*{T8Qe)syaVe8_vmDuIa4`+ewa%28 zQj^y}shN$|#Yh#zK$};hR_Tw_URr5OR}!_QSCQ)C{Ej!g^Y^h?q`Igry$+h{Wo#-T zn?YXI`BQk?9L?O!EnUWpevcS{VnAG^X7vBje14v@c6vVdXUykSq7`)3&Z57{eD07s zPd%T5WokaZ{lmX_K4%9q=CeWME~)ukxGDR5zVDsS)@%Rb`8?Em_I2W7YQng?Y|1FZib{6bH7D#Prhqa1xcxsa8c9ikhy=WUnfR``nj3AJG zH%kELdTlC^UPp-1vMt*13^P)}UdQ=GZo`|n%*dLuB%~sck0Rq{Qca<+Jjk3z;rc>1HyNo^f8$a;iM7@SBlQezy=`>9z7pl7VYx$g~?r{Wm z_0%oIYvfYuej2b`q$_*3sQYGB_uX0Q&WCeR1D3(LJS^4UbUM`^3YVovjR}e}m2;WO znbvVmn)1lDFoEt}uIQfRg>~&)pPZ@IN%bhYSElG*DyDA;x)Pyeodv$K9Rnw*h~ym8##wBxw- zT4#bQ63135eAv>yJ3U{vVmw`OV-aBO+0!(6sPScxQ3AYqY*WI-rs3LM}Z^ zD(pl`dEvnKtsgn#FVO@>gGcVcWn{sTP#CFZ-s!wm0+bNtW4u@TOxx}#A1z4ru9VDI z1&l5NE)r9Y;J!@=+x*@fvNkw&_bQ4v<9w25y}m3jxO!vTr{l~Q*a9vTw5UL1<=c#| z8~Q_ zG!YHCH9Qcoo@2rAP0;4LKwc03y_5G&vT$b|Tl@m-kZMOO5!!ylXTK*F0p=uf#k@DY zM^}2Czs-AY0^*!62Mm1t+zy`_e|rwN@T1a34|?g2|H{@YF>bNq_n6ultr+wYaAGIs zNJJnq!aY`iAq0yAl}|Ik?SDLoXpN*-#JBzNL!iBji^T4I?wd~64%5q1b!`xZthZ~*T}Aq~5L6b%(&?Kl4Bfwn(*9=TN6eCr zBzb!PCm16(WW*dg@=oW~D*2AYRzVq@0|vR1?|?m57-7s%CG`=G3%jh64U&9EXWi+| z%Q1Jj7PpFO0Tq?NaRgWUFi%-eMvAj+#XI8qRvK&Z1csSG7evIn+bi$cFK|xt(zz@Zh z_6wGWw;h(yseeK9H=l0vSJ}-g{k3lY+U2#<|G%X9Up;-Az28DXO=UEGo=&_oLV|e$ z>ktsEXMC>2JKMqs5hj`?4TDh^9H{3U#o1yw7hM{hWk9CjHRd zNza`{$|9IhNewD~Boah>MVq_SO%ea3Z>B*}-}HJPt3HY4m44N(?@rIn(e**SkmwMj z^rB`JuVte72?7(|D$(lk0LOwrBDXvn`;Cg+BJE>05hn2GaUILpv%ctp`QUQLCdcpD|6Txx`XYy&R30<9(z$SIxTN3?by7!j6SmM1UFP`DO zB`?0Gz;fn9Vu=&Si<$qSdI0fMK7#n@HCh+)x`Jt{e31%+`i_ojF~S?zKz$s@XK^j$ z`afKEaV5DP=6Z^2JJ)j`;JbSYH9n;F2Q^+|Ac(@@(%d=}MmWmWv!@+;P|D!qetsSeynSolpDI0YYo>wbA5+v zD_1|)@3@Azj(vdd_Ih!ltl+B^qpdU!xdv3qv!w&)@hEftrBt~TPndzvQW>Jp=FDQQ z8ogiTeQ_OC#K5|S_q_NIt+49VU7hek!=IX8>r?ts3L3q>Oo^SHs`5r}3HtC6b;k~2 zqT2VRA(*Kirt9nVrdLwyH(mM~wAx;HrM?#PSgQ5pP73t7IB1ENu>Ys&cnO@dB^az( zn_CG3H32`6UBurWIh=~HLVfU=hg!wYRUBf6e5>CC#8rkwdkpf(6^lhimhzl0KkgPb z?WMfKq7S+`SgCW8u~zI<*&yS$6cwIWklZ?rpO*guPRAphlZ>q;{5H0VrK@(wtt0^s z0jIuQ#vM$;Cp^tc5m($$a`Q}X2?J(^H6cXBMj_f=cvrw{$XB*JpFEX~a$0M~Vio3Qb?e>E%gnkU zPuvEly-{Oj&{!EVRu(#XsZ9P;`E+0Yy%gu6@ltto%u2OU*=&9S%Zdsbu)`@bNw#Tj zb6=fo#1d3Oe-z5c$jdAvSJpW_9|PZZ&P!S486wIMm*?d2W$@gJg{~_>m|eUvCpI;H z_=M?8&Xa5{6PD&SG)R8ppwU(mUsGcUd&pYOf z-|E4;!M8L%FL0g61fM4xYwttOq42q)@I-TR>l%JqGqBrLLu@>>g5QR6%hdQ>WGqtn zyo&oW#%X-sx}IAKpV!hmjn7iK;Iq`K@p<=U3ZJjuftfJ)Oo}~uC&yY%PbwdhpP=(( z(0Kvq{Co;iU(f}6kNMQ58HocA4P z{7#O4PZlw_e_f18KDnQP&~=hk@y|tT{QJ_F9R;<;V*6i@LzMm^jBHNc>gVv`EaR%? zLLxxt;||ojVETb2Mv-yuO>!?=+CKCPsntKdXNi$7JCuuF2Vs;hg=pQwX|BMx{F2+o z#gC0FKY!A$*o5hXGMDUkJGO{nk0garzu3)&?pY21Yj@v1Ssgl^M^seco3v{S?3Ax_ z+!l_#>DSyl>e%g<>h>?7{fXq}AwY}^fYeV7!Bho7fek_GSym8I4^uFle)}r@Uupmd zIN=(B%=Y!OG1}J;UF~c8>o4tdP=58G7&L2=A@;Oz z@C|AovlqUyxS!ZXzzRD|4J49xl~5a*ZJxB$|me5GlmLy@@ErA z&tSTwY@-GIz@yhkS6YO-dT=MGmR=vv@XND4`nh4R4{Z9ZMQnzt^|7Bv=GZHwk)=|M zERZ$gtPR$OcoCFYKB&#f*2qEXR%_(LARKJ=eWeNz_ZksUStDQgzo|8%$GhjhoW*~N z{Z7)VY1GU8^D!ms-qiRP?@dC}bbsp8lNBERqGD)R!L{h0( z$*uq?VXOxrq{LA;N1Z4fZHvRHjg=EdCsY|M)Hz`khx3D6WYv*=ci5+JKQh~X6;$be zAY3;5MQ->jJ~;db1^&ayE{j|>))zGV=b2%P+}18^&+Nk9R8E+^Iw#Cw-Gw9TKTepP zuDz-YgE`WLU7jxNq6@oJ7fPfHo`1{-@*dLJ)e(J8h1f;Ab3BpHV2aJpLjm;LB27-k zgBzW-?CANqq4-@zIR*dFvxEFI$V1-Xj{Ewp>o@I5H1QgbB{!5mip?W&j6#LZEo$hxd zJE?i6diU3l1bowgb2``6T#LBw;9Af1BQ6`ip+_*{Y>atWG5D>CA7ZgPAu{Q|JaosG zI=5I+16_oZKC!O@r_G+yN%;BJBZ=0%*2?i{KseUbEi>|$67@SkmWI7)W2V2)SFX&t655DE z)u`x5!H!2&y<40bjjlbYn263~eTb^%L_)PI%aZ88uU(LA+TyikD4>3$y@X=p;$3@G z6B$vTRA8#5sdk7*WmlgLO!Z?8W4`pkm#p_=)!G&wYt_eR@R`F&-MWIWEpD@B}l1aH~L>^7@J@Tj#Nf_ZrlHmuFktd(NjUbRl zWTT-XEtqR%&XSS)j3)knkkAv47?D*i#6;q@C$yB&^sqG-)p-7>x;5w_i;Z!;*Cdp6aI_8cZfD6ukEdBuOy`O(tv9o%P8L0*cY}=u?d{ zZjlF*O^+H)>yq<2jL0K+n#;oti{*_7psz`)V0lK<{X``+)F>pIHUYamBFZ&C+4P{% zv{Ae1KfOz0m^CE~HST)!pMFX1ZCD{yYZum}8l}2rMCNEPR0Ik=e8~+0Yc#nw%17T? z0cH<9(lPkQkR+&Fz!$SUAcbuV3i)g-Ho5~DW zaQYXyCtaIVC9)M=TOY~7)LL{Fk_T_B<+R3g){Z_5C&?^wCCk;dj3jvM%`}Nzhm!eY ztRe4m-RP`RBm4|OKNGDRt)Omdd{Xz!S+N_vEB22$H1%(lFh7E$@vdhSaoFe;>TLO> zpj&w7Q-d;sP3u@7gx(Yy5m{$MP@p}m7t;O7raeXzi|c+PoG@FI9n?6ep#52g%Bg;nQ)?Rdof@?K{2d_{g6?poE?k zXxj(xz~^)e6O#AJc`|Ds=Bq|z|D_v~{+w?7i5hq}XitK(99%v5{R!zwKre;KWAx;y zCm>lrx+EF?KD$VRxiiu9gGAH!We-C%`qPf<2CG;k>J)m#4G`cH(;O_t@ zh0^n7dnmB}mgZG#JAO^Bidk9sfGui^Alkv#6(&UzNflMqkj-q35qX$h4XDiUx@2U1 z6qwis8ko0aQ-amDUZ}Crv_?l_6@qNtk3TpfWPm)LZQbn#A_1~#Z)0-)7Xd3|_5Mi> z;~4NI!;b)qZXa->NrJ~F!+U63)B8tmm!Qkxjk0@LlP;n0K}mly#XM?!evS1}ZfKc8 zvbm(ux{;qU6i(cwQEMW2r=sWHku9`=mgt#Ze^g`4nbu?*?lDlO;EC2BY$;Vl4(cVH zcuMVs4518Z!rpHgV3>zhPpLgIavv)W{=y7lIb&kQw91GOjpBZDeusHwqDZPtEF#%R z$XHfr)E6bcE|}F|6$)3IjRt*xy@v*A`g7z}*Zx+PCO&TE&C-JDBhKE|+MgN@vCY}* zv;6cN?G4N7#z68hb;_OI;$qzH3`Hf^%>TZxCf3D)dh{q*`Xs+xW>>B1J^0=jTOCGT zj59;C}2qtKYnRzBwKf z%6b|B%Nsx`qkn5Bu*|5B@`h7GK_h2o%XQ5*hSyx!Szh2c9Ai;2JkUn&NR2>FOTg+={ZgSFpezc|8nr8zr(mAok0id0_U5y9ZNMJ^v z%xwryq(xf+rPt%zk2v^&bygM;-qI3n9cB)xRC1(-`&*<+?EdHg`toHWNi)5quP!j+ zOSDZKnYu+(nsxp}+k}+*H;D0HX-=YUqM*sS#;5(prvpnvP{JJRenu$KR!mmScCRgR zO1vkzwF8h{Y;i{!(M67M9zUXt=o&XenDV#nB>=v;SHaWQ|3m2nvQ1R)!@%~zbh6Yt19?N`@9TH|koU67^l|8pi^UKB zr|QM`s)wBz7`-4=Z`4Wv39=m}Q=xsa|5GqujGY9C=WnpSiVD`u7tQNwbR{iZ(EZ^& zvEpH8ejBn_I}??9$QG@QOx?rOA+W6mjz z4~K61uvsv0Da&XG&0+kQWcM4NC~7nN)JPJ>8`}o`^#v*IH^-y(>N8tH<@*}*o^MFj zR^(vwC>F!rO#v3LQiBkue*$TF|bj9wU&V)*T zF<1{WbFp($qy!?sDJTSqt8d*N^f|Yi0xijzQONVzm;n_$*^e#ouS1izzxevw-#u&h zlDEIxE~TBS)fegqUst8&+wsAovE->FZ;{Qw9Ev|be)S1O-Tmg!z=zHD!Y$wZ&Ue1^ z?r+WKUVQz<-&a3-$5~tCarw67jB~5^-!bkd@@slea$XL?O=8rXvzi1xBlj#nD{ps$ z^@X`P&~q$PNfEt&0C|ap{Vqwug*o-PQwW9+MiC<_()02Ve<5 z$XH%z%n!v+2nl~*HVyxL*9x>H#MBcT%q}*ZzPrKR6>PhXh9$;itB9ucJm~Qcx#QVO z_Gp_$OB;vNO{i2?VD*SlHIEMpHtyw=-t|p$@Wqm}j@Z zMXd~yJf{&C3+rbHOj7AT6eD8SBteOYsh#&K`!D1%0ChC;8>}UhZ2IUWk1`{LKa*)I z?>9-n8eEqwJfwd9f^5P3WYdC=aLHs+I}WA2RY`&v>&>sFhRH!%wNre;!z^iocY8-+ zJlRpvhwtv3Wg}TA>7Nj_@@}xPEcTIPpS%%%Anl&%Qj*`b^Z%DBkni44i1bLjpae}eRJUzl}4<8?Mv9M<(khb zCNqV(`I3q8?usCON@i`vOsWf*Xj&c--behR)w6>2+Y(~^uejYcyJG^Qa2~HG`6Fb4 zR|_xgVL`-)YdWu5J978Ofb2l$hcT&{o z8T7}y27R%Q(?61VHCe<~Gv|Jya{5S1BZT7_3ezwSqX1|5GztjHB>sz$fuGo@qVOb*Q0ZcVPd8KfVpVxF#cTZC3oB~C)5-+3qgoRzw-GV@p02(} zW+jA8NVZwYt<D{X&YK%tDH}sHwd95OjHJzLeU{+{&w zBdg1b0+QL8^^JLZpz6~lgn6G;Vl?fq-Vq~J(2zch4sC1_NrG(G96^_TM#OfKa+@Qq zguG2Qoz<8mi@7*}iH$3p#kR6$W!{Q$aBLwf1$t4%K?r-_0QSC^Jcoz4b(srI_-Uhw z2{VvNOsWf8kfamPT)Ma%x_+4-r+BJ;zHBceP*Kd-R>eOQqP?UrY{j0mL)v_ z+HU_I=@yhgEFCC#GID~<-Z=$NM1~XfdHj4Qv1lB3@)J=OXdu2F8EYRf=v_zXeSC1P zI)aj)jaq#zW|giTt8}30KGQrm(R37=rD(lR;Jj5m0e~y`E_?s6o^j|;d~jiQ`KK8{EmH@4CG zj|oiX;LH?7+G~9NkwzR4f68t6XQnycS7ObQfFCMGwaz6IJ1oJL_oN9;U-+=d>N&H> zQt1uv@m0m1kun?8WjrXQ6_kT3Q;Ua*=PY0SZs*52Tu6NJOvy@SKJIvLF=@zOa-=JJ z_QY3KiYllsBZyI7U8Mr8ZiWJ_u2c@Dr_+K>79EsyjK=Ab+kRUcjdS$T_4`xy*B`VQ zGq;(V&oY;V%9jPrMt}9bSlOx-6MdbRD9ie(W;9eD4OTVyWBGDB=AYivwquKI{B1i_ ziPWpt`^kQ2C-D=`X8)VZ$_``mKWX+hLDiMM|lvy){&RYY-26 zdUL+2b}F5G#;gyO*9WWS`(u|$r2`jov)JzWd;wo~ae@LIie@gb&R`Y`eiDMO*acO@ zkU+v6i6VS~^%gD@V5-$kk=OB$*K8U66Z;=;e#Ybt0daGz5r-z+a<*BQU8IQ_HZf+- z1F{_%wYu$HRa5qG(!BWw;wRJrphmyCFlD~9*8 z`|npz|Fnvy*ZVF9m|0x)Tn$`*&vhr)KXW9Zz9lw*9I*JY|U)IitI&V2K$!v%58z2>+%#T-X=x5rj{KElod*gm!jEev^pi z6+F>oCF&ua%kq<5yUcf?pVozlgbJSMk^JzNmY{~hdmScv`T=~|*$jy}G2du?IN9{D zI0occn~+K-!#!db_HDkBOyyzgLB3$QZiXLb=eiL0j&qcI2R|m0%n|nv^TkH(;L-Z9 z8Sa6ifeGR$aDGPFU9PfO&J(GuWZezp647yH0}1p(W<#M7Ei@b8(u&N65+hn-Hk2CC zQnR7Vh?bexPc!PLWzq}gi}AhLZ4b4I0n0YTW^086s%e^L#!AetQemL>BsejJ2ct&o z{buV7v3+WN&}^-YvPrNvv_9P3I)&W{%K%AphrVnDpp}@|rqq|3k%s{ah^*b@6HE$7Ak-QPMNGvhGMwB#X!<5|Ke`!~df3 z+UcKu05WI%OD8rr~8&5%q3;40UNQ!tX_IS`$rWUV#aY~5hZnpP-sM@fP5rLYo*|IT_NbIR6ictCb#DH;esur4 zrT-I?O@oarphV;iYr~+c|J~ui?#LU7@ZLmZ-s-{s>2l`TkSL*CCep_u~rW-d809;7w4F({8Re+eZb4=d{~)Ekc&u`NdHkjBbJx61hT-Ovv#g=_=bJ!vDbrIb!~ zt+IZ7j?ec~xC38R*I_XNk~wp6=uY)jU0dYwBbkqF_{`W4HYuN%&`fT$9$JQN@z0vG~LGUmauoW;A*y1FL67@l2S;$xcpHpQ0@MCGdVUe3} zh$u3tn6*bSrPaG+9!hqMmSlv6QGhEV`3Jr@OCw{Gh`=>C0|WzdGOi&4iFC?l8`*=GguuCb}qxjZJu9@xJ1LL>9D_vjX$iY{r7AmNTUa zYBRPqsYJt5Ayd+usr`P7=s2%3=LNA8;2d7Qt-3$ArW=-%@Jjc?VwYoJgUdxj)LLH3jwwQSwv%^i zbAtJu1=!+DAb8yPcH+4JRd3yd^pEzWe_{$!`qw}#0xefq;KyA!SlwT+_TOlyMT4k} zt2Bs{X^~KZNR7|dFxuhX7~ni2DXjGOU8f)%_>@__>K;HWGw1k8j@cNs_KMA#7?3Cs za{)21q;C!&4)}ZL09zh#S})M*2%+7kqfB&chyY!`*B=rC*C!`hAsmG7w03 zV|YU>$A%d-jDA|p$<;3`Zz1V<`LXKlv8&6s#fQbzC2c}fQ~qN0c5H>7eew74=SIq3 zt$qbdq1^+ydCykw!cs^v_+R`r;*2^`UEX9)?k+57PlQJ5{5S28z;fGSGtINhw~wy& z+3Ian`{GHeo$6HU?=DCLsIvVgbyQv;ksAFiW_9&&=Q#*A%7>a$`dyjzca7WqZFW(G z_l&>jAhG=z~k@?n(Z%CmN)$cJ>FELd6s{0wL{zmJ%UyY2k zyA;dzs?_+=leTxuN{__4L6D^SM8TRzK*|(8h(*S2M*hZ}&T9w}AsUZhl@Vr<(2Fqa*Iq{qIx6NcX=az2C(LqhrYTkHzmP@tJQG zta*&dL4YB`HU#QA8LZAA+|&c}wiC-D-1x&iNl6%VU_Tz1cJA5n5?ZuZVmY9aNa5(5 z683(qKLLl~HO6*!?=F`c>m^jQ5r` zi}aD>oRW7WTle58e4h1BuSmaK3su_z1;`)76HiA|Ptx=Rd>AQB*0&JkD{|B$V^#`C zB}IO6DZ`@dcQVR^k0NP4s>=K$Wip;djv~$0Ph&idT0h^erP=EaHRp!j=gOhki?}|; zCHLgFvsm@`yY$5>Uf2&AP{ix?i*gaK2cy=xoRc`^rsAAMf+Ty9^OO=*D5RERjn*vh zJyovNdr!(C=veN(t4d;;o>?O$iB9CcOG)eL$LV5Iu+jRVd=UUQ>O1HHU?jfD59IM* zqo3d6+RU|^>k!x5T;u801zeYLUH$>Sr^bx+i~J^P?z5MZHA!qW(lk)7?{yyfHVT`u zkrw#~rxG?2^y?R8k&g&@oB!NtlebcenlA`}`wpARUy;CRe0I~fh6U#SRPV*m#M~ig z8hZ=S{rBiEUG$BUZQ4W-j#UXMUo+pbvyoeGP#rPb%|3?4x|O*CR%)3;Ro62@ zspatErqr3TEae3;^K*&>X%BS`?-sYdby}JpyP!pBj#zvb0Q#)o37Aa!bE#qYEo1ID z?0C-rUPlZ~1fTw_Lj-mE33vPHc)O#5m5Cn)q}<$*i~-C}1&kOA*>I4Nq}Pn?GM}^l zn@91k!^*2pG`wRE3Whbr$}Q6n=`l&+x_oN*7P;ZGldJp;J4~0mDcdCacm!ob6c)_%+Av*oXTaGxx~8?CFP+3>@% zy_yB)2{ZPHxzEC6C57%g1(!3NA(?JnXAi!WRb5Ans$x9ueJi3urNI>)ME)zrK2 zXz3j%J^30RnO|_tiJAD(6b2~drGM;aZ#jT!{79bz75)_24YA`&s6@;?y0P9&M23*V z8{wm9p5Wea;X7(QLC%JSpyEKL2<63p7kre`YV3mfXe*1J{hpZKBvVN0#A&n^-tnBdYOBFxe`hS*sAxr)6zdas)VYD^< z>7Iu!+>yaBpi4ocqRvm#T-h>2qw>~vb!9ysjXKUc%!3|(`Wr~gU$XccL6Yos(v4nhCp=ODag3-AaHI^{>W-8n zWpa5yBrK)$#`=Tmhc-`$(v5gmNyr#4lv1oK-FsjfMwyW9rOq0W`7U^Z@a>U+v&SS- zy95M4sMy zIpS5iUXt=8uA7Wm+Vq!@8ek~OTMa3L%|@jW;-u4P<+|QVL#XjIm*(>$q9jkc_eO9JMBXQbj?#B;MyYFaqIZmy|=@ z-&`WV1;n7c9UD0zwC&nX&O>w4<8z*jj~m|A8s5}E?W#KoykxM8AYT_JT1G8jMr{FU zP7v{#SK>lzG!4=PqidK&Xib=-0KS0kMdQ6#(_)`7mB`J2I-$L7dXG8{wYMo?T_+tQ70cnnC?{;opARu``MN8-h39iX zA~|(m?@!eG)r4TUSkuFMsntQ$hF}8(A9p!W z;wXmP)=x^rRa&71wvd7d>G?lD17D+7R5MvAgx%PX1p(xJ%=0JGqUn>trcw81 zL2eLW_ZXir8vIFun;Ulqtbb9ldJ3oSUenVq2AQ7j$#~oAXEZ#Az3|-JlpP-CD+FiC z2Bg5LiVD*0EfoXH4+vb5pRPN64Bke@guBZ#yYGW3D%O&w~K8*C3>i zF~WzoE7+(=XFlW8&T3QR5B=xRfu!+u(-Jf#kT9hxA$CZ<3K@Tz{kp3u)vt4mvo+l6b=|K_8+4@% zv7bx7CU?lr;Of_SyY;?&y=6!s099W4#r(n#-Q+(11+$2&SsgONH#5Vv?jDyy%;1Vr zJO1DO4DkHJ$N=y4&Zar!%uA8G(zFvbZSp1~cZof6_rnm69y!&b(6q}KI-%vx(EUOtWE60H<2Aw096K+I!1y`zp&jh8 z<7zN4oM1lGJvkBRZVo1*L31AQ#X@GYvS^-HM5LWGEpYNJWzqsHYE$mQb&aVt~3m#D*Re*U<`ym8#k=WafC1Btpo z3S6NdB7aB`fHPzvW%%du+&PQ=KY5;}Ka*ASZiZUJck=d6@jfda`(3;ZCUiI98g;Zg zd`2RCY>5&1BljjJn%?bh3c=4sx$|D4342b?eBd|ivkb|2h`3bd;%SY;&)h3us5WXJc>DproJ)y;Pl%;;j(q#D zu&rVUrQTkU_6z6XmQ|hF`&c4zh_ByLUyIAfSj^v@HgJkk5v2kWQEJrmIE!8PU)FPm zyyyvM*=K58Wc``F{~vX40~l3xCj8GN0}L=Qg9MCMiPd7nXrp+1|fwjQ&PhAQ>s6VBETcih8r+LhS0mSB_7)i@5p zf!#92LIY7*X4UPs>&|V)v2qWwysbJyIj2(*#$f|?+I73dkH(n3&M&qr_h>(wz1ojP ziE~fgOk8QKf;E0;2hEhsi!saq#Wi?l?m=nv>Y7o(1H|;&+dgdl|WduD48lJbxOPs7?bJ#cBayqPf5rX}$*L zuFE{YXrU$Wz>g08YkGfSPvhuwJj#dzO!xGcaitkj3(_EeQJieJ9tiQnV|0M-gKBp# z>%Cn~662l^Yww=NQeysxZ!M2?#r%wn)r{Xu|ME%C8Gah0FZ)+_&93XJ3wFkwIS@N_ z2%@o2N6?IHZI-eAGZFiAxWFfWhLm|LjI@x$Jj5_-$0v&gg8^XNQ9*~M)TB8kh~5}O=c%VyDIk(5nh{t+m$70OK>ZLX(bxdN(`oz z90t=qI^Tn7C0X;0yxCsgkjRw>l~)lF2diTj{sHwr)b|X1%}d|dZ_j7;n{exSHeB-@XG**a^cnp3 zp*Rx#$**qw9kEK-VgwkW#T^Lg^e8g_2z}l=$dH;gdxw-}IWUx)6P;?3d0@Kwu02Xj zD&~;AW?{6LiA@K@k8GY3Es<%r<54ZCL>^ZQLL;lZA{tezh#?Ed`bQoxO0Re~UPspW zBKwMHvAtdxxF>}@A#TIj`t=3YC<_PcH{;XoZa1DoRI;{ZnXA-WOUP>$v6gs}T+t}a zm77>06R_z9RC|zmrzP<(ADP`iLpuJ0<}X!u7b#ysAbYG%F=*-P#LM0rd@ zu%4tPLF)>#`p}vBZ?p}J^h`L@w)FwN2N-3bhG|4bLFykh8dpLisVA?KM#G>lEvfhF zN@SI!zx`8DP8@)W%oJ;J#Jw1d&&1U{d2JN4h@jRK>`lf7NgT|E!8U3SadkLQA$RI( zIwNylY%o50Mr}v7(7T!)`{oDl$m}7}&aD?Nr;$XarqL-pDtJpvi z@Bz&XvQ{VAvQBuezY+g<_Bz=o3cpV2U{&gQrgi#r^;Ufdn_jEFNWYK(fQyB}5&D*) zALF$ujh&fh3FW&-0MthT+S6Jemp`h`ShxH_j+)&3%%1OO4YR?O_C56T=W~YBPa@`N z<&4PP5yzsRfzL_|8Ffc}LozYMTWs>{Wy)h>9iU!783PV{+>X7401HgOM1rlbzd>S` z$fi(j-6QJNKbvBQQ`i6>oAaAq`Z?2Mf8sH?vJZ&ez@zS6Y;MF#Z0j6}T&S z!4ybmwC|e|#s1Z5d6c~B>Ru*=TR|nlk+ydwuH$$tV7KExQMlgwT(=GJ^*a9BR8_4; zJSFqwAw=Zo*2ZGti?rRvMkg!GS~sQ2T9Z;`(-WVb6u~S^GOKVqNw%z2-@EU9Peds* z-s&v>uFQCI?THxkR#G;&V@Ae9c`R@sae9YEiLv}I_oKTT9<~8n^*O)OsA^Bqn9FQLK8ujDvyJI%vz0|wD z!93?9-l{C_es`dABYI__KjFuGZR^T}E1OGjg8f28O>oZ1EaD4Dy$YW)&pJh&D7GaC z9#K&04yc)1az^Cg8_e!^<+oSwNgob(?0j8*OZaA&T3&FXWuQUBv2h$y0(3cb@xTQ&?vjI zs4bO)vYzLbU;{^xx^gqYgObuSjD%0!8_yZGqce9<7LSTv9f7FVEZ^Rp8fBF%U$UiF z?#}9u_j=Zk^V4XaT7n&K-#&3gpd+jk~oN{d7eqpxm7`Yh< zKNIv(%pS!yXNNaWXu1KTj?!-N+j^KG6?UV&wunc)H2hun;Gum;JRv^`4?1eN-e676f5hvU`5iv0} z9rM`f@_hA7a67RRyR_IQwd12YKLl1UdpTlk(mTW?ab)`&%%i=5kiHThxwYIE{>C18 zQ@Kf^e2Yvbv9mMwEJ+?o{6IU)3TYA1dF6ARmCyI%@4KnB<#}J?T&7`DMQq)&fbmZ zlA+eZt)&N(mzUwp^^*PKSc)d@NeA7Bt@J9^oOsESKt$(8z*-dOVefbPSZ{bgA5$fD z;AXbi1;@s=lA)iuanP}LwCH! zKwHPIj|aL7&b;LM2in=s*INZ$cd=w=g#X>hsQ z;H|?OB#M%Y)tLe4{mFJ7Y1aohMJk8X$3CvvhpC)3+6X|77__VEk~x|e)10leBV5pg zwhaLbN`iPn;>=Bc_TJVoGxKdZ{vBO)C-6u&|ga)!OBTKxnz)r7+vNg5tPrVuKClsvF2q!zX+*UEj@ zt`9+Q&#&0nGDrLs`>D5HlRgp!F(%*2b<}s|OdpJGQYa zwy~4g9#6xs*R3h7d(=OHuP`#!Wq}I`U{c<=pD)C5t=we!MW|o73EzKpF(yFNG+#vm zx5=8Izi!hxZ}Am>a{4+k z9?+O)tOzm)1tPVsEb_(6ar)H92!x}+AM`H@wtiAhlSTL+%4xDFB8RqW9ISaxR3$9Mi?zc#C;eWRI^=OJ?fkF6<(9 z9F461-v3&pNw15#Xp6r%@rSFrXf@XeyW#$qPK{9!!r2&vy8kW zFXxApjjM2B@;1V=S)-wiTwi`=2`d=1tD<1@l_kj=f(DzHL`?Q(%?&h6PhD@#VE-+3(l=*|3Ov~#bn0f~ z&FkFH;mii?@!Y_xn9OQbj%^W0b4nIP9IR4z&CgIoOY_7yGW zONzAUqu3RFxY+ff=o=0ksSiWn+EN8Bft#Yf3a@DQLXSU>*(JnFOq4WTlW12*P1&vm z9siD$t@uobvdQ`o!{rhQg6yyj2yBuqLj;+=xiHx>n7q;C5BDSv=ZZsCnkmVPmLpRy zwn^ndg89Wk>&l?L7~|8By*PpiYS-eT&MS-TOT~6UDzg_F>XV7x>Nt%t(WOh)_+{17 zTiwuuU{_V3v%1KA3w+h~c*%mnVaMHQ=z=`BnyOOmOES2sjd^l#)qY$f@^pcA$#Gj?)4atFclZ=$r*98M3O2v1A-1&SSM2BsiR1 zN2KQ6qDY)faCNNeVJ^rCfH}f`B!5(E+k_23WGRHmsxKxfhJ&dZJ|tvZp$F`di28P@ zN6r_NOq^@i4cg}u@WKuwvly(wb~sS4zOdBbtK3y3m}RnZu-d*nqT1Qu9Ao;(G_;i} zVr@)=!B6Q1e}4#iD#Y|Z)A9{%f0aikw#$A4rkDH%%t_?{ib6G>wgfU|h z5r_Y?8q|q)U9c9uw+04cyM{hdYtkW{?~1n16czfbgdUID^Fl_uK?hDWtm*4&t$879 zUWC(BhtJB^gqh2BjD9;Dsb{0mAdG9c{dTI@3j)b{ zf5mp#=?VT?Bb%uWS+#-&wa8}pQh7A8nejs9{`6g@dqwoz{*zoX_p5EUYS4HoaS(p=DVMVB`U)$|bkzom^#rcnhtVrYtKwWfm zfPahaN2A(~V^y?W>OMstnq{L{5&eXiWR~0|=xT+;aG60fGrMLLG38bEtYV(7Fy)=v zvm*9aLSO|ETZ7ao#!x}1_zdRn8tayTRUPcQB6@>G8A{HH#^DOAS<-qrPv=%AS4CR^ zqDGxT6l|#VX0y-&uxFI*W|V+r`8}f)fTwRYZ1tUb%rjQ$p)s6xJsi0(mRSbboNqTy zVt%A1CWRh>4;P}ciYo*`SMp6(e_uW110ZD`#sIK)9j;&kED`b6wS*zCd-|aS*ol^6@qrA}hH_efEY_@CYR)!l{T;;YUuW>JQtE+w3>V zrW02G^6kH-&?~rtRX~Q;PN^6ZAKB(B(Ia3m45Fig85_p3=pYKeKiO=@DTjpQ4xj{* zbuJ{h(d0yDAbQS2E>Lf(ld^!~TW2!%1U%xyWRdm;w|Q6xw;?`{NZQnuA44I8YE!-X zLw*o|TfHDZD%Vx3XUrSBQZ#_;c=-B#1rhImOP%L0^LIXAR`cJd`0q%6`zY)EZy)W* zbKof2@b(G5p#suIqecs4_p0KXQYm>U-huI3`^1XvEhAZ;zHaP#&AySEjrAu-2$$@2 zlsZR__wHEg%(xu=EWXId7V!U?pWCQnP)E(r89m95|0KG#x8TU%s%jD;wVET`gyVU3 z_d3l-ZZrU?(SLhz9)rSpz&X|h2fM_kP66lF!Xpd^$KEKi(=7-XnH&RTHhD4kr$f;9 z)&Fz^^nKi^Y5M+k%FBPP&R_Rg{<__=e${pXQY$U^m7I=jOY%Av%0*XSn$+XrRI0pK z$n-0uE8q^)bT#>s)pMMFdWpr8OPEje2h~ki$fw`resX(r^}DTJ`m``jpK|n7uKe15 zSN);?2#yrOxpDO)=f`ThfZ>eSDJqGiC6ega!{X8DNVAVuvGE-6P?yzJTw=DI0ol_> z(1#NB-17S0;~Wwtu|9~-Ji&Vqne#_N{M0v8G={?MKZazrwnTmArh?<9=XwdNYJ*ch4knF(f!pTlSq?&zeMwy%_;(jrc<5fyT;n*oW zmGc8ewuCogB38sLWE!u_YOtS*N>P2`~NzeQ5dW@IEqIQU79o50Rhbbe%}#6iGr7 zZkIb+CP&HHl1?Pt@gOhzPy4_uB`Xe_rR38`o28_zR(%dN0$EB}kaVIFIWs2Ls!G1_ zTK$2)`$`1qw5k9xkNvzFfZODwNu=z|1LFs|26uV*B~QGaVf+&IKaN5dLwCaai#)5b z$6g65hlZmz*|@W|p&F@8m3j~b8R&AheG_WR9!@F}96VjEreU)P)jWjm84lvOLwp*} z(hLw6Dsrr0Y0`FyLEpK?xk8_@#r`G1)`Mdb zAMtC;#{QF}Xm@PvR16_=%lVgZ7LP?o^*FRxAAUC>TN$g4|0CpYqr@l>fpCsE*qmo5 z>_TgwVaDHiZT){2CIjCpTvxiKZGD+wp3LA=^$i_c!|nIM2j(kgzd;b3j<>_@)6)h1 zDD8y4g;xK7{Zw*p8PY^)VLKRks21Lm7QUA*;Ax?)yUc!yum@1ZFXpRF#%ud2A({C< z%4t1GOjVF$t{+uhRa2`*f_Z2;Bu7L`*xuM#8CGxNN{T(Zd9Dkq-^;T^;0)_m>Unvt zd@EgkBhOgz8PQWXUV*qnn>7JPfq#boHY4!3Eo9v$0*~8R8#+=aB9CKjj?wlcVYPBE zlzN1&r{yP=Bx?xAFLGI|a+;Cl5BhW4`Q5&(cFxafhcNba;rRJk?X(Q#Yv@kXkP&Bv z)t?wumf`?>r4@TDm)iP&WqA=#-#!LIrLD^XT^stj@i3ZmL;&b8hw}_`NSwr=zdg=Pn`m3Ki0mCT$ZGwKhoHO1I5JhwO4jYHvELyy;P=&Op!-4v0-q)%HE&ykRJ4jLNQ!nv?h};Y&vB|=s z=xwCpFKE35Ce;N3kTj+*roS!L5V7TEilN8T;&QV`ef}#nAgLlG)>E1AZ9ZPhq-a)C zk{_zO0S~;|L`;x9RzmfUYi)TQmh}6;XD1XLY*gPO+XvzUhAX-hHT|>5`E;SzD3q+* zQ)9-ohbN!5FZG;ly&JuUKvVOe#A(tYd-6S4;}6XAzMi*LZ+Zyixb^ci3sm{YIdTPtarO zX1KCIG3dN$WR7lRo4WcCm6`Sl_V#yn$qe_=X1u93NDNDP6K+qTEOaIy+&)>(8f}27zI=_KWN=?0uQL3N(Ffe))!%1QvTHF_ ziNimOzeN}g3w*HlE#Ryfr-?FaJOOD_gc(IBRVGV>@!KU+#lHYVxCp+UI{5Vw5C*=x z8vRoV!LjRWP$ozmV)A8@{4R!GYF$7~E&h19%wM8G+N6^#_lbxt`KC|vaMC=Bc0g3jD%gV@ zRX+9YYdu1cQF<2pKham$gB_!hh3r}<(vWz;u04Gt?pk?Fq<5FZ_nUQF(e4vFd6b6{ zw;8(AAL#3y{+ze6t~z?x9=h`P)dhFGZokp?M-1|MN!%0ekZtFnM92e1xZ|sQQ2l{% zzP`HNU9X!SN8Eb6Q??94G$Xg!eeQn@eu=zQb-NTVdY^rDPv0)Uxpj75FJ*zau15qJ zDG*sA6u$Lx>@D!FFV^D*DfG{>*T2(CtVX^7RbSv4X>WIBu)m;hSF&;sx&kp7PEEQW zJK^2qB3~vL+@`?p5%)84Y59~QOp8gyNuwj=qkzEV+MaQB^kF;tRTBU))fZ7Ce*PTdcv zOGUNsm>^t9;^e;A0IlvmPs$05Ez-6qnu7}x>zSDM3geTREhk0&S^>Ls!|pQVU#%@E zU;Hel$ARi*hy>Nx6vvrHrMb_fUlKhi#X|IS#hi^z>iU2tdm-8V-(?hrBMO}rFJrs1 zKMGRDrN=)n=${8$6ha3&VUOnF#%mpDNZly+%EbPR8nkVNpVa3I(-1Tl*4nSCQr!`O z!{g_y@nh4upfA>okQyV(%8)@^1~GO$5XX-vS31kre=OMf^1c8>=bUv8WmVTOX)<}M zIf<*(Ty5eQa6Wprk0bADtMJu_?-O3{f;6vp<}g)nTDyC}t9oRvcK4oLjI8k9X5aJ; zsOL*JkilNKygQH?aw0jwh8!->@LNYMf4Yt?j*R6xjQnY&%XA&D{xU%XzN_s|R^bh_ zL;V<$`iEwv4!->NV5QRXr=JI1UP{)@%-`~ieI7c_+C1h92l426QGKJ!FjNnLvJGm@ z_hdl=t>s^eAJd?IUB#a(h0=!Q9t@r?y;{$ zP}16WsVGE?b9pzI%uf}kG>>1DKa;kIA4x3OSI}3SZO`Bcu{;RR{0YDHf?B4#PAslh z_oDCD)AITF_(NM3Y$&cS9Q*w@WhV?b{&?O$un7qIK%rpY zaZKA9Kjx_CtdoFNX1%Js>qWeu;S0vxK?Y&8BsL+6YvJ`oRyRFm7`_&T7Y);d4|c_7 z4?Ao_q}{?Hhd0bFq3vmz9k>8$Uf>?ZXYtDJ<&EPgx!J3dt+g&D8;!Lx=u!AYbnT}k z*>)sBZO-u{uU$tN5tU;itWDPtq=F@X{JP*l;7y2n|J>*C{U)%z&__0q%=qt!S0 zgoJ~Mb&WC2ekiRBE+6NfaKXOf#*KZxf0g6zj)Tv@sI?rs`@FlB9}`K2p1B9MvGm!# z$nJBbRN+?nU+J^v$-$A1t;<86wsM-9oVTg0mOQpt(j@C|_`f6Zw|y6vDs5@6MW{t$ zQJf`0t=3}GtE1DZgxgcs7+b#a4O(vbt&22Iw^00X@uWS|-tIcZo{A@}VdrSg;p9BN zv@bHl@Y}=vU~$|Kf$aP0zy5<=<~Eyl&^>}?HUF0DUYnMcIrF3CpAGgve<3$n>m=w|VfrKLmy`PuJK_!rxo2|Lto2~g>ldbs{R}Okhr1Tb@ zt@%Yyw&o>{9CT53w&vxL(&Y#j0~I@Rvo)VttCrra<)CRHs904a1f9=o=2Y$B@4ixw zWmgFLv}(~rL=Ivn^XF0F2X|z1Ek@cc7?4GMC5okp_c80n@>fLXQ|qg^Er1pPkP6j`VRBC;9$sQKBu}R|G_P(i_3l%`EGrDcAtbd#kB|4@$@UfgU8lE`K#dj z4k8XS++_o0ggUWhKI`H*E#Y=m)D&g^v{mi(?OJ(_M&3UHNC2= zdc5zdvc2!dHsk+Az8r>dyy&v@<9kRq9BaEFwMg!avy1yUD|`-!X*WaQ46j<>zBSy@ z$d-cNN4Orpu6=9#(+m+=3@=k$2XKnz$L+h;?RxFiFRE9}r7m%*+BGsrCMQnN>YA!r z3}VGueg`J!9E;kQ($Q9nsB!=a@>|DvJ}vE9?+PiIZx)@2tG(Cmo&HkkOR|3TNK~$a z;^w^y46%wMcj{F%4D*os+;)bU?L-;wc#Lh@25M#T;X`L0uGxQnKC9UX&9=Qarlr#0 z6f1TZkd|fF-TBOLkXFfs;8bP=M~B)5t8q|`*MeKQoQyR%tQjoVwbP;J7$d+PNPOi` zgZSE2)vLz>@UR3h(0+gi>_L(EZ@>?*hX5IP*oWI6gZa^A8&nr%9f!fT&1Du&lY^#g zxc$;hscSQ(j9Z~;j?ifBdzeV4t&20IbX$X&wtkW+Rh(05$SoC5IPJV$m<>}TU1GLV zVrQlVW__E>(Cc=O8vCr(QXCgHt{xZcTJ8|&EAEV)kZd^tsod31i`oJEVIDdw zPf!cxxeiBpd9FJ_T_n$@95kWnbk&P1X3s2o)v6oq2?b6j1}IQ!YD7<1ZwTFyw8m)PqC zowFm32|OJCwGt_OklN2tNaC}|e|aN^|L^4s`6|&% zeiGkFJcY16!zXNBgDS7kXYu*=Nwf_2t5)ddK3c2BQ>p9n0%URpP|L&hY8@*BlfOOh!6Y?fo~o zf+;n$F!z?GDWlrU`|P`yp_m4~totgYVfg(AlV`3zWymWLUqhQYRL0ud-N+-yv1$%r ztuuT^9bUQvz2IG~pXBio0H#8O`7R}BOiv=(x^j#!ev-oM;sTiIZAy1-XhrA0{W}TpKEj5@%?% zI>o%70#XS^RT7>keRDXV8JNU`wo(2hqSJiZxM?sDD zQuP#7{~KBSz3NNzhb_KFXjR9DoYglJlkw%bkEcawS{>ttzcMnk%WjrIhC9B-);0s> zIy3C{)xb?_8YQ@6Aj@D~oU!7tUX<1EcdQJT zhq|d+{w9|ws-LQ^dyE0|pjOP&Blcd_&4@qC2Sz;XgSob(|7H9~VsGTRXE)^Dvn7eE zd(S3l*Yj!gek13e{gp`RSM)vmg*^A{%d_v(ZcmU7D(XdT^A!E)8;B zl3cCuW9ohlRFRNTX@iI}oQuJldbL>_cIgjhes1v6kBc()6uHx5l9q}IrKFRtV(89v zd18L3&o3qsQ;aW~F|lH6$!3Z^s3ck0Lkh7?r?YG9L&qI3lWP(i>G?f`{qX*$kHCKAnZM}fHX;k#O!?gZ);aIo4Q=MT%&T0^ zQ&1tKxHi_D-E1lFXm>pWEU!33Nj0Y{JZQn!zSbs9n2L zj>-ta(hxK_0H^0eOd1f;*BpNP)Z@FsAKvg{rU0jwUrWSIkNqdVr{Tvj$3T-Uz)iz5 z`c==CcTig3aY2)~i8Ea%K5@(|vY+LYkT`*GZ2X$voDzThX`LwOtL&$M=3MO1eX0v* zCmuop12`h2?L01&ap-)(v?~MSKm+uD|EvamrmJ!X^m75-dfgz6qYoc;|DO96-;ePA zeLQ79`2PLYo9R-AxqolZlse4)`{A5Y!|&f;%PBGZ{(Wtx#8KV9cXO}t-oLlWv*-T( zggkrh->Z545cls98-$5S-@mVa;=|p)pIo2S%*p9yj_UrsJiC=$49R={Mwr+aE2=dz zQFxK__NJwWW55lyn5o7^$xcN2M(sZLFFvsySce7Zevxu2KK9iW$R&nR zbW_@>K>&M8nz}sG)bdPIS7kM|Ak)-TY3j>vQ^hV+gVIzW)6|)nrhHjV`7%xYj#gCE zZEC99lpLVyad~Z~>py3u2l#*3`wY+=vT8B%6-NowdyZ8U}{Mfq2wnfTP7kx`qf(5DHzo9&{;WA z{Yak0pjMviCaQ1Av+NY7{8xE4GN!jEu8m%e0j)R}<+ps5ZeD&;qqwo4ov1G2nwMok z3#OaK;6e}A&bPDMc?)Q=+QAZcV*ETuqJ0>67MOO79|W{p3Ot-G3bv zGZnP;wAgXm+e^2YlCRSNR!Hm1bYYBw!tKXomk)g_Su~moPvx&L7;b+S#5>{+hD^G7 zPx%k%AQ->GQ#cRw8w7fFa^VJo198FD(Fet(8;QO8HnLMpU@$02n`lqvQp9~J{T$KH z$W9%TZ=Zf97>n~f@M{n4HfGo#gpp#?eJNBH+U?qO|CCm(mcePB70f+rh-Rvm(jTSg(; zDAitZ#2={=+f`c<_z;Vvo*a##1`K)5NAuS4_ATQPo|JYIU23zIJ(2*){4gU=j~{vI z+Kl{%(=MO=jE*W-9l-oTtBSC67;A4yiz6*U**+8%kfA~mBLb>;HgTdzfa1q$O>|vG zOGfOEbn?ZWDhM)l#gjbZqZlV|Ivu#@o#EA{PWP`omQP#p8c=TAScoS}kI!z!UNb3fr-rUexc+Mg0@0pIOi&M*Tl( z)MpUCCXlfPh|Ey#8L^d*Z7utQ%O)m^ej9#rUGk!1N(c2deW3qTf`D}sch@E-MoqG1 zKy5MtcupPdCTO<|FbMTN%>sH#N1#d{B*UOzN>3jG`VtrVcfLFvdI?%_c4{T>7T z$PDzaFy#*PGmi}V2c$;&ygAa%^d&@=Rq7MNAiudzLw!p2oEwZ#zo0mix$jRB|3+3| zH)Ggs#&C&t4ifvJlN|V4ozkSwW)(tKd4GvH9d@d^kLTTUoDG|qH<hn;Ht4`ui6 zR3D}I;m(JWquHOmq@()Z+Mm5u>ZLDw_h+wa{*uhyZadcN?9X2H^+vNl7wi4mTcdtV zovi)&NxeS@+x}dZ#D^oZH&2wtV!htIxjT1nis5bsKaO~B{s+~PF$Qp)0E2mMAX#lr z%b)Q@BS|>?1x5*W=dVr~);KmB(SLqG;FUEUKHssd?0NIee>Wj1myg3_k7|3Es z^C3W%`=kc>`Y+^wEbRLsK!%9a?bRUrG9W*%aZrQ&ue5apAb&?{9Q7{ztOoZt|Bwal z&6OI|6Em}G7F~TDP-Od!f#d3q?E&yT8t{2W^_<>%y=sJ0a!>Bo>s2q69>Lb@Ro~V& z?Y-(}6wkl)^a08Ji2KUmKYN7Fncxdv|4HnmMv*F*h;A``Kz3&zkcpwBcqL`uSEg!i z|9Gf^m`UK9Zsr#giL*4bkBLM`n@EVdk5V}%5^2WaRDI}GH+whYPW2kk=AfM0-$`u> zslP7Pch@LH2Y2v}v(YH2M?RK2VLBeeMomD6KA*KyZ|>%xYExzR+Jo=BinQYe-#f2p z+PTe2^tcCVlXN`%K#l6rViclB8*YCnbEbNYLd=MbQAqBHGfd^@G%4Yzzsd#BbFyB> zM^J3SvNLcscqRPM_JYE#25v0Q4^DhD{LuUUdkYEjeZm`7i$IR`a?G5!Y?Z1cVe{jJ zFEHZH_C2y$6FqjzHaT)_`pbXh=8kVuW|JTN_(asCSM|0gX8}CpYv$vJ8K2ovdVH(M z`0b2O1gDwt{fz#OYalLT{i*X=f|`D1NODrfiP%t+Te6{@KqhwuZZ=ididbXesa*wzggzwGQ6<<4dR zBna5dfc#POzhfG>h6b`piP=cQr{X;AST=@s)11`%X zuU+{En*Mz94_Kx#2sga^_V;*p$;dbD9YRHZQ>Os%_~TsVEab}7Xh zvPL+PX9&bRnsnqhdFX^I0|DG{yM*p{$RZxIxH+Fn|}ika@OG ztxF!xb3xpWZDDMiM(WKk<1YaI|cbuyBwHqO)a_iZe*b z;%ucpvz3HSe3p*$@1v~o2|M^9#&;Lh^!TpEzcu$_v5b#;`}_~a=OGoBYAbEg{IvfS zbY}y}_}b|B2*&qcQo|f;N3(uwsHVra0yp{G@qL?*dVI5wcKrks6Fq7(jS8u_JrAk4 z$^<8aR7`Y6daqO3r4zS&dqJBxDQD>rA7@aYViw$-(brJHNvNn<7YlD1B+tHl13t2wV1w`G#+Q`yW z1*+2#CTUhinQYv`A|0>3K1&ZaV_~SzA;Pe#FY+a8x!f=A8I@kIqqG0$igY^m9}xar z`wtS@X4`)-$INg#HW$CO{l_z2#e@S8@EnP~+*+CEG@1Fo9iMCSl0(Jk`Z-_Nk}9?| zPkb)l3;JW)H%+D>y&gy6znHP%#=%Rx7jw;#gWeD%N$}5DfEZ+GbPoI+t$(etZM3;>(3Z*^XLjaAbmoJ_>aT=RhI=Y4|n}lHT(F%cC;ii z(i)x6 z=fZuO4p@X&N2Qxvwgn&Es@k^A0m+7SJ_4rtw#{Tadr!Tq161e98A0rjBleliI%A!I z7K_yuX(Lo|r%*PD-QY5=A+R%{ z^@*8Ha=7&pNdf=!*X;U2lydXQA;}ejrMPbmz?b?GMTu>%6Jb9-YfyIzL`ImoFKMA#2hU zQ%3)_M^$WCi4W3}jfipSFBxbhs-^Do_I-t>OUBN4gKHtDLqs??Hl;a_mYw|PX7`PIrQecT==PqJ20>H#U#OoC#6^O&}0ePon< zX7ecDgF)U}lS2F}t`8$C#>vmyBP)UxBjnSvk?b*i3hW+M>R?&`(i46%7M#fQi~hpr z+OQm$d@oK2_EYv`ySGq-Lx_@zy8nuUw~t>DsOVW1l(9%#rO%(xGGtArgp5+&IBbsK zzmHBE7~RQ??zb8R<;~_1gSSnJ@R+hbF~l#BQU8^lz?ilaG>>^u$~_>(8miPA-3)Dj z-`1qJ_}3Yl{9F;fouSF6o7fdg^~gMu9W$_9_Bd%M{Lu61;gxPV;azJnuwleq z#vVP?EcRU2%F?DLm7BDw;7X$ydez%oy7}f;H~rwRDPByYWR$>o65Jt57#*pIEX$|r zf38VZloy1+gP2Y_Pm`=G-LsY})v3m4sbBo;f>&)_&XIsS~DRmHpU8l7i%zrCJdouMZ=seHI-o-Hpg zutr&UL%kV4C*zbXJPAE}a-Dd>uB1~b;0gM)8+~JfMAlJc{@m!s<;kkvV4VblSW7Z- zdGZ~_Zfp#hH8WpFz|S0tl|cv$*AUxZRqgUJiy1Y6%%*Sc>a93{*Jzqi&#+)zmD0|t z^_I@DX)Q9&s`*$jPed4@*JMeq&x!-{Vfboe=5h%Cw7)T5-EetcIz5xuLZ^HA>%@T( z*G4;7%id8x8j!DKA;|SFBe*;h;L4{Z$F&;|XZSq)59JPrnTHP(7yNSkoAbv7KaVdm z70>Y3i3^T?0Uz2TBT@?0VAU>yDk9T7tq`mEmRz;CaYK>se|^7S1%3Pf{eJIV>(LkI zjW>qB{V3e+XAw)!JWw^)s<+79}cjcvMb zu^dh3NEce3^;3k(g!m%nrxXLq4t89hfAaNrhZ$L>lNZLurwOol9r87bOg)dsA> zefP)&G5y|oR`IDPpBUvUB`R7=yMY}qhk)Zk!2*TbRx=sN#5xs!=&z~Y%D6Gj zW*|%iQ&W?yF5#lrTlzlc97Bb&@Y_o(gPvJ1&KOi+Ds)7f()IYeCM(ye*3RPjzcoQ$ngd+%X9-6a+8Bo6SnFGFG#H73nY$8V!uW3{~X%!wEd#XE{rJ`laIvB4XSKDsE7=y+Rsryw3KTb)QP;} z0f+d1;g<*}ZWF_FxQmyy5b!7kcf*7`gdGAD^|cE$45bZf^*r6-+rHMsi4E$9Jat8& z3L1vah&mG}$iLw4hc1pKXZukH((8)h!k;T*@=UUs-@hAuZebgKDEhqWw7(~P{-yUk z$|&DF_De#X537!1BUQS-vvDXzM%1v(5riM>JK5g#W@e9X8Mi$k(Y*-n@9F>5=$!i&G_c5?1FM<8F` z`BTqcj$7zgrH$;eGuY=T*4y<=Siz z$E0|zmbFWoG?>&L?Y76w`$GGDdq8@u9H@8?#&WY821gPrXWzUVtfe7qX~bGulx8ph zMo!vw0a53N)F}p}4oql?HSNgC_lu2q%l;41dcJiicJ4FlyFL7Qd757xsP(X`GW`c- zKA*5!)>*MlR^yh`qzH_t#J#Ap8hcWcf{1IdYy!9fyxz#d5bHsdP+<98F#$6!;RIq^ zG|zYq)*jPSGa7qVUe!O!xnH{BNgDTdk`^Pj4f87YffTnxYgwn&wSF-!5>q+!6t5qj zNsERlc? zR^y(|#vb(`DX=-M3hWMPz#gp%&wD;bKe?ytW6T311|E)4&61=bB#>? zfc5JpI!#TwTAn~6nKaRtjIcM^+pYg2rp#8Ec}b=82)mgZ6Yv6 z^6nM<7T~|%u7Mxv06%E``*7e9PSf6~WKuraZa-rR)QO(3~@%w zYMBg{%qs=7|6OpQZSxdM|ETzPjT9aI48Y`Y)@vg0)%9$iRiyh}9I5F%PBk9$*OV&Z zY9gyD3&#+Hc86f9tr3?PgWJ_l9vk7a@0OS3)HYkNEp=I9d~>8}Eg09-!$19}x20xf zUPW%@RZ+!z;dTi=;1;}sx3#HB)1Wi9*#gCzJ7g0GfsiEyC&nO|qYYc{2jrat;r1W#d{^7bqR5RAlmuB5wt23Zge8&AliIqcaO--p z{|421w%FnAjo3-OJI_ASuH%Gba_vmPb)t7vu<*Q>(}SHT8hBYOEQXZs4bYKDDi73Zz+3R#bCdIg9tO)N3^*TmNC~ z(GGx!3+$0PFeGYiOb1p5s?`rL0k=nTIxWp^ln6xQIWR4vkxsNGBO0;h1`udj^+9W_ zwIEsFNgri1k|XwJeU{_<=UaCZ_h+Na_(s`^jMRG1_cGDRF-fMUngy9B#B(m6q$83IY>1*Uk$qoYlytxgyZ z8AuM0?a>}zv4x21bwjlc$gHk~L10DgUP<_iTyYckb9T#8)IV2wk(~NsWmOlHM!46G zp^=XhZ&oY48*0>)OglkoX9evD)9W_Xh*hS&VTt_FyT;7#7O%fie))0Q?c1&@YI|2i zzGXVKo&Fi&XOBG-X|Rw3^7iPrGkAN@{G7ngXYIw2!j~X#^EjjDb&c$d?T2)77>Cr? zkdO(d@)qQ)>)6gZ)rnYzkOK0p+4HSDHa3BvabWH|46h!qcrS4=e=qzOe}B1)X_cbl z$jeS<8Fm;GnT_YX{K56|D6l;IrTNif5-gG_p%{raIgH^n4 zz+r9QSN%?*LzGYwlOhAOh*%FX-dq$kKm#wBQxOZsZ>()dE-!-bowuJgx#9?p#ZN|- zO|mZ^npK@_*k8k$sI;X)s6S}W+mF6_DY=e@tVI#~SgXFsS~_H%497$3a)8HziSObD z-kpwP?~?3%^OwiI*_pkz+u;@h_9(Dvv%NIpOlD!PB+eV~&Zsk;ht*b8RVNbzY60_U zvp*tE+gh>Fu{9BxzOJ97>7^S8&RbBrtCp0u>dWlz%-kQr#2f2PcdYW)j5nCUm+Il< zEEiSsk8P2oiJ8n~yg(#mR}(Xy=k1J*BTc;zGTDoYY?xzjX``~an1b(jJjY14GSa6? zjrwMT<|sSH9_2{gkTYg{y$`0Di|S$2+8G|YK-SO6eWTZ|Nb=cK7G-vWmLia`Np&-h z^u!mnZ7M$G+h&K&m#QM+$DY2v z)KWCr^vXO^`%sWdCDRhw3z;}Pnc`$4Z?GxpynR;GJV{&eq?rh3s^E&0;G#egY z!{tKlCej#0t26ed11Oq=^et0(n9MD+wdGA;eB$(Vo>?^e$#koRcPqCPeaF3Sf2P}Y z((QGo+pgXZ>~;FO_Lm6+K66;FW`fN8e9!A#lGi^MB<6r#6eu0<(LNcKW7}XsxI>&Z zp}n*H7QRit;r4CCdMqycJ=RRrLHrxED|@6?##Ue(~TuyoN zVB$BUtYSnuGH`V^FRfzXRqczV=i$mut8stZp#SEvO|6SX%UQ+}CL2mBo{yhsk3nEQ zN(;=P3hPtRjz>=^jMz5@E8a|;l&svHn$#oKI(r+j)*(Q_=Gg9QKgG009^le*QpJ)$ zxV>HG9^(b#H;LF?T1nm(q@f-fQvZjmZvTk2K*&H9GZ4Q#S+}hQ_|>fdpMs~{CWBL7 z;HjcZ zpQRV(&<+ZPSG26YL#w>W=8@4Gcox~&25WBu+>JDXCN`&$>U@o4p{LVE`_#fnzW-Wy z|4hz*-Ja*n`LH}guk!M{ng9Wy4~3i=<^cM_HS*&2Ku4BVHEW1a#55@-e=j^^T9S3o2%ZTFUG(4at^4t8$Pj z6M)ovSU$t!)Fu-_^<`9^FrQ18w5^M1qv3#WNpiOPQv<+$5-m2YkYom%9jFKH=t7y9+D@yTnWq{lQ*@wZ{;`%iWT zl$cmCKbRPg5gc93)MJeQ311KpaERnD$I8T21}iEIqLzx%@paOk8OJE3U}u) zXT1$ce03X#)Q?3%Ggd&0kFakG_8)7{HWdQ)K|-3turCi*Y)stNdON@`3nU7yn**Zc zza%i@%0Oa-wLH*2cE(AGfOTtcIB(3&5V z8{#D#!9mR2XDk-LW(E4k+Y16SjsrG7uyOlG{a+R6sx9i8U({KJVO_9u0jb!B{>5K@ zC0;b59RjF|TObJo{4QV0%m0#><0}p(K2Lg#)?12viAkM{ix4n(&n@yPOZF8PRk9~A zfr;g|v;;cN3i6jEMEWmmzrXX!q8dn|PyHrcqib$a=d7a6B}Mk7LDQtRC+}abdnxkt z(k6AryPaTRC9Nk;GMybO%>p*+g_|_&9VoI={pXmklPH|-`(-^A+R1c1+Ua>JU34yG zN`~;b5J|1fKrhETiH|T5Vi9$o^m2ao zPHtTZ3cMfhliNIp1pmqgS;|qdc{cJ-OsHV-*-vmda45RLUA8nimz&_z>OUFLp_&9f zhcHkdkTF-U=AYJES&u@Cd8w8~XV7*{pyILsc9Vj9V29M=W5t-nSgRoY#=0b!{%y!i z`d?|^Z&wAa3H)=&_Qy&4^SvEh7EJI`kksjw?$W>0t#3o0V6f;I*Pd>@^CtcmeF3t~ z=S%Er)B6;AjK;bNZuw`;3+P8=BilfKJjRYxR0kQNYz)22U$=tk`xN<)KJn9^{&dXE zmnH)|APhJ9HS#5sDW~oGhBN zS)p)pJw54yk7O0B*pfJvDMaX3(LgB)Dngd0dL{eG)0}RkrJNC3l|$+~LJup4XnMx1 zPzzL8Q^SS?d?#YcdNnt@GTX$IoaxlBN96)dshAyz2kpy46&ymR$!0Q())4Nv6=bF% zdy9GxfHH8%VT9C!z%vAwT#DMr9j}WbW`4kAj+=V1#+j>6gJ1ePD+d#&*eUxm>CGMp z-?yGOWE&&VG>_H36x6(X2$S%}JNaipktiXC-p0Q9hC@S^|3@>nQ7 zPXA^*A7fqEKi;}U$bAKSuh6tqbJWFXZF-hlT%}6k&2M0{jUu$JW{Wb7=6x0{)_) zjD7L*yQ4#=vse+3*^BKsOI zOWg6x<@T^NE$DMl#?Zg`NX|=0m_0$0;9~nSLl#4KA*D0Ff>W}ZTe-S?ikxa_L!O!`@>CYwShpxA(ieTf$AS9XqLNOoN_2qns1s`c; zeetmvMK77ai6(E^&VMP>~WfDr$ zRrUcjZ|q24+mphtVo@l5XwBj2FE{mYQA}30ZjP-oD$Bb%8(Y=3cZSGr(8}FprK9F{D#ExGrsaO-X3x_iAv=AJ9BhdMpTfcc%RX-D*V+Ez-h-?MZ5d1G?vls ziVRRkqgaW37Zji>nH*wqovV#fSNcU6hw;TB6!Xa^1-gc0a=EUh%y>lOuU1pnX^tjF zsNFaEeWskWNWK9cEAOi|9jb49j?(rHK8;j0e;Lwh;kK4FTIqLR_Ao_!W`9HG)D_UR zt_Y^Cj*o4=T8rE#-iXVHI}BDgrK;&mYhc@++(R{%;x7I)7d7qC3$b={Y?}dmOK0O+ zHJe#Z)~$tb-p4#}VHTdTN=^Ia2*&db(Mtd&`On`PLQlI!)*%N#YDu@7V{1&St2-O- zo6)jOO0LZwN>;}ZY0*{j=a;fx*|spK3!YI!cj|N4T&(u>j~VGv-#GHVjsKCBhqdir zkw(sJV+2G7n13`5H3#eiO@n$4a%>Df$r2>LCSzsDvcw1g?lCz!igc_s+&!@s5wid$ zqd>j-Z4tJFkX>%)xln~Ck2Etbnr!6gqO%`wpC_zpRq6#0O&s#%DNAiHI&HG(h)$cF zuu?3`eqlz-UimCKVCQr0B#Hg$i?(4_?BsG5A*t2vRq7YF>SY^Yk82mhj!Aclr9xGc z@3vziHR|j_QGu|=gOjv&UlatL6mWF@1#b+c);?OsZQZ3k`Tojzuj7F zyib2n-+z-eYL9L)Uy9}Q7d+jxWrPpSXmNLYRNfV|JrUhakqFCR3TLCBeV#Cm&F9jG zG)^Bt zelakJM@#tcBB!m9&B3NJ8S%nsleHqc0+0UXL_KLDhXI7Z3}aMtpy?u0W+7#+q0H5k zS*Y&LltF|PZl6u3lr1qcD6%3(c8~nIFS?39j7(mtM(UvmE~nEK)guh1uZrH!ry9D9 zGLX^gID_gA2xDdty(QefF(R7+|FkMrNN)}F7d51h`RkWPdrtVbQ z8e4;+dWzbj@hjvs7{b1x29iq(7WPf*IaX>8Rm@72@hf|!_&i9{5ym6M7|%@pFdiwY zS65bHSe?~Q9jQy5xA;RHDXQzp)C{Y07cZqBsY@NPYod-6z3~_(ZADIn711lDwA7;X zol^Sh=n7qQPIggebMU-J7u8~D;WdO2%_w(0Tzc5QXwMI3q9wBdJUqyy5o}TGLO{z0ThnUfv zX=16(66DTM&dg^|XZ{t)oz&4y*XEnl%0H(kbwcx~rW^82(ixdD$JiqgZ?So}ql5a0$sg?l%qS>t&*2LHQ=aKa#bcOW@8;8eit zTuPDZRTs>%uXBn7h-*_Kl@*R-sN6W=f(cwZDM#XXaTBplvI5Vo$ zBm2?|e2RO^`r6OgH4^)$CJ80yWK z^&uct%bU2Q+^IKW(>4ZPZTG5Gn32LPHm9(t1}It2@#e*zaHSeQZK=}O*QZ+iz32fl* zJ2a(>YXJ z;_$KNVsl&A5oh%>w8=Ndt|CpZKk00t}8Tv!IOxcGxSsXBr?qqoh+!kKMLBq3c_hi|Ds9lqY zb9ptbf$u`1&rzpuNYloT9qoBC^$5=sNZJX9Ia36nYW4a)sP-0h`cAg=ScBG~6(4}I z-`ks>;pwbGv6Lqo2-_fYJ-mrBke3xT5CTot?}rdLRN!1Wp`z;B_lsa>RkRqwEO$R4 z5a+2cqUeImAHkl_drxAYUzv{;2DtQ{$62KrGal94zAm1_;B&t(0<0?f5H=8QQ0@ht z_eERzqaIg!(!TXPe>g3jqf))`2TjF9>VNF<$RD4Gme7Vdl%zF?wAU&)9-Zba54}v| zJH1E+dXXt{aHYV*V`Q-okUF^!iNs6Oa$y}@cEn@BZ{KNT9o9G?_bnC!hC8)9gy1dF zTaC!3HhE{1A^BA6ml1+IECE|q=@&IBayv(npXDv8=AUT3qYI1hn)K1NXXPkgy1BE{ z&9&?1h|tC7qiOD&ru-3~oS$~Omt#l$>Pwl?$cq|v$x$|UjMJQ+oX>iilNUAW%@#eH zBZdywRy{dYEUzl^G$$`=)I;9SfBB*de0x+rSE&xu+Yv8C-BCh!8s!nN8F~8xuYG-4 zTAqopJ!3SE?`+f5&rFIm1^A~{JqY?kN-pXVVDG0fVXTP!7;gU=v!z8b%IC6hgrM6T+oTz|mu|~MIMV4B zPN`24>)pFW$72@f=~FcO=Kpl!22*}+01nci%?Qwr zm)sQ?yIfHgwHKC6b&^DMJhx&Brcqntlda0#R^6V8r*8_CK5ZZ5r`4kR$AAoage}UR zQ&x`WId_E7+7|JWKuVBKe;rT5Z7a$`J{*YWlwCxbph%@365+K-Ui7!{DpbdN96W8` zng{^`ESYcLKk|>@B~^<~TgUXZ4bF_8hmptWFk+Vkx)zqr?5x~N_7vbQ=k~aoX7RKR zcRWhPw#xkhf{^>d9gp+GK--pM3teD~Q41>2h3Aw{Pc_tn5l>JHTccpbi^eF=>0QGo ziK)wo0#+7vz{3FFp4_kU|caf`Ds3dMO$Jtk?FPO<7H!stwN8Yy4^! zyJ5=t)G_}Int|xXwameA(Tt4rsheIx?A-13vvBvD!N0A)@!%iUa>H%5=~Lpr?6>DT zhStR(ey`OyU~H|?|JqxyBnE)OXI<~Ml@Y5hME8Upk)5@Ysh9h&Y^pP4Q$@|DdgPVE zZK{fwj3*tGDEy><79K2zQl2KSoQnQ54p>-=>m-{*RJo}ox!m8DdjIAGcH$K~mW{8H z_@s}$%6!y?`X`ZJY9bri48rVXuFt9P-Rs!qr^zBBmnNsu{@bx2mLvx@kCZQ2&VINnCeJ{W>$#st#*}@v`Ho^^y1Z^9C3)NFg-#1ER%6x&hTX-8#?Mq#3 zKs_k3sW0diPu=L{;HUC_m@Mmx=oGmSOw}m3gYs%EqHqy?m8l=1iQ^u0ZTjFP9Yc{l zP@ly0?gCXd4YMN>)c5ud2}DQ?W*WuDw4A%sX8X>lUb3uf&HVt*wWjim?zM&<1+~AR zzJ3dXiF_K=z9QOGqb>xfTCluKfck>^eEO>lRZZcmyIWlP)UzRtOl|wG@$$pj0UjJp zvVDM%VOGl;t5J*)w93D!q(QT@oS2r5&7f+2$FfxJ6!Dn2pMK=75k4mrLuc&!dF)Km zHK|nI`2Bc^=v!%2jh2Rp=a7u8mE%qrbMM`|oBc=imCuKC@4aVc&YbzqnKNh3%)rlvh=9@G zLnc^!yBWAp2L@aP7OS6w<~vnbZV_cWAYHHrFXURw2$SVa>RQ~j!|0u(T&~#? z_%ODx+aRk)pQVJh)v7CxmAQPwj5YOlTHn5014r}3R3kR}?!x}et;UDa#Gvddh(m_=*AP zNVAg2rj!6K@q0PFmE8tCtJ^BZ>8|%8TgGfj4=YxUx9J|nJlorF7~)i}E_)Y=8b4*_ zt=2Fj@Du_?Q`6j}FlbPSkPk(r2kR%sfh8rb}$H@<{4bzwOth zvqY(pSMAk#>P{7S3M#m{PsEiHJw*Yr)=tN|_Eg=gmbrRWd8Cc4#yR6J1vCI;;|G>Y zQ#O@A2K^%6ZR%_=0=+UQk6lilssis#X>r6rAu3Fc#L&W@tuD~Q_hsM^`Hk4kXLbIB zI(Y##Gb02KGKSJ@!wGTZ6V;ld{;p+Ek^w2m_(JhYfKf}0Cpf-UGA151#|SEvT>WZ? z&h-dk7hzcxXxgwWL?_mo5#m15LALB_Bg1Wx2+^D<4&Fx?ME-E|RzJhDT9Bs|o)v!h zVo;)ewi;_0^q525I>XAvEr~5D)Elu|SgYm=PB#w4L!V$&I^sDo6WW{LT^? ze&>`}g_kJN8u6G7xlK@*x;H0WEA&K)2K@dNNoqsui}?wAu{BN?Y-W971h&IaG=e+e z#xO$NW{A3DZKt_H0<0GDprv515$ckp4NS~hNzx@QOuuIbWT2WF%Sa_d1y;g`f zlp3G+Qw9%82D?F3f+ejnyJy*U%x3Tx3GT5#zY}BfF8tmNb7TNXFeBcMk>igaqWQjn z{VE#hM9H2s>JsGe6YO^S7S;g0@IJ_4QTTS48QhifYNi?7newX040gF+!NkEO5$-oh za|j2A@BgyKA$@$^h>yJt_{H56sne?tzORe6@gK2p|MC^Fhy$2M1h>Egn3^EC1@o~j zLb_LzhI;EF5uWvfD9lvqHomWk%0H6k+d2*Rf(ADsa5XhSXcOFyn}qbs7AM;f|H}>= z4QxxLmiM*MHhz{gCm>D2*u^ii09u?A4r@-U`{S1rlc{igewz8LOn%_r;LJrW9%JF+ zm67QW0v|r&n*PA6wv-dT3AAZ}dIw-|&3eXk=_zeQXOlhYh39Q7wO+UvJQ^658m+xD zsYaUrB|mZO5A2>v!#^B_xFmYkHfR8FPJEi5^O{SrH@m?+XR+I9VV+a&er&nrL{HO7 zY{6>TfFB>mm5(#!*Qf0LM%IhQH)2Q0UKCLIE7xIv0!XW{H|0c6;~0*9z24jO|03s> zLL?qle?g%qf(;E#W8g(p6iyT2X4mGpx|%^L*A>$p>^il`tydGiRW>Z@kNLX#8v?~; zrY??WSIUHEL&HGJE7$&1*@g}wd3er=a5ko%@#eu&H>Ul*Y{TK(YHC+%O*J4cJ&!OJ6Y{;gZ}9Pg-}pP(4H{A=NdQ4N%n)06a1Z}f9$ zLGD1+^1ts{N1wLFC-A}PvMOmm4o^vdZ~w0mY~X#ud|S`y^n^|o;`q@>WC>ay!E)Ac zQEQ0ZsQx6n1P9^qbLIY$wi94{SuyjAB+{LC`3}n9a@%)y3I zh*yZEU-|}+hCDW1?~v=&!?{qUASr5?TkipkVYleaqHV=UEZQcpPbSSx-TMQ(JgW0C zGDQ^;~SG zl}~6_9kvhu0;1yqu5>v@0=u}QxS!IL7LudgIE6dIlxYag_r8}c(m^q662otHP;N#w zc7%Du&HH5TxGTAOrc3}wFNbg&j;b$D5}AuRb<$qW;dx|4a4Sz|o23?=C0aDd_hl+hubzJv2=aiV`? z_p{?Gcb)HzBiYt^BkN0{2%E;#NjPfP>cTh~!JJIXUD5zbE1FiqD{6%#-hI`5Km{_l9qh#R&QeEsa|v!k2=R-7U;$u z4N2{;oeaxEwk-sCz^5qZeL#kp&igoN0%{HCeSpMu-Uptho%ey(d=KY+NDkI{A4ut( z_ks6sOh4}fZ(ZkoT#Mk;tml0o!++qskBZIJ740<@*vj61R)uxmM@30nA)&RZxN<|W zeclINrkwXtA?JNm(2=;h!lMpDcmejrAty0~M+MINK#G5H zQfyvb(Y~^x{gMhf?}J&YUt*x)c^@bR=Y2S(6fuoH?}PnA=dREDsA$4@9~GI-`(V*L z@53tlB93FsCs8!c`;d}5`3Yv;r4``~=m)ZM5}vOr9%E{GzVJC(wU9uLRxMzsui0Pa zgV8~KG3{g!9#8JWIH^wtapqe*&jCkzjHxBq^$H6WmZi}&QMteIeDlHuzmyqB%|i6Q zYV<$sur{w}|9c(%@3G|nK zxe!egk-!ApK>w7Z6XYCs^;u%xYvAa4d;J~93Si&5 z&8^U9)X$x0kN2*hk5A}l*vyuG#xJ*ihUM%!e~6}a%K1YeaOvmgv+8F#oQa0~1-Q%T z?@edJ__oh;!KLqh^Hiw2)x?}Dd^EaRgKo8eZvSeZC)p#=vJusIvvD`Zds}i2-mLOY z{O6Vj?USKAbOh(T8FbbE)AMFB6(@*5o1 z5W5L5BiBfBIBXD};DR)N<0yo$X^xWu=|3>Mly9ysZ?7qr;icRfUdl__id@6XUs3%n z%Pz&+l<}op#+Py#U&=koz&y?#U(oerd?~lamvU=-Dc9pmImQ>Hc)&@qd3AaF%JTM0 z%4K|Emg;1DOMR0s6KQ!YDcfB9<`107kf6Dkm{|Mx%{Ui7x{t^6}>>nX|?c+)CF~vWEua18N z{SV_O403(Q)`^HIo^1LOhu_-LH8_y?d?Pf0^L=nAZ}S8WL-b+TJj}%U)c(r->v0*7 z9!JABN~q-#>JOM*TZ8Cf)*yPr40EG5HiI#Ir?zZFzyAfA?2?Ok9x5jbv?pEq4b1+Z z>bDH}AH04`k>BzEnEbwvd3#p*q3Nc}4;~^rs!|S`c7;@;RsBV8RX*Q%(i(l=bIBvK z-|T6@JQt_OR79-PW8N_T(E4%3EtY^3w0{jP#7h9Vz9~DV_ z*cO$>LwKXtg9Ef8Ykcr2o{PBL^D#C2D~B=rye%F~Dd&rQEV9z4t~=>nx&3FJHgq(7 zkDDIHjD3p7jO~ro`qbwv@;^cL%&6Ln6UR`(?d}xJ_h=z(4529N0`?Xr-&I}pwT(VCky~7oII-3V{HeW~-b0VCR=;xK6 zD{d?acl#g+^&O`yoZpyI)^pUXj%b3DENid(9cH`}wHK(PDIY%$cCu;vx)zqtOR;C+ ze|a`xe*>*)*Q**9CdZGSu9u5YfXB6#i;J$K#nzIxb&bIVyvE><|0#a!#Hzu23M_r= zOlOS^c)|Ko_?G$p3$%A16QtFEFegZK@pI8Bx_Z9MkZ>3z{@cI07-6;RFlVrr0WNjL z*9!i4>Ld)2HRgrIbPwV1Qsh3dtDrqFQPTEpf@bvs^PGidzY!S6Y5s_bj?K2$+klOm zU^L&f0EgjX(sULlO=saou<^?0))$(uLFK=RF(4Xl9zztD9~5o}ac@iHhI89#GbR718{{b)$ z`gtkv!(^7zzDqAL{QIkl#$kF%1?kiDtkdXLxKE?YQim+Z z(IsWBYvG(nm%bM152Vwl(XkauHrEr0&a49h6BTU|PHzx6;*TdZB(LrYV zJUaYv&ZFae$~O4$KKVR4e3bL(@L}3{bigO{WtBVLzBHY`TF&ck@JHdYg|9{jCpi1j zpsr4kyY0Amfk7(hje5H2)TqYAl1bhQ`p?DigGWCU#~Ki#5#p(i{J?OH9gXl*0E2yy zcQ`naEV3x@0NztPmcQk%I~;#Y27f#G#}%!@rTUjQF*=R$veucrv;;>hUV!TiBDeU& zbri>OgjX7?D;P)9Jc1RBg35`;Pc$H`eEkF*fy~4zg=$pC!{@= zi2gvNTViv}S8zfHeO|}9F1osS3I0(*D5Y@oe9v`tOS=&k42LQ@`w0G`H394MnQ_HpZaq)I=^3tVGb|G)iB}zH3ZAPts(LSy5;=FOLXI*^B!J)M_U&4F+Dc}pcWD|VxP+ZN$((X&t6=_*O`4~Lbpcz&z!2-n# z?U(qXGtbi+Vjcc5F2Si#3aA7)hwu+(5Rt%mP5r`Ki*VBa1Y*Oc=FO)#0~3f|{tyP5 z+WLNc1NlOEJ&D&v=>B>N$9NcyR}-IUdVl>CmZWMpyffBLb$G5xWIyqLRUHI3iJ^+6vXO zyK&}f+Hf>$=Y^$W8O_EJI4H(#$*R*lztmi@2oj-e>VJs}*I{<}1om&7f@-bcXnEaP z+MYij7xN6&Hq7AFDS;uZBG;b_vDO&@SXv|1Y{3Ad36LC{aXw&52Iks$wJWRZe+lIy z?Ql4c-Fo4ch1mPL1_l2Y3dRXr;HLg;&EGi5a1^&Cf53O7=^?yVMhY zXV%R={rJ#B4|!q>!|&jjeEnhy-(w}=cZxR7wq79DhKnN|Rmg>1@B!#Bwn!UaT#S!V zxqkpZs>1ISZYp1wA=rt&W4Gbkwi-$V(2xw43$^BRj#g+@4SU(s3VDxR=4PxgL z15HU=m^mY_N2+lnk2iAqY~(YJn(;!B5HcuSA?2MSscH+tZy(pRghOg|A-oS}Xsiwo zHR>F@yj~c^aQcs#$R-Z!nU|G()XE5F?l4r3F6siLik$7AVc@E8T=fI~ktJfCljPO# z_xdI8;+EGNduIDDzXypuHQ{}I_9W-ifr+Jz%Nf&K!Ehr}!vcvogM_E%4MN4)iXhZ) zgnAJ;QSyMd^{wC+Jh*&mf8a6LM;sHTHU}OX<>CL>%K)09Ri|L*1n%-}U0xFarGI~5 zZ-R1ftkDeNcIw`uTL+P3dBAt=Cqav(MR)K8LO_bP4Dn0Iw;oA*3Yd??w|q9v>iQobDs~RFZ$CAB zJ>O5w8^CWgzxDZq=nOx}@n3X?&-qpC{PJ4A6ppmT3b(s4&@6&a?>%FeW3O*uGKM_~ zlW+^b2^DUh^fZ0|YwI-)RrT2T%kdHo(1*ffzfZKOq+g&JTt0&gHqI8lM-QO5d&nB{ zmCV+0@Da~uDf$bF!98WGPSQVp=#k7CKFaWhVh^rxfE(uq2;qa0z+a=dvL*)Aq~-VH z2cU5Rlp1bz>c!VMQs6Xs^oPmV=7eO_6=24kL-7FK@RfOR2_?|Hibs<4vRr^3T?u2~ zm=PE;vFTiW$I2|k`{H9yxP>e2BhpL=B4ICJyw*c9n6LypLBURlU?;F}<7xaP2kC}| zmS86=!Rklcwg54Jv3-;^1Fn+$57uYB$ML8nbgp=AjeFomc1CPPWra)Z(R1ezJBBx1>oy}vc!i*>u|&NA3-2C2 zj9!8FfH(5@m@vwa9Kr)nV+ecDk}uiR#*d+~@QuYDcp34j8c3);3AN_WaL+=Z1a0H1 zQRhMJVxVE`;Q9rA#tove)8wc||#a)^Dz=0syy+5c|uF_v*928 zDs;p>0*Jsk7z~cH{l~-2<8TF?39Loi=A%*t0DeS%A-i!jAaJ?|&B6)uF`&`_Zz}~U zR=y+r7x{GX-|)lyi`?F1b%lh`ZoI}K>*&Yl%3A-m7weBw_2T6bzFuE#N*-n#pUPJG zYpg`IIA{F3x=I)X^vj}^K11jt9b_3|9B1tF)Vyxu=X!Tem8*Q$Ug>1T?&oB&T(U?l z*jI9YZ>^OBxKLlyW!tIznF}6$1zLD?J5{mRr|hXVAlL!*Mc$D%Tv3Vbifolq3jhf$ z_^f`R+Z*HJNp^#yH{lyQhz+Dq03P8D&=?DK6W1whG1b~&ELx@YBaA_|h4l3fn2A^t z88h07`6I%=xS#kHokqR_x}&w=KcPoNkG(IvViM}o(=zix;-|6Ffr_XW zG>6xScv(tl-01M|M;rgvs83nN$yXyd9(y#Mnvo7U8(sSz>5qld)65{lUY8u7Vwa#l zQ$K{eXFxkZGwd%IMZ)mj0vU{bW%AOXO%UD-HIGh}q#ndSj@Z+HZ~a_J-RGo^{V!A?7oCfl=3iacw3iU-gs?YBd)3dG?5^Z zYM4OQRGRvDEZkE7oz&Vq76Gc)p9~~j^-MK-Pxxkkl?VI<$F6$38f|8tKD(+iFo~1( zlHW{R%hG1WcFRDod7}I+{YTCx!`(3ZIsSRqe*$b31t&MxF6;htQOirml-$3!C$0KHw5nw>s>?KW zG{7AcFq$Us<&Y4aVOt=06I%ub(Q|j9EKGQs4#zo7_z4lkcA@prOt?vlL*+bC&6s&j z+{<550V_U1Wq(g0Qokx|0vB$EK0qt@wWS?yF6CpeG)gr9{^#>CG(XDO zhGk?W+b}<*y0b<(OIF|EE1L7OyEuxD-il|UYni9%SQN{5FdvLLtU8+2n8(_ifsxVA zYeE?Zt-S$JOfc~ufj?HK{_AxP>0@|8)zrQ6grUz@860amGQ47f9ink&EEqcrP5Rl` zDN-FTHV9LT6-sR|j?G70w=uV2zPfePYC9OV``|1LHxGE4z5*86b`Fb(K=w3##0(A9 zse9msN7uA?n`f4zZM`!>qDn zw@TjN9C8^l3LCImZU%?KJn6h)ypyW+&`9Jo@XB+?sh?#1d4Zb}S{7X^Ct+^j4(hRYFSPwF~d zI}^vJd9Palsey06Py=Ar=ouJOk@<4`gC12GP}ddop?+n-A@I_E=F#8}RcWt2iRu*C zK;q$Azs>V4jJM*TGrs zJ)XZX>EX0=L{Ica07D`1w5(^SABR!Ugoa5ojNgFDaAGhGuaLpIX=$2JpAgru9~aCaygq!R`3qgjSs>dW4-z=#I7XgLe0#PqWcHRW)LNrq9mF ziV4)8lCvX}P#Vm!CsRK_OYx)HjRF!mmu%XKXU?>BDK<sz6bSvZdjOy+kEp`h!~0KJYkQdxZYcay^D6 zyeVjj{jOmF7JEX&b?W(#35e);8it(c_n_kmnyWDO1=x%1B~2%{;&e;=xc1X@kSxKL zI_W%end(llX=K<#h;(2m_AzK`j9RcoVd=n*9LBIxtB!Fv9Q`~%m0B0pNa{l?{WxL` zsT)gio@Rlkj9w33mRl5>aGUXV{e3`40ahjUI7NsMyd~fKer6%y?8<}?o;fbF5Y`@) z5TI};g)ItU9!wDSi~>)s+-Iy?YV`aRIiNn`@33nR^UW)DpEh%Gwf{mao1>O#O}aaY z_+*og(Kl|Bt_jbOxMk9fYm;t#nn^c4iYp;-vw@mFY*|_(u=C)~2avG^5Iks0%Sy?& zbZ5aWIt=w$qdu*Zp(Bu2)XNZm3pBy#>v%!q#cLMUsPDqk(sm)v995<~(L&<%UHo5| zJ6Dwv22d98Ex~S>IGT3Dc(UEVTgPEHT!nw2SK&QDpJ<#;cAh3X9sgL}mXRU$C~o@z z-J|&U=m(f*NMRI*L?AoG+He$CC`m?f1)D)eaeRu)D6X7QT)9W_lz1D#bG_r7f~_$h zJrc)v2k%r1Sysp|3X9L3e3n(d4<4D>V-*f&g3I0uTin1L9U2Sqnx$f(LbZ$=)iCrCuj%;n>DttD3KWW& zoI8d{_`&QHQz^_LFgL;6b^%5YmeAyDm@_qR2XqIfl^;iGuvH?(zuom!nIOrDv!eYc zYgit7KacuNm;WL0iRbv%(WIn$BV#tp~bM0=9v`pGPOhc&q{>uO7#@IKmhog5xsx zACDbXa)0R6)|dFD_3ak?Ws{7HyI~wuqG>QI<=E`U2=1#>JqtxGa#)5HCzdT2XSiSj zFC9+>4l4CcY7l_`OrN+~DBlHOIXqn42<5Nnpe%fIQ2#OtlbWgk))P_^P3TnUseXun zjjW>>sSgFsR$&ALE-;=UlL5F*$IQ5K`rQosD zz_H3goG|K8`;tfKZL#bcR24FaoL2yLacVH;m}oaz)-u0M{|M? znp?m>EQCpLL2mrf0`_Q~VM18;__+Y}bE@Gj3Y0>fT0;aT%zE{}u|Z~C{~0K-sYPvj z?k)186p_Ms?8DGxC6A)#j$`}=+OhN?eq&iTz*N;&BrPSJVT3{>j+Z?xo~QY`TZKpA zZ5jzTkIX9h);Gy)Xk=yGqv}|TaY|%u7cl!a*834d+bWsk5?LV zTcP1wrlxK_3_qqedOV=C1OUs@6I(*opt1@{hoyB*H#Nl^Ey?4xM|cZsE7<8_;-p<5%Yg?Ji@F)lbo<0Q^aX!@Q>4Y&iV~`&{*4m6G6l$qC&3gWQD= zENl7*oQQ8MEx;n+c+1^rJ{f|12rn2z=Z{Z8-@pKwc;h1la8gVrQ%qdL zx&WS-Z27;LfBszbLf;Vn-#wFy8V55z4z zy}QI-8ot~(j)+Cjq5)SxZ~%)@2<&ls^FY+I?*^{l4PYz35gd$!VzP`kh`SgV{6S}- z85~r*H{zBT82TWLu3XF<#l--3V>$BDnikoQU#=Hq$(2NCX@25q_^C01JIvsY6n=Kt z{Ok~ZcG~>x#JPS6es-!w;K!V^;0A;$iJ=EAzEd63Y%v+w5v|fpq73-+Y7{XZnqI-D zvcPsDu+2m)PrVQa$(K5*2ytffD6Kk3OFX~w{^-NsrHe9{*VT zU5=)j)_#}XWXr>cO%fObR{3F|1$P)L7n`9S=t6F^r8K0qNkO;YC29CQk9ZTU2F%4> zeIU3aS|EKOv?ILNXM}b}0x?+#-Dw1qFt-cM<&q*+MCd}_sdn6Gu}!ccOIT&sdB~u|`Iqla8QH=|xP_Y1A%unjxiLR-B{O{?>dJ5_&||qw4*7)~LJmxH759`F~GTa!6ehG=9Yj(4^)*Db9EcFc{7KXbl#-mxi*gV1#OBb`~(qid0 zLtPLHj_{!DYRe657RGN|uejvF@vCc?Jp)w$|9qBX%`i6CsAJwwd(%1C%&MlHob|QF zKO&C1#$-z1L=0#=eRmq3TI22D)8O^-vIc=O*qA|!WPqV;P#tmoB>R>gR9lul6TV>q zIy086_G0eW7?m5brHe*xM*pKdEvGS>9emte*xq(MUkh15%fo!|G`(aBahXsWk#%@! zcJObV^mZ0|*3{(GJ(Pb96?Y2+kGbBUs+fiA*h6<4p-#x$kn<#=o(i>k_p0BbZ9s<6 z)vG=a#;LlX;KRR$V+mL8$XTaE4zv0RXz?9-#G9-!2vxz)WmJ_oI6ql|H9*br6~$ob zv{P}jxYlVqMW+G#JE_xt91iS+PW!Rww4G&v9q2M@+NE~u!dj+BYD1Fr=Bw7Io{2h9X0u?s;oy^QWj8UXogyz13E z(5mk;4W{CSt~AcD=Flh4cjjTG0o^0&aiy{CDV={Z{oiuZYyO*YxO0B|+hwByi)p-C z3$_lwI=`=pUF#Bq^}Wk`V}|~I!V$UpJI1reGULH~GAkZ@=xqNG9-hEVvwoM2hezjT z$HV_{d53sd!20UBMlL-3PL_m#2UnV0c=#>T5D%_2+3=8?UbkQV{M%&%4})YTJsu=K zw-{_ZRAj=#G5$R8Fqjz+H$8C(@X&AL;l7gWczBZifp|DOe>^G0scDZ~8YsTq0TVP$4Kl=U0}JoMXmxD?#lRZoY9 z=D%8aSj76e1tHWjpG}=_-oP}(gDXugJTx&4@!(364G+2LH6HTk-!2oRSF-j~3;Dhx0Sz;iyLs0UrEb%YHZ)+}c%7hlj7dYT={AZX^00`np}9e zf@z2cSDI{i$W5>DkU#%+*}y|RnMsca$uAuq>NDZtzJfgPa8+hJ9RBbjz(b9Vhf~3= zUG;Q$So;?X4>#wJhtD$&@!(363lAZtAs$?5vf&{&y~acS{M%&%4;PY|^mvf`(&1ri zCOq6dH8Y3*8UCo2%y@X`mxllkTWma>0B-H7r^7=KTNK28*pWXT&R`ni!IdT#9s*25 zJh;+i!$WR*jfedCx61||s>w`xJV<`&@X(zJ54XRY2Oc^y;~~~{2=LHv^z=QuV%YG;Uw|3Rj;i36O3lGIN=WS2^j%kPoSDIXS2qE@U@Zd_5 z6%Pk;(Q7lclg@Nn+m^1#DrW<30K*CD{eI$J-yi0FS?HKrRc9RGhy{&;ZKFI;JI z;lWvtaHYwHhurkmc)_Izju) z$he+m?mPr|*m4;zXXAMB=va0N+2f_* zul`DAJe;-t5a3~*jfaikHX9xs|9@xxcyQJ)TxoLQ!C8-RrOAee-1Hg``STAvNZG){ z!K`0&Wx~UYf64<7H)qB}k+Or+3=8? zUgIHu{(%Q68+bUF^^15WJUoT-ZgT2}J2K;;tn(1yVa&$ErQkLj9vuI_=a#(fNoW1S zl_nP+ob?D-nrwK;O|S8gKmWjklnp!_%=*QA$|s#Y`RGe|;NeG^@o?1l4*?#Q9B#)y zfZJ?%IR1Yve@=P+c=!a z4;z1<2Oi$ejE5IG4gnr2e0KZ;xXp$KXFY2$e>^zrS*|p>@ZhXZxzc3ALvDJFhy3{m z9;9sG;b7LY#xmjIn!!BqP|}rg{o;v#Jp_2zVB=xx`RsUb`j>ZO-t!AbKe*E5!h_S_ zU1_r6Avb-BesJZRaeY&04pKiXqk~-{!!>?=5?> z;yvJjX=qQn(&WSg)6kxDrOAqiob(nR^5)+zn|NTN^!DVFx?FtK$HmzD;k(Yxgokqn z^1#FL%y{_e?S}vl#dECj;>BmPs0lM4@yedtP)4G+2LH6HTkA9#?m zfro>!CmS>2;nZjHz{5G2@$kLKA;81wHXfdOIy)Ym@uEF{JUHWpD@`suIQrj}CL11d z)2ECVu6#3&7eaH8<3(pCJe<&<2Ohqh84sp;2=LHuW1;`tra-Br_ha`qm-9L+Sf0`{C{< zvg5&-ulZW?o?kfgO;?&+cyQ*At~A;3kegoPA%Fg1KS^zxldd$m@ZiKly3%CBLvDJFhy3{m9;9sG z;b7t?Yck>CRa^<5bA9uH%y>8}dOP}zD2@DR80a1FT4h6gA9a9jR(aN;Lj zX>#GgiHCHh$%cpA^coNO^A9{o*}%iW#82+dgomdd%L5MwGUK6a;~~I9MTuoUTncWp z;lYVN?8_eyPW+@RO)fk*@sO@G+3=8?UgIHu{(%Q68+bUF_{ot>czCoY4?Mh)84pJ_ z9|AnwY~$fvaGMPePW<6y{&;ZWCtYcB;lYWAbfw9LhuriU5Bc*CJV@EV!@PW+@RO)fk*@sO@G z+3=8?UgIHu{(%Q68+bUF_{q~V;o@ztaWT!9q zuM~PucKQQ9PoeL}%>s0VrNJ-Ts|P2IB(-m6cKUm8QcV*5y6p6=IO!;fzA8KY7k`;T z@6S%Za!(5V@HJWMd+Z}A^t-at7j&o4w`8Y3(33)6lbyZ?CyOS@XJK~wdw!KdKlb&k z^=*x&(06C2|Kj5*^josiuY4kf{<7@!$3B@tza%?-!BZ*pp6v7o`cvrpzm`=#JT zffrNgYqHb#97v&Gn4SKfms9A+uF6{9R))d5$FJ_}^k3vQ3OD_h?DQ*njF_ALvh4K7 z#!~2)WT!9qOA5UwJNa-PTxA7LSL1g{)=y<(EHQV z^Ss40_7g5`*=Gj#sSkC^y>oI4QD7fV`MMRJkKjJsc{)j(EwoQAiR!g4iNfWK-HD67 zdX;&^v}|hO)H!$=-s`QKnz#LnayQ!){u7dE7jj{K z3I2bWhJRcNHE0F~ZH5OehV3heLWAKOaq-goK!Pim!ac?6>380-u5=s3EkQSY9>y4+{s<@ zA>4zvuNe3GOsaj9aGC-^AC3bGxD7}xV$0(?;_d>ufl~2iqL;$~g`0_9mYa!G8Sg9R zEv~ioLd?6q^u zfx!h*+Mtw%oAd@*+Oy%nAWC~yN*gQ-3>bkvGuT&KFU0QBHl>z^due&|R$RT!0#Fb8 z!l1ZX{C%*1x^t2x^~J56xTFI&iOV%#j& zYpyEQx96tLmx0emr{S|T&Rc7Z$k~v4Bru4odsXLF+@;f2&6bGpuMxQze}Opmy@n#Q zgO7Elq*1RQ>s+U0UqrRAL|%aib50j7-6%r+z|ZgU;>VwjAN!U{@Fi^4T710&P+5J< z=BxdE8Ti5sRr53Rm#O~W*7%UfXAvvYCV#8TD}$vaxBUt4%?`d{2QJz49G)X>Yw&Ee zork};lFNuJ#1C6=xZ;i1bQOXN_ic4@DcQS+J5q%HksEp08tR9$*)=dt!_Cm4!8*+W z@3)IcWz`JaJ8rZsKq+Q~e~rj|{H4M$JNU~=L4XLWZj4YnTG@R6Ga@Wr%4!SiqB$9a z1N)8rM7pN?BZ=U*`o$i~(7!?+S&b${9sLU=_fK0#UsC_P>vhYL~T_wc1z zT?}1khK6_rE$$E=#64g!Zv?jvkDcQ6nDc~YRk0D^ZJD@n7Pkp6?XC=slx*!rKYsIf zM?H?a+T=>cl1*XcF876fRrG`pmu8|ch!q!pqu7467U;lrZ=bh6cgt0J;AM{)*i#vZ zH!jh4@fpD`+;r+j*?HSz~7lcfP?Z!aj{SrqlSEsP99MkywWM1-Ix8xs_XJ_Rirpt5eJ>awEKbs{tTqMIFl4~`Lhw6vtDWGSG7H=p?uA)+XF_I0kQuJsRW(1zCNr&nx2BO-pUA5Pe=)pY zPo~>8km=y2G*a87K1#k5SNam$o7B;oZ^3rt%giHkIrG2`vnf*RR4+k7$x`c7e<-r0 zb}kcl5S;)*s?_$VA0lyz)b^-OoqA@Zt&*wRPGM?VCyVg|f|_N+^earA;C+Gg%P%1{ z`mdMu4{oY$D0cegGQ5(0*&_Y2B_Z=-_RCFmYN#`l%(c9qpC<2cyfGReL;=o6jX*bA z-3V?<(jNor(S$ew0ObMO1_o!2%42--D!$|2qLqFlz;V|I;o8r!rH@wz`t%j2Z~p$M zXTp17E#S`Al1=}E(w08nG>I8d$s>i~iA5!C_uv(0M!5YoIJWc|d<)*NWCHDt@T%$jJ8Xq0rN8^}gL_*&) zLffDqjQ|@-)DjK->(R6*S8kVm$0HCcG()|jb$TIl>Ly@AYI~LjQ6@F3+p}QLbbT`) zJu@1J`zcY*WiTn-4x|05XJ!_KwqqvbRqM#`v}i6 zEIftfBd+4*1Fzzh=Q5!*+NfX52>;gBOI9ea`&%dv)BO1eddKK0)P@(PKkqM|~VP+T2U zrogw+!5(hP2S6zDalV!(u*?UtEW~9(X>=?Udj74cm#iSJJHE*>Mnq6SRTLbl3_@0a z#&fuN#9tB_#xIOsAypI_VK=$o=f`AaN1a;sKC5z^nV2$5!El4hQ4hMb)D}U(C%-LK zNz6fZsON!6kR$aJikj7QSTwMST=6>UP3L|22&nr_MjPijrp$Y!l}h<2lOMLykxVNj zs4^d$ z2a33eujL8l@j*mP;<64>8Xc49kY*eI*3?T@DDYD#kiu-PkG4(VOF3IH!e3IQaVF{D zBdhc}Uke$E;Dc0&U&|t-G$QQtW(WV))k{_=;)zY{WFy*X68lcHP2sbYAK@=4XGGHR zk>$M1*FuJJ_#ox*YgvSpMq~(o%?|#pbE@)Xlw+eMpo#(`=vnK}m&!r5gb&p0=Hl7y zftO3}5563JYvIkM&}=V<-`?1K_~yXN?QQ2nOtD$}<=;=0+#lgH%|TS+d|p)^8ll`n zBeA>1I);u{qbCC->84eVM@s9bBd6&n+&Ar>4=Avx{2z7Z11PjsEg{tRVdlxJsKE@K zXDA=itg$9^fp}`+y1b=n%Bz5?t5K&ww@RL4;pQ<JtywU%ZRxl?O3LbHS=~}ru-ga@+hv7@IdlicYSinqq$K=K6{*vf346XK zjeKj|?TOjWPE~bma(i}*eO=tv-8f%c_OEv0?q@k09fr7i?B8a3P|FX&l_T=ojUlrj z+`QY<_(3z^M`g6hX$E(z)mSPp0^3=s?NX`0b{HbGgUnzToRxGqsAKIK#WA_CD;$JN zV224UX(MP?a&r2n_W5J!zle4?B3U8Ttx=5dr!whK>hAiKf_NhW2D{ijOCnV(&{_t%zF+HxeAS zD>?egY96!B>cc_j>CwMW+4cIW3v=COpqrR; zYNIehXyko%F+4&Ebnb+&MV2b!OP{F>!ehA?Gmj*NJr^~^`jr?$1@F8&6?@RG8NI06 zOiW-i`wkQOa41dv>cxyS0(AH@j7E ztQLAPG$1tLE5!yQN-26L#Q$dMfcbHb<+tZ4;7JveI;o5W2nJNF$HN`rBw- zaS;9&OlrgXyl@2jmUfSR1vMD`68_Y0A^}JK_d5h7U98{eX{7lqX*Q6Co`=^&y)%=N zF4k%E7}9)*H0$hwe&eEH#YW%ZpEvNQzTPhDKU_304m_jJ^UpJ+xy&x>n=Tr(ooDnH z{PQ!?_->{-j7ojUMMFo)=H^^>i);@L7YcB55>s2JwXM{Q}Ad7B;CBW5%PE6Le zs~29K?Wu`C6nr@6vcqjvl?3fRHU7FQ+v&>!4x)i)x$hNAq<5soS9G7L`$9@Q7}jSh zr^&N5z6nw@B6MMy;>d!{RvGl&e6!iXcd{70&J2{+B>coM;DjEl(Y2At&7e|G9?5m5 zMrP8%zedM8{6*c^CT1HStVAXj)vafc{Qk@D zVV*UY8^`fq;9@mCAb-+htLFO1M`VAlxT zh7sIxhtwk(>8SMMugW4krnLj&4jDiZ?3G$$4XRT>E2Dn~uQT`$$FcOUEbTi6amr%X zWVm_Kv;OeIb-LDH7V<9-`H(7rWwx=H z&v`2r{X}?!R0E`QX_(DKrsOpkFQTzCiBdw7;Xh+O2N#P(t=PaBYPLP~qs zv?nx1U>td4x;9=H3B=KCyVP8Y&I(I*_wR7Ln#+xFWO5~xa|gD(t|FQbLsTVXBdeW= zS~vslPLs=_BQQo8ClKuBoyS1|VoIp`yjSu~2M{m9;;OS@>e8jI_~UF(>=6J*%pl~r$G|#<*CjZshJrUx5lg5aqy@z| zt^(vwzX^@AIxCCuT4YJlTEEdnB#}h|?#H7mIWi^WDEUM3NQG`a$?h^~V11crT6H`I z=SsXVYdPh|N_Qq3 z2N_J(Q2WDbph-`^xVw#ozf;1^rJkk_)K}0rxDx|v{Z{-@-7pEb$Zur_0sAULS6pkbd~Wk`Yj<3uZ?3bo3xiWM!kDkK0LTsEQzZdzVR+P?{?!pNGKIDVW>aEhYSmG9$=Hlfg?fzLqXz%1$5>>am<Y|+pA{9Oz0TqQMjAbWYiBWx*4tDF#!G$wOzg4?-Bza_Zxf@HmbLH@ zp&g@YUFEr@nY6&H$T+9@u&A7zhzh}$Xk9dd~cfk?gT1mqol~M)diL` z^1D^EQJ(TUt_kwnaS?6}qx_6b>Et)pRbCGHElDH49cYdEt{XY~7*wG@O501PvX;vw z0N{WAU22b-CT1Li>fclXDHb&+w&3(GaRH)|HH4=8)oV-0K~GF|7#TpaLtO^LxV~l< zL4s9{?O~~80+F|=6I|tFsG-Kk7t+*k$X&lC_?^H4>lbeJB2J2GB`PbnLpQ)wlwYzC zwoLleDfqh?3t|6)f5Y+-zIr~;S1-?HZKSjom?BH?ySAQLQJN22O?SH2kR>49p(Stj zX*0rJ&b+x$G;P&LbU>N(exprRjdVZel$cpx%&aYMskBh#ccq2wcS0AqtwtS*21|6; zJs5~9U#%B24b#^lZcGRd3-#U}-H%nRErhbZ^l?Lov@frd}6>_c*aGD_FcjujC z)e9>*@tm*up7$StCHy-zZ_k%l z2o1LkLn7)Mj?;d#B?zH1%oX9v$1;D6@{IkV?UKeCv*(M;A5E`+&$mN0wjnPtTLEUx z>Zz!W3UB2p+^`-9Dx>veJw&Zi+-Uf_)>{B3+k#72a{v>ktRUCmWh;o;(vwpU$}*kwuQ z1=qVy)^W_P+EzT3?Kj#kr+h8>k-})J$D2q}z|bB;B2vMUHQu7$d(;TMy^_Ahj4%;2 z@E-LWR0M<)_tS9^-Wn2v48FDUK_w)J1>INu068Fy%;G;bEEU8&aGT8HDFDtJYzyN$ z(AomH4ev+4g+Gxt39^wvArkB~L?UdEKob6`Fr}M>ney94QZZWn~7W;=xLiN{jj$fZ}rb zQTMc{`acNjbiG@`J#gosdQTalepXMMS_x@wSD#=WbLdBh`&_1ksP-b{0iq%^&_V}J z^)h5k37-8OOM;=6=qfG2Kufs$Y$LEK68s*T%?xca#I=?X;wH6U!v~YSmS~k0Vz4E; zQVWqeX(95fCBzoB7v0MdBA9S#V9QrT8EW}`ynDL-%u9a9gRyDyTl_!oNq(ac)in8y z45gQ!?~a3!-#2w@B+Cz@piz6ZG|+sbdYwr*I?~$&eVIvmr4k9R5vb+YJWYP#_~p_c zUlvDAn*R7Ygp?w=PW8$QF3F)|0eRgv^15|&qti)$&I}T;gEwOVoE+WiKaht;9(oP} z?Uxxf%b-@m-BkcL@~l$cEtU*}oft~YRn^AIYP%oru>0|jq<*|Zoi?qwvr*g*RjG@E zXmxS*Moqo_`)Z>G^40Ix88z$3#)d{uV+}m|zgQ|x7Wf3g>@1mHe^~f!G(y|a&%kV4 z-QuN&i5o$edq1=V4o0NWC5{=@jWMWIs1#{Cr_E5R8}YUp)$R4{dvCAP0LW?W_1WL& z-(H2xAkki2^Xpdc{w`NzUG(jPXsrK-Msbw|Z0N@Nwl3~HH`dJ0xdH_&?*5-T+OFm|GqxPKw9E_}K$LHeqiH z98ls8vQ9)8t5sjuZzay>HhOnx9LRJ7MTnMWPzc91tf%f)C!qQ9T!{biyoG(M?>1>J z2m+7jzMc4n$Q#mkswpjgDi*H3>DOD7!fPA1ZqRZbqVZalrv4aocdE#}+yl7NSXr+= z(@_AQl&<^*sDZg^foy--iP%%4wwjB$6vs_aY(`)Qx^BY9gk^c4aVG|H6@Sh_G}&Wx z>KR$sv-k_8;qPW^u_@rKlp(Y6WOVOZYw_n-Z#&+jNXN|>=j-%RlPZT?ELm8jZ)4%v zT1j#X$MR`GKH)e-!DSuPZ?}2}l0`ufJ`Atj_(zTM4VV9x8E_;Ac89x{8FVqr$^<4B z;%%O5V4gykJ>27@t%5+1x=Nj8Lc&y^)#8)KyXu6KehkWq8!QS9v@cc$#*Dc_dp232 zIKO6d1GK`Ax;wnLUKS>X>4QdK&aeqTtJi=68^RI-eCXu-Y6%zy?bYJ6A0RFKt?=LX zYg*VLgBI;N?viD`>);JG;Rpt89}v#ns*>+MEW}&1=pkJ~3l+NuE_>2;qwVzuC-4CC ztsAs%ueZn-uF2j+P%3=I!CrORZ=qt`l+Ji4uFO<=HiSP-667!In_Nr5e$i#ASvud@ zy72f`sT&QwTT*NEO#D&!odeTZbn?^XRc9^Ox+@0pEiO)a89J`|HkwSINt2KYeyUxdFc&|jlI_zi^DYuTedm=82e>wm5B zJ!uMQ;>f!k4xZ_2>3)v4U$1!=E~8~&AvQZI{~{C2i1`LVfwq#;Od>*MRbw*K-$(lN zkR7WgLj}Vy_4m8*Dt3jQ_{!+SC@^gR zQArDttcq>n7>E9Pn;E)IV*0lkflerKtlMWteB25&=c#vwSl&0nyxpoxzoxV`qWwfH0NRw zFMvh7+0?FB?^3Z*O{$|B5eH1w=41+ODvA}FcF0_X+^Yj^k2f8zpRl48`(I5Ar3-Gb zEG$W_C_?=kqX1bU%UqS5=5*3{=$?*;aD2W6hM=%vt>uCV)}W;AM`#G3k+BqvHQS9x z4k!#v^ckyQso=MF^QzO^SDucZs0GsqLk%l&_8Jsu(A-|L5UOxkUCTbnRXQXb;<%&m z8umVyI)~MH@^uhzxudq)8~X_4Dqk8x7DArAS`Y%lsjk=0(+J@M;|Wr6;aFt4{{89d z@3ZSa!Z69AtAP9j>oPjWrS^>Do`d))%&)P^0miUCuEybQhEfvfp6p`mworD)Y`fkD zt>$lH8h@>Ex&ZZ#cC(Fc(aM0gX~t*}Tu9Jn+v6ph9%LJ74-;14d(ATe_C5fKcGQ_Z zS-$k@#O7?+3HS`8oQYw}Yu5RU8d=E=_R@mrGiuPJ{rrN!RQVF_Mu5j2y;(ingC$f9 zz1>{t--n3+M`1A{ppW)hMnoyXhHdgvy^)yYT`(<7>_QguU0ivbtKC`?^bnAUqV{JtzZp~Gkbo1r;aMJ=I3{+BbY%# zq@3^FspcR94gt2X0$USZjq-B(Su&n4OT+)wPVl}jTIJWW@F94p7(3QOJ|blcqags> zElZ#2c?s%x3yw`OeEtY}=W#!C4poUDP?^Rv7yo~@TV^jXW?`wLUC;S%c}6r;oIxf- zX+lL-0bhY$N!|TR&OmN6gSTNnENY2en(ZofKVJ^uu`mL&aSw7tm%x5Du%>Q-BQ^E| z3WTL~>e7H$rMBX?B_#6O@t>UMxF+=W8jWt>ThqwrLN25=&g7Cv(+Vqg4C@_^tQcq| zvXVfn?UWTd<#tO}+c7pkR->)NSjbz%@C(EaI$N7N!JG{j^1cWS3%bhC?#3fA$0!rP zXdxc<35Dm6}PM%X4F?_u4tg8rG0(L1rYGPrFQ)c0WCA z%F8Rw(EclpQow3NE&pi(>k>i7W>ISIe_2?!RxZEva|`QwqX4j;8q!j->4)Hn`m|Sa z=zjpvmY7FVVi1fD#*hi{BmAXa{Y4V?yHP@G^8gp{HqI@1026ZE3wq%=iB$t|t)m_f zQos@k4fMP{yY;0hcsEKO*gMBFh)76H{5|oq47485-=1#$wP(oVvHKG~j&e_;-KB!M zQqrYX;y0QdU$IUyqE`J!x-O;r({HA=M>w9;pQK@)LyvJ9#xD(n!!rCdQ`wzD*ub=1 znk2X#?eQGjL-(hEw}{Z%9SJ^x0aiLiYJVEQrMAFxWq|!DxVwyVBdehvj3)XM=D`7{ zKgj_q+v?N~2~|(+Pq!jRtNPjd6Y!|g)c^SdY~^7myEh!z0r=l5ooq*0 za63HtO(!pX=1L><9I)yr9V%$AqoD7!6!e`-pLzNvY$LhS3_?mie{8i~*R}f)H-bST zuvPD%q{=~efGoDuscy8T)*DnO7`Q}>{(C|^Y3ixlclKk`$HT?@12157P3D!ypXkA) z-{O^9nKuVsXoof*Q-8qWNtPzTax^;C3a!Em8cxM$>^D#d3K&w+hwQGU1LuHmuMHP3 z;nGLAcxAgbRmQ;62T;R4N&Cbjx|=ee`*c2n=6`h$5M!#5$2g@KAas4p|0(rV>XjcQ z)iKb9E%}6by3=zOXiI5L(vm zNpNxkx0YQqsPkW8A&hA70-lk?$1<3!u2Jy9SB`LGMLU7kY3IEsYbJ-r4`|RLTAQh}=8} zL!^$((UcHVzbfy0cWUY5R|-y1#-y>zkJq+V?WfsGWg?rC5Cjb8CzR>{lxhtbnr>l> zeBs~h1Eo1~1dI=2?ys^O27(daCAeC@n?nU{q0_R5^nTN&JU?I)2TG_7c! zUTU6hYT90`{nJ-mjh#&0k>bsm3SaNtADHsQX2y!~FAm5EP9cWbzRf?jnsEf^lRSF(xwky0}pv@)cvs1NIsmW7o(6gvtn z7FIaar5};V;&_5zXF$A11KfjlosZ6QC@lEyW6wqdeIjL43v(XUEV<%cR!Q)2BeWWR z@IIrol|o3CvfyDM3|t(n!M$CDv32lf$W-AgFl>o0?Bwuyu3O1sf@5q_t}2Y6zky>M z9Wu(JL%1h_ZmtP9zVy+GT$BRG4A>v%+&%Uz@-=Hq#fpvt$u(;1{o(_``{>G2$PKzj zNu9XA08S#m%?ZY2;eH9PmEqfxTp_8?*^JV+#v+tIQHgyU$vaW>I5lnu znxo(NapK^5JtP2?dn!ZTrp5QLe*o7AOlN1^qrMG=Kt0RuyGOO)X*3Fs+5D5B+oQe) zL|Dzw-D-N=PmF`oC>ZzAD0^%i?;(!ahq0%Crz=j%3J2=f74dBW@Y!;qexhTapabrc zenCe+o18*N-`FSU=m#imbaaa(;ebJgM8_VxTgWoVZlVKwQ+I=L@vn3XI`&YQdSi_> zAs2Zu6Hu;Jn|je?OpCg8{7 z6OxReJL*XshK<+}Xb{;X1B6WqjsU)K&vlrjp;55f6#GL8hqgY0>Yjk1e`>gS!gHM$ zgAC^2beasvu!p%VhNkApg6lD8_48F?KMu5NKNJE0l2F*(K~h@^46L6g=aurLLi!ou zKSJWz26Pr5Mz_yEDHX3TCpD(RwcJuf?cT?c5E-DV|DU!u0FSe%_W#p1g-}uxpp^;; zMT_DMf>*egLP6WgY6Vu4(iMcN2)!6f)hekV0;X&hve~{`w5vt?yB4TgwMx|r0b5O> zHbJTch!U|%fCv*4HE5*;3jKe+XWn=B-Az*9-uut<7h(78caLRVCW}Z??2ibFLnIUH-s;^))4x1wr6j-f6U30^&fEfg?4=OYXp*43a1Y|tj1kg-D&zlBNN79zlNPX@k+v3Np}T0c97@> z{$coYCqHzT_}A`da(OceJbTK61GBoWoM>*X#8&my_o{k@O_RP-)$7-)w-m~40!&!- z(q@O%GZnyL13d`~pF8D2m$L_TUH;K&XHU8Ebz0LqPU=AS=ivdx~o!_#9=Vi z{5(Dv9W}C7L@&?ntJ`qEwUa^(oWZ3(WTKF7e87 z-GmZt`QgpqV@xTADP*1{PLR{M8Z3uj~#TB{FqlufNLKDJVGTC2@z zt*kkXy+VE~j2Ep)U)ySP+DbO1{G1kp_{Z>{usXc>4+*=2DQe!7PBRM?%EB)6vzzT; z*$BgY*63!u4_XGC_AcBrWwJ99cW)@F@laU!h1*y~H7ety!B7rcub!3Mdj+NuweVZ! zlGC`un~uA^HnYG{!#CMvwfJGJv0kLr+KSH}%{OURX?|IIaiZ};JrChdlLjBg$&hfu z;Rgj?O_eq?!CWY!+Ju9YF+2t>IF(A__~Uzu5mVZQc)hV$y=+)EZ<6+;*MTsC7D5svV8bX z%Tj5tm$;9dWv}6K>y~eAp}SntKRM8zXh+56{E84xzb<`MtzxABc0;XE%KBVlJ(NOl z28$=H<%n7^#l7~kh2@{Y8B^?*slYvcPT4k6Ujg@YY;Q#va0Lvw5Ce<|Sr{`W-Ls4k z@*02y#CEy&vae9-KC(7yu3Ns%XmSHMEzwCH|J>5VuoY&}47@ zz(=3`Sg~DH`v94Xv>EH~caPE@t+$w5C#u$H>zgSDf4)ZxTi;q>LPdFq z`R9UB+5@viY$fp2l9JYZ|M$h#AXtOL-+yYHUqLNJXPg+$Sh$@Khd&53I2*rxYsLLiTUbJs&AED0&A1}Us zbo021#f!LC0cTRXU+qcoLX++3vw4*E)1N}UVy*V&=2q|PZfvF{?q`!s$hT>DuiB=- zb4~9Qm9G4w5tC@Eb6ks!Yly7MRdKL|k)X+3_9(+y5j+x6YhN2Yg#y%0MAHyG4Y?lK zCV1y$q)kbe(#j|M!iM*4EF(`kp7#77#aqArq_W^tKHmDlXH#jHTQ@h1w>~H_Q1RAR z7}M&tKxI8pG%iSE$6L3|@laS(%4;jcTR)w#KPbjtFExt>RQqf|D3PDOK1%bA3B3^L`_LQi%uzUPSG)$#+9CIv4UK zeBE0ZxeBTttgpP)Y<~K%H4iKtbTD3)lVt=2JVN*yunnv>NkTaZ4j6*OfEl@ zJPNIc%`^4uj{0?Dq4jiMXF0t~kPpo`ztM`aWxE^;*m*xGUcXdis$ZxdILGRjPtZog zzf$JXH-kjZ0=^3W1h}Jqy`+BK82)u%XU@9ukn#?CL`S{*-FpjSwBI;c=RW$w*ap!s z7F-JjElj@=Ek?;S9-APe`H}c64Y*Znja4{bZTdvMA9-FE^JUkF@x&xG%*gGm5Z@2^ zi`JX4|L0);;h5EEZhJ(~RHc28vEljduF9~Q;ZcB;zxM^SBbv3-1JwibV)uT0Cw^Hj zUo9W1GLl+CUg0vxTuRD&cwrQr4X9L5srR)mk)iPP9~c7FA$qiL>RP5!*rhm4%?+sd z;fcf67av$;mT-8-ba}_YoUsVB3d689|5>*dXf-!5T`G`&%;j~RV7V~R+Lzw5u!$(23eGts`VEw_ z@vHEfIg8z?@w;1(EgR!UH#UBixz3_?W&^RKTwd4tjVelbnfLE_LuTG1XpQ&Kdp=et z{M;;_G`63FZll;+AN#J!r4w=)q2IhKm5>a8W_AYyZyLHTzlO`%+O6LGWV{+*Nta0I z^)%h%0!sCALe)Tq=Oc%8Nti z?-lPhhg|vLjSIgz+}AoDV5(xkR7AkUh0WMpBO3Mec*iL8C;_K4a}Ds4sA$}4$ZdDC zfH0)PAkkhAz8l;lXt^MS5WVb*w!4<^d6YH|+jnc+1mCiWL23>5lg;(+R{v4lW7;c5 zDCU5e>D0wQplaNwPqoO&zTvoy9qX%@Nd791|21xMSgomP!-0?m{E#%U4Kp8XNHdCs z?)|R`l7k80zV!1(mtxRHm&UsP*L*#q%Z(>OmwBU0n*+5@Hs(wV4$=q~U7iCi3aLsz z@a>Q;&17Gmm6ibga)^v*?scAe8MR0sExI1kYvi{xo1(*(ojCB|D zI5L=V;RJ=!+XDaQ@<)N1`F?_76|g$aa5OUs?-uVDWo$NIOJ+&THoxTTc|*>gQiRPp z`=+ib7IEd-jVIiop>P%7xrf$S<5AoA2MmQ(?nP8a;ZRsL-z|Ta4F&n+G8F8q>h<>3 zxWITv*24D^H7y%#f<=S`N;|i?CqsHPK#hxJboIfu$N->CYO8B|QUjg!Hf&9ye$&_X zip#0Yjod;?SP@{obQp9>lxG zCK}$jh>OeJB}h=c?>PA(pAEa9Ii)V*>kFqN*z~9%5ZfYR!JEZq#hjT~p(9gp4wOjs z?$dqN#vpdkg3;g!5JQ{>KSxmkp(NB1FWzD_GEwf2iZigbNPX*Fy{~fu&zN^p61bs0 z>X%^X#lr?S>jk4e5MG?>dfmUUK@!o@x3(kZEp%=Dlg&$R;f0T(L#_g^eGG~%Ga0RN zk9rW1mDU=)2t%J@8{8UX zu24OhCayssmdKGYT!m9#p`N+dGQN2hW_j;Js4(9O#=uJcXCR&!14{f`eCtpC8Bb{txie zmZ)kq6peu)zsU9YajzafhXLLz#n03K?T5?D;^*f+<150?mwny?t zSaem~ob&P#`jB<69$!CM^UCpcBY9sDzCP?Tz9M|R-RJ$EadrDOChLT=j$(o{tt`Tq4jO8D@Md*N|;c6aG zX>ojXEBBf)87HGjY5|Eh&B?Uq?R;TK4YR}dHw1~F=;S3F(rpKw*P(u6gPY*9PxSs( z#{F@>xsBM#x#TK;4k_6~?!U_QeBDYvFv`vVZV3`Ob1!L$CV-a01kh5L09vwkb}40f ztIR2jKN>@Da$^C(5_ezvs?|coTOTPnM8<9=6AGAQlQG%ebB0F28*g8;5QWSgX9|bIzuTuv3kRR8W=ljMW`3rMC+sK^Ci?D|_x{p#og=gCd{x`2FoD_`PcX@=SX52>h;a*U|q}X+lnN#R&YC2sv|A zz$o}V-O~{G#VTSZ{&^98+q0<>;b$BLjKFWZdp>XdQ{Xx4BbjJ@xlFX){Tx)riNvFL zy}QGgQA9CqS?bo#Gcsl(!g$)`KS2;ipV$me&c&0rxUGslBDg3 z>DD?Obajp7SBqZ7f?R%tR4~*1*yGL^Qu%NxPO-kfZW^V(8u#B{=RpSX)>?nP?<=po zzYbLaql}kHlo9W*G5OJhG;l+XBXlU%-ss$f0TQmWYXMy{(o|Mc#Po6_%sjB7o zGy@YWQKrX?|8DGT_G0)Fq8%87I)F!O4rdt9$d2G9Z(rsizdD>ZPb&%D%Co<+4lK@0&~)U_^G zV-&Q040|5mpJyJUOnZx&=ueBsiB=K|9L@;XQ+XwI?AbRXSemcIzD#SPz3#XpQPZ65 z`(&@%eKdDxfL~g**WLF3cSZ-U&{8ifo9GR>~~gP zN!0XiaDB$tB3$>l&;7glXxNm0>=9QD=oD#>>>jsJ^`b!1fx&t?c$G(Wk9+7;c1{My~o%~nn-L#y6tBtdc_AmYo z*DariEqi_E8j;esXFf*K*kM?}C4`)6v!{b^*`B$Kw~@5j{v6o8w|!XGuwjD-v{{y7 zqs9o3;@dO#)wk!;q0;tv^P~{g&(eY*-w2HJ!!|LOjnbwsVii0_n|{4oZQ7>m%eAR6 zd3pMd^Ls))z&H2$^BPJyi651;-{+6atM+S z%nVnV(MN|jwk3DN$+5@^?Qhwik&6lLBpuAj*a>3@yf-(FV+7__dM9u~)LhQ{lkZDk zHLoIi)O3MjY$@#Auob<>oGgYcn8@zm+v&bTK2jJCLjDAVU2%OYC_rJ2-svS@BqlZom{;)fX`AGe9LAxu0b6s<=EqC8{#ygQ7%e7k z!TS;K$X&VFm38B8zUwHkv-`Qz5__*boQc{P60s08&NjQZ(#M0pD2G0|SsixM^#F$h zXo(nO@G<|F$E$RgDtD@@<_=p<;R$>cm_7NS^yg}k0CbM0H$UA5Fcq@D-zK(+zO^m2 zt@Wm6rM+))%$Gt_;#l=*N*G@Le_y55S4|K;t-!B2*4&X}QqG*py75JfR(w9K;#+KnqJ_D_iVQah}}SjU@0t3%=%5NA8QH+JTmK2HuYNXuQk zf%YJE<8^2ek$3mfnG@v5JcM8l^_=|BGD_NIUMuSj-d7L+2lf7Z&!>^s=UH@oyj&K) z7(+;R$&q24=ea|3#+zBX4iXJ~N6j5Jl#st`Jg>0Vy_`jhSZC@6d(g>)FknL2aP#9$ z>vafsKk|Lk;f<4F9iH$zMEFmx@`SImNS3-hCw__aBe6V`ZbN!z-O^Mig6joCUpnJ^Dj-e{F8QbBlrqw0(CIJ7S0o9Q-QD+Z^0 z1#v5sXD%5bKbZYTt3NQL)!hJW(IO$HaRPu=6?{GgpWGowrHFu*UD}yw@wDC|tFKgZ zF3}>}!7pfbOtdhAD^;<~VM11yYR=jrqdtsty&ojL=o2bAFDRt~2P%B>R zz{M~L=jUGcv+D};vqE*2D{A0(>?b#k(q0DnsxZE+;ST?@?TM%DWaK`u{WOgwqTfvS z=nB&hv2gTk^VCMXN&10&^T%s7W(h4A$>6_ zAyxU~1A}G#<{wLjB+=gKv+vSF5s#j=Er8kb!*eYFpl9xD&6kN1;-T0!=&B)oZ$j%JBA}K}sgjSP;l+)P0Y)xG|_YyW(;|8r=kj@JdCc z+{2=Xr<7u!-G`=GCwQ8~q((N8I6v?^UVg-xL= z+*kdlz-<7(hqCE)G+BO{^>}IUU8^af%}N+N#};JR1(|D2Sk~F4Wxeo(l@;wVhB%&B zENkF=6g6+}DB+sXZlm!_==;Nn(hdt1I*Lb1u`k)+IKY9k4!aG{ zF-@AJTjgqbNDoXv<)MIpH|bSkSOb1&v;jXCwT2(?_!5mz?>TANk-jF+YRCEc5Iw@c zZ|Hchp(ZCo@Vc7J&v-=PHr)>+0C6xkQOU!F@3O;6%B{(?kUOyB>>AwF?6a5_xzd6sa}D`QE~6U;m6(EC^IN0x&}HTXJ^ForY zP7B8WXbyl_5yQ$L*5SXjBn(9LZ!p3j{|kewgKJ=>@91Yp1EWleCAkG=N9N7}8lK7m zyA%!aLYqF|7f7J5D*fC^P45A>p|3~*he5k)H1`tAY`$C)neXIz%^i9D5XLpEcG2Hn z*f;pa{dMn4f+#|d_x;Jm+r{{sL7Kuj*-yo$70jDoJqok|6KX}$0hH}AL|0N=I zU~Xrqp46?m3$xp_uG`SpWed1K%yX| zPtP6z0z6B%)?f6Qf*?F#+YIF^3`r%$KR>>|HOlzjLAjwnw~Y+3b_)buZjqe@* zDvs~B@h~>Nf23FY8Q*^^8{Z3?YD$LXve$ZF!t&wn4}2|Xd}~^?2MtCP;hP~Y4MC}z zqMP?|_OP(&u=wpsH5rTTR-p6}Zc#E!J`x`$3!CcWwW3ZndAW^8mdp;g42TCw>C7D`guPkYZWNoqI@UJ!kjGrt`|Ec&)@ z(*kI4>dxD2sUJ~kH0;t*;sdj`|>0zk4DlfWWJ|?+aQ0A7>UKu z3gl09Jh$QOV4OF(!}WZ!C|8b6PnX0AXkpWN@!OM{&N6yBi^5~{q+7q+XPHgP6ji;G z=TMb?#DxLjaR*6VUy8C4b=4u{f+N|awFx1Q5KxhjOtau$dLwpp_>x!7j+mT0I|70S zK2hXF^278!U8<&BmW&Q?UK)2@_UF%*YoU%UmQdWt=71F6hKrd)O9U9S51zk0G75j2 z2c+4cLSWg|9rBD2?d6yM0&?STL&HV>R?ov2e|u1`_QT)4hxL09JU|86pqp#JIcE92 z2#+PC((S$rc6kJ0Nn#m89BTSx$xv+iNc{F9I8kh%&Qf$B4)y6$+amhTnGY9HT7Awg zg#+j$L(Lt5e&jL6BKQYSy|8b9^Q!gTnEZ4N_73rZ24gU*u>#W@o8aFbr|{F4y)i~` z-4L95!+rPTMs1$imC$6AMSLNxT=qdYKgfBs+pV!a8XI;w-sLi?M`U<(yp zZye0imz^Hz=4d~|S#1-7E@=codEJEqr$^A|HI}2E0teUj#c*)2%zDS9!J3vPmRRvt zUR0C$D31zL)7U`Qv^= zS)2`Dy+mEC8}l>QeO+ETv-u&exs0y$jVekMdiTfZ-m7RrY)MigWGswBaw23E1MEYP z)mWl=vcu=>7)2IGvNI1r7*(QeBlooa_=X7^Q!NJ;2BEez%*#J#&i~;8pmdMFCi6v&!;r9- zy6o#=+?h2Hc4wxS`fNMLQd;e0dIU(I7f3kyhxtw0O90o6ZOZFyo#o7C2*^!-UBk^O zbNbKuefdDuIGs0M(nY6*Tl4GOHJ65qJ)-m!L45Y(-X7ZIa)SD7zs&1dv?K4w=TbMG zX0R^cJiOwwpYz>*C}UbFDHN9h1LM_*l7Y+qbV2-Sf}y)7-ck^Mbl>25*k2fHW;7OIno;;txGr~3vsTZqPF$u^rStHLpVt>kwRlVO z-ES%+KpIX(N-cC(F0iYu+;i~_Vg(o5&$Kp893sYD;1ClF9O5iSZTzKih%T^h!zQDY zQQtOoM4($y-@STlFQGo&81?CGT}C;xnax~tfvyb&4zU`V8oX|7P@67^LvkWwV;pM4 zMou;~B}I`hn*zfJ5V6cbEqx*gzW~B&?#SpzibeRu_x?of*O$!yBF23-HnzU~IvZQ5?%0^T#^{S7~S9b}zCt z3%@=9b2q#x8e19N*Sk|+ni!iEZ5Ec#L%xx>UY!Zm>L%J@2z2BAc8OHE(oYi}f@@n| z?)usl858ag#^IjTbT)mCm6u8=N`AV{W_EJ5%z33Gdq{td?4ci9b9vS@(|uuAPvwlPw~Jl-@~FFR^+dOtN<6Frtd0(6bS^!!)p1btHCpN?}auNy%!rPyCiC91(l3r{OTE~NA+xMF zh6h)o7}$+PXO#!Hi6NntTA!PRW#YgVU?+pld^iMTu}|FR<__>;op6)b+nN}ZVuA0Q z!jTNP<%*)F3$`Z)vCJ=38jsellj0QqwrgtQx2Iiq0L4@c5*a)s`@x?QUVadMM&w?3 znDn`ivCF!X!N=XAGV>wgoqmZDrOHP$*Z+~iX_QL zc;l@kdrfFwN*L~N%B)LGEnY~G02NI41$$M~ndXvks6yV(wP z(Rk!+1(~<>c-CNMi0u|Hs2e*aY0emrK;S$)0xpou%-k` z8EcUu)@ww?TI%%JvN0ZYW2{A)>r4^qfxv{?JkW&4hY})h2IciT>mTco`kk6z-v*WXr@i{;9=!Iq~_Ljhv z?toJ_HdE=o&IWeYwwnBQfw%G#oQ;nHr->lBxmdt%#1EN~%^+7qK&(Z2JgDZnupyV) z!0}DY$5PZY$YpF@sxEmWb3_dF>p5Z*L$mc9FRxvhZ}cK~dls={G#2q^;U{7d>pE?3 z$uwLR1JdY2<2qN^et#o(BVuA(<~rj5S&K1>tq%F>LqzL@3yTT9&V8dhhH*|JDq0!{ zeP+u%49FT4<6pW)lLt_%uH2e6gV@1RnbSNC@mQA+QVX z9~S~IA@3MMU|}^B*=M~l%KWpQf!CSX%$1o(VW6rzgm_fweP%(r2@WD$68zNn$;V^6iNoGK%A{7c6hrDWbN*Kybjrnh*jtK$D4L z>H>_CRy)x~32cNl*c##n>uG%%6h3x&ONJ&|;j681;$8UwRv6dR^A&Z6!I!FBKfRMn zt%lK=jhgFupY;Z?ZMNRpOlAck-GN^EP%LYG{M81x`P)&vPgy7d9eSA__t^!-@S_4E z_VF}*91khuKIe-F@>c+pKSm;)!nm-YC{^x^WJpyU;D;}0Vlz}# zupCq2gX{3Lw8k?8l~E>L7^2SyTy#lv!yl0ndz( zHnt`2XieTp@7ziMwQzO~G>}oo^$N@PuUDoE?&Ssi;fRt>&%?>y> zmywMz`#r76doiu1E4A$3Y~{#2epa$wVe@hSG@PiH+;5s*6x$hmWE5n`oy`iKFy7-N zJEwBsKP8)tj*(5J7^#Y@*H24qs=4u3MT{5(Wmq%!xvB{uYfp$(lzwYf8IRVrC4bzS z{D~1A+-n`)V4zDrSS+HT#SMlx$Z^B0#2(O99Htvk=B;=6_ZqrfIg;F`(Zf7Ua6`Tg$1#H7zY_Sg~m6TT~{nTicRfZcTnA zmulreId#Vh>kj-!R?JGas5@4~Ds}I?BI*v~k6}4;s){~}kr!=LK{G+98{D0@7!w@5 zW4t!VR^anP;(iZw?MHaqo~Ysey|vc9`mN#Y6~u*L9G^88XKWYxru@8&mN5C zqnv$F@9xFOBaXBXL2=(KO{ z;edwiKszXIm&PjUS;p$Hd3vH+lZP%g!f0vDb8Xn&@@{CZP|i-6uZIOz-j@7JYjTjS zEBus27X3yR@Y()Z$(>D8Ij9QC>$M?T=K&skREL~3RHpxO6mPQil{R9lIakmeKng)d z41NaA9(n6=&IUY=WL0)<<;nN)d$**H-A~l4+`9Ys2X{5Nw|+Ae2|zgcIT}_UY@b_= z9$VgiqxoN1d?b}$bH}`DWMRPFlbef{UtQ4P{>>K|qSW9y!Hxo}^8RGY;s>kx%~|QR z-vvXnlf`OU6bPp+QQew&3a8z182KdoBKMg-jVkSpaB8QW-`19Rs&)L}DdkzTGomcL zZKtEDfZ{g*xkOtD=Px<|Vv9MRpD z{Ig=F^a&;La50{Kr~9McI)NKbpyP`rSi&g#JLk#~fa5MWAN_#0cML8XyqMYSyf?ox^OSBbfSqP|dfWfK}lG7CRh9Ji`CS`Y+AT6TmA8w7k|V*njAM@Ayuva=Ot z=M^WHs@(KF>{RWLFDuVbg^}#?*_k-Iv*QOp}s@uJWXM{Kwz@c6xW1b&I< z)D8$yJSWMLq4S<`lJ2(TpIVcT;ag!O)-B;I(NmY`jW(pc^D!MV6;fh@#gohqJ294! z_wy)EC${R>8f8bZ=KLN)+&Miw-K!hZ<|}GrWHqowvQ5cXRmI=}+OdnNh011XU^^|* zRg>)TR4 zY)#!xDYw_h%aB-HOBw4M+^<2QiN-T&j*m|yr$gT_nts-_rEYCa-9{O=l|kYtWeufN z(H;-U;0N1MUvEu)17?8pEAxuHb(yV@bygAdUxzoaxGFTpb=zl>{ul%9GdJ5*V3K(I zA59VmrhVXty-iRS46B$0$3}hlpzhaq4x&8cC0MZk;FK0BFD5{{@ zWTM+vdzr|-3MKwjAFOf$ywe|CT+e!Y$O2XMd+@|gJ?i14RRdoa5ApRODaKFTFvY0i zm)e;$ZJDcqwl(v4uGkgm2WiM!a1Y^1z4|zpfqCDuvv?}9rEo1&OZXl?AI)UG!wa(May#?4w&_wY!^p8V@dwR! z$(^>2FL-wCY;X@V&;*l$vZ9dJ?iQ2qL#>I2A=bLYjv`}XE3l_6^{dv@{je+=!1S19 z4lp_7Ue6Dgj^u|8o)zju_{2~+;3UG=8i_LhDqu67b(AxP3un_2UMt3YWW#4lgFBkl zH7FWvADjib<3z3^hQRBrL@jE9^lH%1ImZ`}+LOMzTBk|VQS+)zqN0QLa-uN@64`0e z`;pJ9=_^RtJ$9df+7;Eet5Dyrs6JL()!BwxtzoXR>iDpsnp*r4taxrR#VPa;01=I7 zZmpev&Vqs9Ae9XfK)WO#l}N{tzI647@neg=J|xBnxV{j$XfBpK?oWE|!%m87+>ee! z|E8q?fHLX#<<1sf+}C-`M|7Xwx{K82_$Gd&Y4g2m{ZXr>Bz8J#GDbDSx%XO0^{PM= z@B3odYNElzxw+NWU?DZu;8B)G1$tpIG`o6qdP)x!>bC}}ersU&jAH!|81;LEQ@=;} ztE_+Q^QwP2qCb`od4IiAY=G!$v4C3sDY`bx3}K_DWjpsl>>MXdEWF!I*l*&n(#=mf z-FijR8@F&ixVAU*m{*YRlEii@#8{(cmd>eGavTeeOMY6m zr*yP}`MJRdKzNsH>9UAkL+*aIdIq#2?o9O7-lz)E3s7Ot%N-GInd22cv#G2?e<1bM zzQXeuH^yrpWhf24i8;tlQU^^Edo|~xpMlv8(E{IZmHWC!4)};)a=06@q?!(cPqJ4C z+tkOL;!J0kjEa}bUpq#A`0*_-FygUTESxvH@rz#Mqq4%#)cLPnkVC}NsgLz=-w66o z56#e;6^;F0erN}*gK>CgPiMvPLOM}o=2T8sD%FE_L~qg^NHV=aa?mEWUbMC%K9j3N z|EK!hq=++>h3Y9VB@fT@qrg)y#U`rD3*+#tkKkEffM>mjXT8C*A%cfZ=5>Mq1 zXAr0E=EW6_v**@S%&&LJhbH0+qP1jrRCc0kg56>&c9=I!V7rKI_fty0n`+-_(U$c` zW~aI)*eTbjE)MfXZEU9{b^r{!w%smICkhi7;Q);=V+LzEGtqIUf|t+;&dhRHq=~=r z<$Cx1cJ24Cmsp#zZy`I|yZ5Zny+9}WBvu zPpi4{Dixa14R#$>d(D8i=>-CQ7q)rLHn-Zp$XrH6$Y!Xs6a)o!I~7-Fvs z%CZ`!DWh33%y$plrU1*rDORMe;&@jc+_-arba!vl7L#{6x!`1VZ>{nb{3dF+!*4=A z_)WlM-DiG4ZP%$b!P=P3SLp*YXn-%Hx_)qjZ_kCw6GK(H<6LEMkN<)K&Ws9}m(9zt zA!p_dzJQfs0k0#Eg7LbVPw1Rr+HgF5fkg;ce^fN2IzEPx3JO9=R_(5%3f}o>70Fh2 z;@jjB-E^?=^iS?n4gMkWj)<4ZJ<@4o}Ayg34oV9CRL5}r_PWb&(T zd$dj<&th7p;rfA1<0@FYOss93T5Gt?{G3uAXNy^HXU5)o|AH8o{to` z6p3NL8c;nj*NRd|Wl_sNzvY{CLYOPz{TJ+B`4P54}j%SFtXyPunHFr~uMeyI1AlqW-6pgJ>r{?(|wKl$>G3!h)d zb6WPN^mF5`eNAU(GYw~yRt&yra0ZqCDgAu)b%#*epVF>6Yi|du2Pf%+Y@oc0$LI3; z^@VnaK)xj`l<1|;RoAQugO{R1Y$xkk%vmBvrDtn`595?f;Xaqw)eLKDb(_(x3~Ori z*zO=k-I!sG-qz)nlflcC!OIn9uCkeNtKB;g!3Msr-8UM8!Qu0Ob#0>0chT3^iEye1{>k)eUH*i}=Jnz8Kj`@caNh3;XL0!aUY=7*e?$oNMhHu8 z^JMs~@U8dOTzmlEKjpnOKmL#df(Z}$T8;`!TSk6nM<5NS?#b?%j&aP@yJ&+k4}NJV z6N#SGhasQbh6Aj=Y-X6J40EnoJA@RrRavm5vI9n~M>gDT9Lx@y38O)M@U0*KB4zO#y}jVyr@stRLR& zfe4R~*WRw{IUxjMiGWCOh_i_-xp`+bSXwcNXG8xki{$-0=h{+Mz>VC-=-)w z(DJ_Uv*0xq&-@09uwYB7Z7kMhke>?wOq~FD}6Z!UQ{NB$0FZsWM=db12ZU3mO z{Ui7P;{RZtb#gzEvX=0B1OLCG%)jyfM&4aR{%){ZF>c0;@e^iLPMk4g#sLS;sG2e3 zph*YMsGc$TH8nh$F{Ad7Ll2uWb;fHCpD|y9|`sMpUp`k3i6j-By_H%2S3f;^ud zVrkQL%f%R47kgupbw_Ib@>`b58996T#s_9TQ9ZKhHYV3gfA$NJR)+)D+-YcnQ0oznp zaYm&K(lo-_F{Qz@IdNw?v6%(`om%iGH`gWGbrw=;cgcO{+4z4+XYt?m!H*Tc`jf<$E@mwzM*QklLCu7mRC$>U8 zWf3a*KGGL&9TumI=_hJAS{rd&%8-J7!uRieN7U9Xx`nDL>KA2?(=X?s3mlS+TfE3a+DXl?IU`A&|G+IF_uee}d#~X5GogdNVw+;2`xG zK8_ruo_(Y7M>g+!%-T{hb1QvCrZ{^ydHL2v{J4rB+8_BJ!vFWmHF`QtFQ# zN=fg*7FvIF)M?N!;D5L&=k*+euxmO-9YvroT*nU>-`QxV4QLX8}TkR zv4|<+naE?jB3MPOw`xp;Zi**gjlt|``(9otF zK9|}(-^>QR;iIE1@vGLv{Wj5bY<+IL_ln;7#CRB-Ca`|?V%(xbYGF}rsk>WKKl3F( z=HS1G;q7`^R8cG)kzH62r+HM29;9&~pOKHr_IpR(_v!5>6KAYTE|H3YQZ zLFC)>*HPLta{O3(es)%@J%0R*)*e58UcNnHJ_zamE*rIs%T1i~88c$v zfezP<$TrDnu-&{Xw_%Y)cy4hEWUhuF)xiR6lhYv^aZGH?Vc;_gCc^UvmMQFG+4}tWtgJ9G^%J9u3bqa0GIe)h|B(HSLkJ{WB0qF5 z8%utudT8W)1v~1eO&U6)t9LOAL`@uRVhNcf{hJ=bUbB~dCPpO@RIfNpmaAe_S0Z-x zNdA!6Wd+J3Yr87@zMhnImxr(M(Sv z4xWqS6(lX+z^Hu;JtziHLDL=<8sZD1#dNsPx@{+dkx>@xglO~qZOOm2CjSnPsY~@+ z?}{9@_Kl}K(u(Y4k3M9>JZBaOrYz?apSHxKW`Dyhu}cO#A_#~Ci`(IX9dEUacw&DB zFZ9L~Bibp_)85X+9+>z$Iib|-NCC^KUz|FK&B!`BFS)nWl=Ng8Izh2Ou=e$(RT*`j zmfCye_`#_FL<5H0ymJl|(;ISMP*J4_G8)Z^kV*6MnV)WB%2q;-<($7#ka}lJ4{-IK`bJ0{Onu=i{ z#!kB0k`J{eABLUOrMip+cChv1NuUc77%Gy$;2Xepy*uY|MofR_>3;bKe?W1&K zF+Yss?hF!7+CKcw!fAKmZtPBX!|S|s&^V<~Kzi%(Zr@aUJRvIOtZZtd_Zo-)`?Kzl zgF_#+jc&FtWnz^5;%tf&N4_I}y5wpfQ zUeW4f{_?3Q=Qwl5{cf58c2M}i8hv19ghh8p^EdVmf_yp2R_SJz=x+8OAM8Kg-Yh%h zaUs^0Z{|jS9;nXiJM0d+uXe|N%IF80r@-p;wL=w6wc-LdZp?q4t8x`TT+39WoI5qX=+0tLcrVng4!pdbHBA1h1buoI8U0FmgmX7E}H%2dA5xsO3x-O)bF86`Mk;M!9FQz-_at)qZ#)m{? z1wll29~KgkL6P2i79wPjx*bxIb6j*{Z%9Pz-3za^>>PIB3qWjM8Kk~x-gPVek(^*O zB%+mWhtGbX&%S*QL}W*NM(1`n2ZDvSf5hdjH*`q;n}+ zl%!vM6WZRUJSAD_S`@Y#C0S!TuP;)PuohBM$E`6+((@uOE6iG+eyV!P>BsbEYte{> zM8YxIoLAMT44nqq9)7cA)yLHhS!tkM@U z1=8vq|CY5O9(r%FCll?7b#hX+D53*+bhm4r;z^EYu>G|W>FnVCAfIQ4TjcXp@{DsL zSiW712|YI=2MXzM@A4TY@QhZkH9FtK&A~pyCie!PVLZ>k&D!)m$7fUPxiKZY3|Yqc z40a~9Rl%Gh80c~rcj96)QB23=ES9;pB6-Wq z*otIl`felSW%Cvv?~Yj<(ydb?tlOqggm-9luK7X8H_@wJ=v6OBNKJ}aLM2o+l)YX> zMZ8UVjXp#~1c4DNs$wfVeV+Pi;Q#okarkpqskdeY8e`jU65IX<5#AVY$kk7bYhngR z1o_g(LkR&bL#!F8ot;*Q+7v;r^A7cExC;?W-d1tZ``K07{=&$@M{5`^EKGxM)x zx2IbPwQ>$oHEz{^78{l5PPcamn3|Rsx$-LvvM-FWs1Qr|FD%GiHx5VHo79OKHd{|(rIUgzsv1MGkTKH);`LQDK^EPf zEc)HY9}rn|i7bpwv9M%)NY?SH7xhC#7L;4j{-LQ}+|!NVx9U)9bmv+-^hj`7!ox+D zwwuIv%~_aCf)2{YU-b{tYNM_K4LjW_zbb4l(fM8zHG=X+k??%~T{fcs(nGB0x3T+D zGJdpZa090lyK3sj%hYe~DyYl(cWMNMHV<#Q{_b{RfewqwIdU&p(DPG-vW zXN)f>#+BgM!)@t~vnX(z+X`RiS7(qeC5PX}=U_yg6m~It5!>8JN3rK{y}0(&=^qnZ z{V2TZ@2Vy39+xI}T;)4Slw0jC0jX^nQT zh>JD<>hfw}=$KRj?lAkr1M<7bP2FK=WS6R&1OXUt*{lbN%_6GJO3Q}SoVR6U<9C#* z+%fT@yV*=-b*&AhZSJ@uDOxA&O4J3wX5uQrCBobQ9I?w%v0}e zi(yA0PY$tt6v}?@F_e82W#8fq$e#3>Lk2Zlc)fa(+@zv6DUCi9jBKL#7)Bc7MQaPM zfRT5o=&c$CQ&*`Z{Nc}BZDmior9}_Ig`Luj3?Sa9K~TiVjOLH$ zCZA#G*pWVSc7%=-3>_N;^9H3^#{n<<&~bEZ%9f!63v{-XK*wSg%tz5q-Zpmup)eyp zD&;ilrmj(y(*^zD+7aU~JOnw}8g22}K=b+|KhVZQnDqdGJ+4_4SG(GB7#9SoCv6b0 zkk#H1h_$^Vdc$2Ib#uY!E!E0=O>?T;<&%p0c`Wf2(_$DD4}1&_&A=sGa+7UrnfL8{ zKen!mI^+UDGw8qe-epnDB9yX(8maENx0{Ij`aR--3+pV6lR=Ga3dl4REdv*gm z8I1#v*f6&-X%3_HcWDH=A@{zT!5GJV!*`rIo~f}&gOE9jbVQb?p+$P?qY)_-b0^^!=gcTevtZ!Df)4Rxyr)= ziVLv(hR!JMq>HVSwpSG~6Yr#ZK*>v9fxmfE}aitfK_GfNeqyKaO^~YQLQB|-|71-#ef^Wnt5PCltB)@^*BBLj3YgEu%8EeuD z;4y~YR-)9&22lZxHMr;iqbl~kMBpuRsA0bL{zNp9`dMx4Nw;rSs_6~X1=HG-Yty~^F?o$)Qkwtl()<`Iwv{%^{lU-O$r zhFx;7tAR%)($5|lU`QlXQvOrIC~*CGFa@il-1`?i+p^%Y!k;vLX9~k znU%@#z+&i$At?PcP>l=;`CW?fdsoEmUZC3SxJORBW2LRzK-cu+&G9p>fXu(F&KP7t zeE~A13^F?fGW|rA%oMA9%{1vuME1)cnq+&Pph8>cB3(OJ3SV<>izh^Z9hM!zxwYMh z`U9u#w;`a{2cajft;)>nYK=HUw}GysG{Rm+jhIayk6xvGBa})%FXfcJ%l$im&*z*|FR=+^9+ zM`?(?j2d!0IekNv5*RrPA-0%I}M9J3xn3KHCp=G zb}i@3w4mMn;0-XLOa*0XlO_1Nxcm2Rw6%3POM&TM{|Yc8W}y*D8XRCLrTrQPx6tvY-0On2!A!&Ytd zi`0#UR&8`wzDcbbqD-|)zrIyUA$|B(ZPEtPg2rads=@=$`d)foRx_wB3k_`uOd$um zZFb9l`qI9}jgvTuEzw->GXHO)*4m*Vt+a8jcD(7G#tl4605HN8Qd^7Z-<1-}2>MCn z^14-&&?oiSvVk1k2swe?)>+PMu#gMi}f_Tx2EM@+PHX{I|mMI zJ`M{32>=h^XkJnkP3PyPw%mG1?fhGsxz-03=+3?VerYIsRZXC4Ht6BXXK3*kL0z(M zvqUbV7xg*sYxvYJ^jSAggkb#|f&-gT0<;0(WYc8+r{6;IPfVZ93 zl;iC;9&d-8AL31FS`cthdW$J+n=XMR9$11qcOZQ~9~7RYUVrpH;bOCD40O!~?OZ8g zQiQ_s5eoGJ6slZz+t2mcCY}g|`t>MO$}6WqAwD;tPzKWI93plcqHuhK!WTn88c>N0 ze4bA_GaD(S$xx`2p>P8U4A8j>h2Pg>%LWQ{V<^B!-cV zh<0pB`thm=i@Srs z0O1qGhhjD#?Ymcf$i~Qw)pp$s379;$V1=`1kPW zrt1M@U;{cpq-P3QXjoLruy_FpLeFs(7SGpXy90~5F)ZqBU0yjk;+!iX>A2Q6T2Tco z{_4sYEyl4pZhnZxY5)cSQ`1|NDq!&%kHxD(EdJwb9*dPi$1kyEMIKkBd0mO%#Fau` z8)0#Jghjmoiz?cEkx*RO%vn4U7WM0~sFXjA2`nCNSd@F=NGwi|u=rRI7$9f-5-eWE zQi}*m6tcjusFY#x3=%neAuP_)W4i;3x-l#&Ga>J}67rraZv9;A8?C4U7F#|$1{QzD z0>ei1UPc}Wn3fJ*1w&dCQ)EPIQr3vx@Kuk+UF3FOxL4?Sn<~xgieD*L3VB_G#n}-S z^#Uxa5;w11pB>K=VNt&xi%Mnla&82RM;I1$GZKrlBP{+R2n>*C0c2phY)~^ZDCAtj zqEd#%=_K%DxUwSUTHk0z6|ne@W#w4h37GK3W$zEM zIOMT-WO|EI6-|rbi`E3;`FcId=%yT%%O7v%UDMR%-%>4K0NFuc0DTL9 z1|C55MJ#WMI?E8Mlp(Z|1kQ9^h0qClYt67 zV<2?K`$B~71TYYBbb5>gr=yW}@lfgzJR0T%}-ADEyFn|_p1)ULab3!a`_I187y+tVt3N&OW)UA8e=7?=!ZThv^0;RksvDKFEP;DtUxTNtc zE%DfraPPnA1$Z$>Vo6!Gpz#7*`YlzVe;&4_-wc+1n8O7bJw(7?p?BFESof_wkaeHk zH@LPh+0ySg?c)c5eLr=VeNViD>8zYX3ko~14s#O$V#m{^w=5wISzuz2R}zB?dto*e znU1hc`t=yJ!iWRqw@OP4bV3EgS?+t!Jg+gsl2^(b+*i8XjsLVqu$z6Qy4C1>=hGe; zsgGQs5o_M!;T8-d2@uzb?kr`FxK2v4IMe#=~EoF!`mm&GUf<~LeV@eQ~YoLe5} z2Q@86O8sNALAv93ALW8U!PirSNgD(PhK5cquNMO2UVb_Gk}H_hjWB7M>jLHU{@$Ut zw^#p!;e~8-)GuH5eWDZ?hE=sYeO`#qKJY^ygHMcYj*=0=?JMyPQ%I^c0u7^k^V}A0 z+XaE)Rw?$>3b@7Cba>!DC?{vMVk)k;fp+iC?Ug~B_{O-@MiM#m^A?x7U61XKHtNQ> zlrq=ll{1@P&oyVR!;vybMMugYrQMP7HcG{H0d4#MPAjJ3>IF{lPaAu!jlJ%E949bb z=^VFGZNx@8zm7`OM*UhFEk)d-sEx^;m_0?Rq2vnJHDtrdZ&dkE3fesk5-aKzvE<{o zMS3Acxco%UOkKk*Aco@#x99JL;W+rA#-+w}v>%UGp?ID*97GZ5H{Y11?Jxi11pWTox*SMD5zpY1VzChqLdOYu$8 zeXdn@E8dKlP^sx_JE#Yi%;6D?f(|o2vqMEiC1TU|sWJM_<@!{A?1J%T#q|)ColGo2cCu%ubVajkE(qO20XN9eXf9q4Ig|Dki5Li>-Y zJ|p^DcQNu0s3VI1#DR7eilQJsaJ}Fk${cnd`Lt~i)$8HC)+tp4&EZv_JBwG*9+21X z_l?|biEUD7F_p6jE2i7uE5Lo^laV_u_A=7#YlY!;`$`FO9I{U8u^d9zr zLYMtBZH+O>EF#%-(sWnYQ1P=J?l#`4eZ!nlgy1^@|umzH$YMcAmWwCi#a~20S zNcm(SNErnP12>zzau%PPekP-o!7-Zz!JxScj(6&@y#x;37#wDZ zK`byy!_^gvH2I_6E%c>^8)f$G(@*(Q7uUKqXL`xa!irHI+f`D-Ry2JCrmIC?(qZF4 zxbCl{z52oQgqPv!l(hgrK1L8*nBbDn@f)bpo1+t0hcE4cSoV{{wWoFl} z=QB#N@5_g9K-;#mdDw?O%bKY=FN_cR1K0fim1<)D${^|iqL}59#G$3s98Tp2&;gWi z5Y_oL+BWy(p9?}^`5G;fl|uUw*_RaMrOS8Qq#u))mdh|F5{SG!v~v`BXqw4Gy8wz1 zLb`@hP#;#D2>52^Yf@0Zq@aE;1r3u?xYDoT%JhM8DM+)Smx7e?+7=RiUNmis9+$5X z?I<|3ExhwuAFu9-q#(f;qV8wV*?y&<3!g1YK?CAlk!4GjdjPa!37AW@C`boF(9e0m zuObH~nscdU26Z^Ig#mg>1cu`Dd<{LFvqQ9OR%_C&#Wo*hRbKdUL_sZFVu zo1U54bVxB!jSM|#($7Q7uyJA@Tq;n^56WzFG_nyut%eb{IrcKL%~?Vo51CTFZU#6oU-Bb4%uP%8a021drt&Ti}#J4>!~PyflrqP~Zn zrB<@tzrkJ76!FHyhI;qaYi(I49^gmtN_XrNg%P~C%00}4YfDfpSi>b~tC=JWv3hEC z3y7hI;t#skaMG_q8>%i=@C{(oY8#o!6= zS2ymP#lW^1J?X5Nmz4@e>Gakrcku_qAf@)CbIx?@g1lv&JHu}Lce9W8NGe;4HO*<9 zPJyDJZ|#g`Sne7`K5xYR)oTq?8|J(7KOdV~$^U2iPio5TnO{K)p&gQvG``B+$l2MU zh-=CpZ->-$-F6daLpvl%wzk~+pyl4oZO%djhQ|)oH}19B`YamaCVKcZTbtEFLtw+r zU5gK`htfjD&v!q(I&Rit-<}r2+PKHcJ6`4e^bZFA0R*YA;H(0hX7{`5q~X;3tO5&O z?Ve+F(blTYM4zECp)k==MEh)}UA?hI*Ksv1lNn(CW_(S{ZDjX16PhLt%;S|D4pa+U zql~5{YO?81-JhugW@tFjHJefYAtiE^UsU)VnghN&#lF+k{ebTXK1U;>?&}p8(4LW$(Vz5`CXJS_rOG$%i$8+1e^;jdkDP z7JP1^;J3*9oZBP0Wbp|(6I|-uZ-3$oH%iRTnL$QPr70_XX1wrjYIk?wSMCeX=)T_V zzKX(=eg1F{RF*uX@VtKKyZ?{7_koYIs`CHSHf^U6ND8S|DOjOsr3Jfy3baUDnYC6% zlghXttfC;sio!wy6VWOLr z>=Gc7@B4G^^UOT+CoR_M@Adli_3GsLbDw+9J@?#m&pr42Sy5d1?A(%oG`a=oQ;*v4 z93??c50+(Zo9y0qZAcon`Zu^cXhY)|oVfgv?}C~3X6&6r&BDZw-d1qTvDtGl=_Z)} z#21%0Iq@qp(Of>~#$(rG!mALZ|Ebwz*i7zU=BB8(7LtljCY0uXN)23uIiQprwqR}|q-6MJls*#U(7DfQuSc*URYxv`i(#r^yqgFpT5oqrC0`mU8e zIDdNo&kepZ{`44gyof&?>j4dR6ULuD`wRPaT$Dde^YxYUr)yv%kZP1aUFyF-lKkma z%)27~6sL_B!Jq!XB3s0tj^Vo($)8R};Thpivy1rC|Nf?wKi#0|9pz6unh(OCUiZx+ z{xr9UKW&UwZv5#b`N{+S^be|hEdJE`wn*hbV0Jm<`2_%*o9 zxopR{s-1crWFgo|{=+j&@KxF|i@qxPb~8T|m*}db(}ICt%Y@aZ9IeaaZlwYy*!n7L`@UW_NIxvSMhVbR#X46`qq-$+R8W zW;)h!y{surr~XwWrl!kHbld2jdf2m`Y<4A3y0^Yvh-{~P#(uG=;~JPJX0zJbVaT8d z?nT+N3b7KNn11`~mI{~_|ypqjREn1*|`W21`a>uJ!RvB^q z!-ke|Rk-`UY_8wA*tQW+uzb}{v8wr{8W0~YA)v37w4m|TUyW}jt1BPHgfD}@BHj;* zdt?fqh~)qLh>nA{WYX#%?{bgxIG7kdYgoCg0R5Nj56BNh5TrW!K{mJ(!HDt4Kf1E{ zqnVKD(5>cAMvvQc$NbTa%^%&*v6+)LV$XDlIxk6ay@KYHv& z{B#Q%bEmh3^T&XD+Y44%e*V1M&;4Njh!)&0n@i@8J$*mtxzYJ!59_YC`Sa-PVE$a; zJHY(WRet{HCZMloTG06Fuf`YGLv`J>D0H3qBMzRnm?hlj=g-}KL`&z-7kQkYKbo^+ z%pVl%g8>Djx={qBA-44vqivX-+YlT7*fRIf8b6mJK6E9*t>53X9!~#7>3W2c61Ukw zzr_yQ()moxeK4{k;81eyr?j(=rJhifhU6ge{9o-S0FaHf{vD(}iOePKv3`YEp}m)v zw)fFPv?qNlI*QOLV#MvdHVW~`GWUkChKM4=vzxsBL*JXl0g8|nrQbjEs-VXezX!kP zl;JluKzxs$CWVd{_w?)MfV=mz`8`C|vgi?B4*kJ91#nO84;rWA>ps6>Hj5%2@gJQv z+FXkXMC}h2lb)|<{-RkeKU6fin`e$Haglv`(K7pV{-T*J-|$7JV}s`_dx`m0^Z62s zy=oO5$Noyd$j{Pi>XAF4DS7X!p*pUu;_sjs2u3AKP=zf3UNqc6h!D@OEA@XSK_1Hc zzp`Tlp$ZYVL z%3tK>FPYu4l@fda76_)ID#1c8uRRvfEa)v*=n1i)fOravpu7}H1g7`Gf>r<6b46JA z0^k>8!S{b-+4#2(bi*&wW*CBf7IS?x8^43NqS-{Z&tD!)0#6y;F7;o9r6_7RMtOJB zk9cSCto-6|F}2y^AUO?xN`AFCNOt4MlV27G-Pq!w`#F}cJ)PCM!4*Y1T42pPSDecHaEbFWuPD zrS9kWR7T#i%I72sgvOoj`bO^?{?s_uo}CTu)|9mwfsc}Y=<`Vc6>6M3!lqK$0x7WV=D%*x)HEec#fq#@^WV& za|Xa}a{t+2F4*9H(=ykyFu?sLgcQPFc>FK>5VVJ1=u@bf6pBhAxX|Eia&G}(?iKmS zXJ`P&uk+8w_2c5BB_{?k`tsfGWum4)e_h7F6%Wt#7sbO%4b(gkN7-lUl-e~qR8;_j zWL;()79WAdLi8Y}cFn_-@wO5*VQ@vA6p)&cM2_whlF^gK^O)M(?y|aua8_S)`NX=> zSsmB$XZb=z#S8}%u?YmB{Nd=dW~KEedIMpI36)cmJ}P(J@|lM$bJ6m7C1qBW)iZlJ z4EGRi5prs@s{aM>$m)9k1pxTWWfSWj;r|I-U&;TfYX5Is_4w-Q3BkfrSYJp*7R+^Z zB0(xZoTaChTkq7axlL#@H)B!{`sH5dSFF^Gdx>?-RF0f7!Le0xC^tpnL5BFgN+>S1 zi21unt(+&2_w*=Ei5QaXg*ZPe%qR^)%mA3K>nFFxsM4fj_CT6do$2D-&d-FU)uYok z3Wac9Xo17p?j6?Qf zj>#07G(w4aT&*M%s^O}boZS10uodV}>qSx`JkUM{F*IN9hfHAwY}yzhC?HkpsS7Yw z;zaE9o6ezMq$peR9?hNXLjEvmG~otq$ZSAk={hKdAhNz&!|i3b?NXG!ty{yya5$p$ZM9aWZ(fDyurU*Yps+DGSo18; zy$qR1Qw%@(=Kite7~>YkhGJ>RLh@iCR+^?f_-L&Ceh|BNB-I~BIAt!KReRfKjnFZU zy!D#*YP{Mm;!jiEN(LAIr(rly9X`%9X(b6@;0(-nL?ziE9@;W@r= z(ZhVe}yjp{N66E5TU5@~1M8)!((YI0WpP>~g6Bn7L`njr~ z*tP}uPq6VFH`B(qp)k0wQ00jlMHqgGA6MvS3g#|;XnhzjU-b@b(VDiLuB!XWtA2g7 zYQsDJjt8sS$7l9cZzoP-(|*HxZ+X=pidKDzP=b!|U{(7-UcTyWoOL$sv8oT0SG_q} z_2sJi*n?NSRdZ>puX?MtpBro}d!kj(FkJuCS8Z$i=(H@x>*C6r&C^O;~3O^6?Nw>J;*5f96-L}&BViR>Uyt6aesNm3w_0GLOcU#qUurx z48LJN{?ISW^c}4O3!x?-@^NolU!c%oXFfigy##^B-AAN>U>zHsb`|S(L$*!(EA~Hn zPk8n0x@o!^owk66v$myj>%2A%$w_<0n#OF0iY#+`hLE8Y?Y;Q%@Bg>r{;C)$q!s>lKejYWa9OL zq}w2=mxxE;{CWa&+rc$H#(79|l{PQBOviqTFLUqk+@`%v)|tvg%AWwZ(Pe zqF!;A_NfImW^wiFS(@AQ$Ztq(DeutMG;Nm68FSldaJ#1)owm0fYb|8;CqI6(emtV? z_uq^2M(y|8g!`x&XsZ7L3>Ntyb+3L;uf6RPnwpkYkrn=&>uiOe#h(DeJ(MbeP>+0W zUk{-+v}tpL%lM3%u6Bk&7+6kvy97TzqtlGld{~Vp!K_aE~+g@%y&EaPO_97as` z3--!81&L4j=zbhFFroucvvCM5FwNXDk8tA?L5wfAK8r!nl1Emxb=gzwNcHKE}xbV!fVw$1k)I-4f)1p8?}XL6SZ z-|KXx*0>rLMHI*R2yJt%u4P73@Q zJ=n#)`pwgWZlH&io*tSC^dNJ2Kt1wiJ-$0SMN8YkUZ!mw?;6}{A_LGG^zfw6bWc`)@*OhqB0>-CYNEJ9 zdPGPzD)t@HRh}MhHC7wT(}RvgO1{^lv>jXc?{y*(oP}gp^RChT$%BX`AfVy6$Zwt= zOpf?Gi^^JK5AAI|yj^{-elMzB(+VZ~o2J?|zsTQQgJsm|nzf#B>1d?{Z+hg7n?2s9 z8{Sr^V4Hp$T$d+<$3DNGrZ{bT%nt1zn=vb-)P)+I*@ae`%UjVSpBvh@Qg5wXXRYYB z!M!hRr7LVj7p1M-SKtZPl((WsKC`rMrOsMuvR3rl;MVz89{v0tDsOzWO@AIO^yET% zl6!A}tgFf!&?Ef)sn$23t8~W|)_{H+-1ow6$PCAjrHe>6mIzrtD|F-X@>cW+?w@Z( zSJAk74emF-6>l8}cU5OXQQ%T2f~6$aVgns!>?~RiFIEHQt>qWyYBgX%?}#SEyJfC< zS}-$rP&F=^{N^X42r>6kvU_R)&o}$Ny|#koUfHxxC+B9L+u%m_*waAJ+4)vh>HCA5 zY}V0KF#p_yhhL!2+tpf!eo>V2R(i&~a@5k_HX^RONf%lqE$LA4uvRthJ9nE_vT%m5 z)y-=rBVJ)!g2iFMofe-wZo zbpOfjvx)+2LHVa`=|ugGn>;Bq`p5?-){W=?b^O1JI*+G~P-kbFyK#X6uhJh>desv$ zqrd*p#Jc17zncHw;`>v8_0OxrD+IlKT7RHaK1~fYmFH7j&&V)~?YKsU7Vr6Y)7-*x zSR{3#u3Te1jqU?<9r3Xct2Mq(10{{NMrSskshqC2ecOhG(BIvb3$rwn;>Zp^Y^I$G z&4nXEwuk>84iEk>QaN4n@Ye%>ARH%qmbtU65BU9m#}Z|s(ktr2ReYMIociFt74(7Z zWQzY=+J|!v(gzR!oreei}l_yee&Zo^RdI49~aO-p1x+%AH|-ZPJc>h?H=pXjIn5Kn6U|IZRIx) zPHX%8IF8vT-=8ZFuRqsPdA>ih=+8|0GlTwApuI0!pJt9ld!o0H_O^Z_=+hXqH|)o; zVxN3}R#oWFMcMc-%_+YR_5|B^{*Q&N#n70nGjv7IL|(EyelPpCEb;HPZ8n33?bd}F ziizo|$T!%|a?7%Y=vHwSczFJ~0z3_ef+uhM7r^rnTRlx_HT<7k^B1^$ZeCYk2HSCm zge}kqqmTGj1^AX63chV6`1-pDe5dLf(iW^Q6Rf!0X*qyBHo7JlEXzRzk5_~0%6Rnn z`%wk>79I*d(wY^G=k3Hr2=RvxW*$E5=o#}FHs&AZx@gRIG1SGd{s-Nu3~K?Ozc~`{ zJ^{B5;r*$u1AIQH>j2(+t;|fLiEnXTL=y^aR1EtIbZ>0f3-FH~3HV=Wuz7l&rt1Ly zDY_2e{}W^@wjnzCA6+MA8O{8L>mr&tn;BQ!mopF9mqLGD_N!8U-8!&MQ=RbS&u#Ng zeepGBn8IA=;cs}z-0~5w2i(>36!<{WKwW045z57TssY?TX{_eapj%{*oT3a2REje2 zJBGt{0ZAuo2&t4-->ctK*>io4muQ`3HK9CnPVuU#r4wahH1Kron&~PS?^7#-m0B65 zTR|(FH>QR!t8M#{^)#qEOKQDr+%>o-``B+NMPILam8=W1=HYg7!$sCn5?*KGtAl*K zW{`j-ig#Pg)~xp?3K>fQK;oq=1}YfhU?Jd`=`r&4)fP&voFPGbJIoRVK0oIY<?L$I2#zQ0Po)HO!)W9Cbp zXxmkcM3hDK5cyKiRaFXwVwq7{a(%wklX2OBBfXe>sej}Aqg_9nR0XRVa6b^_VPqRa zx5m#*|CHHBN1kNQ<~(YlZFu`EMe87M%wl0}@&&w=FxMb;B}oGk!ziyU+3WE9-8OsQP+`Ahvt6C_B@Tg&p7#>GRE+mv-Yn!of69{Z36ZrT$Q z)FA*5Nm?1o>3)~KqeJ_A{!;ud9w8`)&!8-vLmpjF%Dx77A2Dv(n2^1cr|#lES=Y7Y zb$2c*WG|h&I^zEtfK(mieg%2kbZ|^eO5ga-pz&R66A!c}_Tpu)>3N6)aDBK`A88wXO_cr@0b5V{A?Nvo~OT90iIvA zMe*~cH-lB)Ii?7na`XiJacp{CFcv&-sszs&MezJ_K^Z)&{49XmvM>xD20Syyg6BJ* zuYjK~q@wtFUpYL#_p{*e;Zd^Eiu~u4O7I+81kc0s%kcA$e;q`7x(chw&$%B|90(ptHr-vd)|ui zZ`Yo;YW&-^=S>~|cI|ol$G=^B-YD{K*PgeOtk|Bs3y%1F_tuktyY{?MWySXXD*SAE zxfOTF&kl-DuSF^R9xgwfHFo=dmHzHBqt%M|J!pRqw|_Iuin?NZhw2~tf<>p7>laBG zjy`74oJCxqm9bFnZ$MFB(Y`(=`~5ymjXtkqLZQ-^W@U9Kz4f@)Kkmh>e5_Lu`VTx; zl<6MX7%?0zsF_m$PxI^gpuY{hnoOh$lpl~QfnRWvJt%iR5^&`jKi zJWlhRkLVAft7deIEusnpFgs#;E_4ChW+ zpAct{j+7eSTVLnz8{MgMi5L`hT=sRi?|ssY4ZLX>=N2F9Fc8PdxFx_q)5r@#sgZ(3 zyGv(f>6_`$@3PTpu_ALZ=2s-=u+g*h|5RWj79T;Ku84$BVk4)iui<&AA|)=KLGRY6 zca&aa^!7mf85Gq6dlz$9gUXsfiz~?HE8j?IZe4DY%`rKEtxZ1D&Wxk-K{#Y%08}^& z^5iA@3gQtkYgWvts_odlc6Wp&7`(IaD2c+WD&3g|Z?D07q1fBa28y;Rc!>ZC39FL_ zyq|h+rf~*{SxsluTY)tI&>>iyC!CR+5$;fuBNjH*(R;%rGaD3)D0nkg1Nolh;}-?+ zd!P;81;IRPnz>fki@B>a9N!klohZZuupXrmIec(*T7 zvBg-#JJS0DhVdy32_7*VdYT7jNH2bFDJ%{hCR&SL8ti#`^0pm8iPr}uVpZXL|E1!Q zMTm`V7r%eE&Q6PnHhj;_4(fgvW#nr6Oiu_y0eivz_8gtl*cV-bcecz!p$54OPiB;r zKim(H#oKxjNTN&1HLer99@_wzPhTJ7h7Y46BS^D|;h0hlTWtNwI{<5Y8!K=5Id|pgy zMn>S%j;3lzCC67BI>EG>@bpAnnWHusEITGl>nD3?x65ifSR zIq~)Bcsmh#F;U&m`M1^ys7>?4R>6RA~Ro zNc*Rkw7=%awEu}?LmWi#yH0ig<@h}YT$IIyJrA=Qh?(b7~7WelEk=UDxz$n4L^>^!$p|@Wgb%_4{dvSlC`)qN4 zw;h@BeMb=(CH;-?&zCmI$|XwwCGhMxGVt6#C5o03cntr$jtu_aRn$-gdQ(#3NPlm} zZ7#ZGbRL=hJ`y`rf4h!Mf0q|ERH47WF7EHze=hFtz9ZA$Ur#r$_nBgN zx{nMz?>HDdN0Q#2niTDL1^mm6GD2@hmGt)r(c6_pV3f@-?}^iN;K(5N|0afg4*Oeg z@>u=Cl`n0o#|$je-&z(BSN#WGxKh<&jEY0Qj3*CPljj!jf7OKzBx zT#vD7Cf<&nY$toen7cL)MoE8Dt0M56R1D8r9Aa(0N8lMaGVnZJ9ipWKp78v#Y3Rt{ z|Hgbn74Sc=xW9K2hPSl8BS)sc|2^SQ{jJU%5&8QQ`GzX=cX4rl|Mk=5{Us{Rk)XHH z@niJ2h~5a0T15X9;KA$tNWgRLSnwQadYhDQr~>}qUEJT(ZZF6G5u&$S##O>U`ktd7 zFV(-d4rm&@(;{;&40N>F?8R)s-ABnf73|K#Kpr)DiEW9q&JpLAR?WCu}4!09niT^`G}q4FGsy`6(`I+HK$6ZYO~Wm;{zGwb9 z_@46bhlB6q*S>gsqlEwK<6FMv@fsY-^M(A;h%o*&l3a|5agXoUjfHP9 zo|Py<>Swa>rt%YU2K>d{m9>djX$suTD)$LL~)e|u=YpF)j>=e;=)4XpHyi9S& zus8NW%Q9X5FDd3B=TyZB;B(lL`c_3IU?gtD9?<$?6gf-L1b6J=B~dDD0>nliVgghi zkdDhCWI|hL_8fc)_=6kC5wHGJ(SS?`J7W!qACILK#)Cu_RqwQgpq}4_tBy^rnqIY% zqr>U*4PsKkkpF{qwzm5ok^co5y!d+g}5>y9a7P)~j$KRU)H z(0QF5a-RcWa6PrIpTRm+3oqW)kdh z+mrXC;=9my-edaCU2_Pl8{eKuY;QEjFNpEZ=NQMRzB7N`a*6x6vKmU2eo4Te^W`G& zEU$y658{8M`kFS^>O5?OC2FNk%<@M!^vBw>S1a_YxCu}HE6V7BmSJh1X*w;Y|Z7xUvi*E5S205y}oO45O@xvW}i@tWGRZ&r_dh_RQ^MD5)jdeZiA z?V6{d)d%9Yh0b5<_A{rd+qV@?z6#zV;dl|&{FNg0{6Gc-QTo1kG>gtRp3vdULB6;5 z6~0Fv*jP>v{(R5PfMUa=5PzC?vuIe6={GQ6IB(m#sCpe&!6?frK6=1c9DUQ^rM-Wx z++M|6h4tWA@3kHn5Y5T)pxgY-(rDiWe1!cB@fW#I4JbcWa9U0-tOsX7YujZCkl0T| zp&EYx7911ueWARxAIBkxb^Zr&Re%IqX^9&`eu1NHhoLu@Zga0!x(U`)YhP zl^{RL61+BLrNYOY+6|=5B{pMzvam6K9N(9_Di?3UR}2E#=#IX|cn=u^;L{gJekHRHB7kpnZ@$*PDd24&ZFUqHi+UFx@ka+Le=hFvclKf6@76oU zz@JFwrw@Q-y-6y7+c7=_gzIXo14{JpIVe;jfK4&0W8)`$QW=55wwqJf=OnkkJ+>gm5)@P>ZbpGZ4fV_}gpNX%-kmM+?0$aZI7A-N`U<{*$sGhb8!B2 z0{qD`g7mS>^g=#X*=6|2=h@E&x9$V^xnoRm17)|nyN?Oy4uYsVZ&GybY;eJR%d;Qx zIhm_@VJGBsMZ{7a8p(M4YLjQ`Xa_z?vpe_TKj{O84@=%h+0Qhl#u*#b+R!)$O@ zUtI}H>uaJ|s-IYlr7wN3n8Um{EP4EVzYITSU)fDwlL%*#37E@e3uqyAi2S)Mmr0$w zoy+`E1SRxf4_Ik%ibN{fPYq1}?n;ayU9aj21)YNYXrjZ846D?qCY2T7`_=&k3rHu{ zunY1laP9XSPbZt+(M>}aA6GXzZJtz67BW3cXplQMP6A@g(-hJ_GrsowOHN0lcC>C5 zW1u{odo}Vvrjf|Bi%*APVyrhLW4+;At<^E)-&*#Bq51KV+O|5zjtWEPdqU2u#+E6W zB$ji7>BSfmt&!i};%bVw92?xlhk27b5tf~qIzKtmLbP}I_i#FfL2+^r=lt~Im@n$B z>oT$ViIJ8!Q)vJgZ{hZ6U4TnCEXE*Dfc^a`UERbat(d+t3`TAtUo6Sj64Q3 zGL&9Iw16Q=^|m%(P&71uajXT{hY-+n=Ns1LJ)Q>vyve?D(7rT0s2B z#>A`MTiwtr?WU*Zu+tdqtb{M_h7n4X(@ zj>3C&Z#^diMO&|7ZP2hQ8dEWb@)WxIz{0t-Hu%7zx!`pWrRf@XY6nEjw@YOF5Bvd5 zu&6>4!~LJM$~<)ovKAPR$U6YEg{)6Q4=koSt+>Ov_X)#B@pHB7Jyo|;d5^`m8i%?` z2}Y}LzXGlYaf$+L9wZ0XE}q-IXs(Bjv>RX5h!1dNevhpCxvfUIlG z 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 k$c#7xC_cA)iYmw&P%HW1`nktxn3U$#1ZG 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

E3LRDwt*JwdZ5vOby$ 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 diff --git a/Server Files/Binaries/HiveExt.ini b/Server Files/Configs/HiveExt.ini similarity index 100% rename from Server Files/Binaries/HiveExt.ini rename to Server Files/Configs/HiveExt.ini diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_11_Chernarus.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_11_Chernarus.bat new file mode 100644 index 000000000..d388cb7df --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_11_Chernarus.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2302 "-config=instance_11_Chernarus\config.cfg" "-cfg=instance_11_Chernarus\basic.cfg" "-profiles=instance_11_Chernarus" -name=instance_11_Chernarus "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_12_isladuala.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_12_isladuala.bat new file mode 100644 index 000000000..871577afb --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_12_isladuala.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_12_duala\config.cfg" "-cfg=instance_12_duala\basic.cfg" "-profiles=instance_12_duala" -name=instance_12_duala "-mod=@duala;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_13_Tavi.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_13_Tavi.bat new file mode 100644 index 000000000..a33812943 --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_13_Tavi.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2315 "-config=instance_13_Tavi\config.cfg" "-cfg=instance_13_Tavi\basic.cfg" "-profiles=instance_13_Tavi" -name=instance_13_Tavi "-mod=@tavi_DayZ_Epoch;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_15_namalsk.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_15_namalsk.bat new file mode 100644 index 000000000..e00685f64 --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_15_namalsk.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2320 "-config=instance_15_namalsk\config.cfg" "-cfg=instance_15_namalsk\basic.cfg" "-profiles=instance_15_namalsk" -name=instance_15_namalsk "-mod=@namalsk;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_16_panthera.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_16_panthera.bat new file mode 100644 index 000000000..441e9868f --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_16_panthera.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2325 "-config=instance_16_panthera\config.cfg" "-cfg=instance_16_panthera\basic.cfg" "-profiles=instance_16_panthera" -name=instance_16_panthera "-mod=@panthera;@ibr_plants;@ibr_rn;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_18_sahrani.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_18_sahrani.bat new file mode 100644 index 000000000..1368716ab --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_18_sahrani.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2345 "-config=instance_18_sahrani\config.cfg" "-cfg=instance_18_sahrani\basic.cfg" "-profiles=instance_18_sahrani" -name=instance_18_sahrani "-mod=@caa1;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_19_podagorsk.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_19_podagorsk.bat new file mode 100644 index 000000000..d193cc7d6 --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_19_podagorsk.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2345 "-config=instance_19_poda\config.cfg" "-cfg=instance_19_poda\basic.cfg" "-profiles=instance_19_poda" -name=instance_19_poda "-mod=@FDF_Podagorsk;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_1_Takistan.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_1_Takistan.bat new file mode 100644 index 000000000..217549da2 --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_1_Takistan.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2310 "-config=instance_1_takistan\config.cfg" "-cfg=instance_1_takistan\basic.cfg" "-profiles=instance_1_takistan" -name=instance_1_takistan "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" -cpuCount=4 -maxMem=1578 -exThreads=1 \ No newline at end of file diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_20_fapovo.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_20_fapovo.bat new file mode 100644 index 000000000..e318a9606 --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_20_fapovo.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2345 "-config=instance_20_fapovo\config.cfg" "-cfg=instance_20_fapovo\basic.cfg" "-profiles=instance_20_fapovo" -name=instance_20_fapovo "-mod=@fapovo;@lingor@;ibr_plants;@ibr_rn;DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_21_Caribou.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_21_Caribou.bat new file mode 100644 index 000000000..79f52c82a --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_21_Caribou.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2345 "-config=instance_21_caribou\config.cfg" "-cfg=instance_21_caribou\basic.cfg" "-profiles=instance_21_caribou" -name=instance_21_caribou "-mod=@CaribouFrontier;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_2_Utes.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_2_Utes.bat new file mode 100644 index 000000000..da6b49f44 --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_2_Utes.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_2_utes\config.cfg" "-cfg=instance_2_utes\basic.cfg" "-profiles=instance_2_utes" -name=instance_2_utes "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_3_Shapur_BAF.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_3_Shapur_BAF.bat new file mode 100644 index 000000000..d16a6862b --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_3_Shapur_BAF.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_3_shapur_baf\config.cfg" "-cfg=instance_3_shapur_baf\basic.cfg" "-profiles=instance_3_shapur_baf" -name=instance_3_shapur_baf "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_4_Zargabad.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_4_Zargabad.bat new file mode 100644 index 000000000..830b682ad --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_4_Zargabad.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_4_zargabad\config.cfg" "-cfg=instance_4_zargabad\basic.cfg" "-profiles=instance_4_zargabad" -name=instance_4_zargabad "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_6_Dingor.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_6_Dingor.bat new file mode 100644 index 000000000..c1773e220 --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_6_Dingor.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2320 "-config=instance_6_Dingor\config.cfg" "-cfg=instance_6_Dingor\basic.cfg" "-profiles=instance_6_Dingor" -name=instance_6_Dingor "-mod=@lingor;@dingor;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_7_Lingor.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_7_Lingor.bat new file mode 100644 index 000000000..81be4c4eb --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_7_Lingor.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2325 "-config=instance_7_Lingor\config.cfg" "-cfg=instance_7_Lingor\basic.cfg" "-profiles=instance_7_Lingor" -name=instance_7_Lingor "-mod=@lingor;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_8_ProvingGrounds_PMC.bat b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_8_ProvingGrounds_PMC.bat new file mode 100644 index 000000000..99ed2f85d --- /dev/null +++ b/Server Files/Configs/Launch Examples/DayZ_Epoch_instance_8_ProvingGrounds_PMC.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_8_ProvingGrounds_PMC\config.cfg" "-cfg=instance_8_ProvingGrounds_PMC\basic.cfg" "-profiles=instance_8_ProvingGrounds_PMC" -name=instance_8_ProvingGrounds_PMC "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/Configs/instance_11_Chernarus/HiveExt.ini b/Server Files/Configs/instance_11_Chernarus/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/Configs/instance_11_Chernarus/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/Configs/instance_11_Chernarus/config.cfg b/Server Files/Configs/instance_11_Chernarus/config.cfg new file mode 100644 index 000000000..c5ff064dc --- /dev/null +++ b/Server Files/Configs/instance_11_Chernarus/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Chernarus Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_11.Chernarus"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/DayZ_Epoch_instance_11_Chernarus.bat b/Server Files/DayZ_Epoch_instance_11_Chernarus.bat new file mode 100644 index 000000000..d388cb7df --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_11_Chernarus.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2302 "-config=instance_11_Chernarus\config.cfg" "-cfg=instance_11_Chernarus\basic.cfg" "-profiles=instance_11_Chernarus" -name=instance_11_Chernarus "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_12_isladuala.bat b/Server Files/DayZ_Epoch_instance_12_isladuala.bat new file mode 100644 index 000000000..871577afb --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_12_isladuala.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_12_duala\config.cfg" "-cfg=instance_12_duala\basic.cfg" "-profiles=instance_12_duala" -name=instance_12_duala "-mod=@duala;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_13_Tavi.bat b/Server Files/DayZ_Epoch_instance_13_Tavi.bat new file mode 100644 index 000000000..a33812943 --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_13_Tavi.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2315 "-config=instance_13_Tavi\config.cfg" "-cfg=instance_13_Tavi\basic.cfg" "-profiles=instance_13_Tavi" -name=instance_13_Tavi "-mod=@tavi_DayZ_Epoch;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_15_namalsk.bat b/Server Files/DayZ_Epoch_instance_15_namalsk.bat new file mode 100644 index 000000000..e00685f64 --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_15_namalsk.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2320 "-config=instance_15_namalsk\config.cfg" "-cfg=instance_15_namalsk\basic.cfg" "-profiles=instance_15_namalsk" -name=instance_15_namalsk "-mod=@namalsk;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_16_panthera.bat b/Server Files/DayZ_Epoch_instance_16_panthera.bat new file mode 100644 index 000000000..441e9868f --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_16_panthera.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2325 "-config=instance_16_panthera\config.cfg" "-cfg=instance_16_panthera\basic.cfg" "-profiles=instance_16_panthera" -name=instance_16_panthera "-mod=@panthera;@ibr_plants;@ibr_rn;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_18_sahrani.bat b/Server Files/DayZ_Epoch_instance_18_sahrani.bat new file mode 100644 index 000000000..1368716ab --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_18_sahrani.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2345 "-config=instance_18_sahrani\config.cfg" "-cfg=instance_18_sahrani\basic.cfg" "-profiles=instance_18_sahrani" -name=instance_18_sahrani "-mod=@caa1;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_19_podagorsk.bat b/Server Files/DayZ_Epoch_instance_19_podagorsk.bat new file mode 100644 index 000000000..d193cc7d6 --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_19_podagorsk.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2345 "-config=instance_19_poda\config.cfg" "-cfg=instance_19_poda\basic.cfg" "-profiles=instance_19_poda" -name=instance_19_poda "-mod=@FDF_Podagorsk;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_1_Takistan.bat b/Server Files/DayZ_Epoch_instance_1_Takistan.bat new file mode 100644 index 000000000..217549da2 --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_1_Takistan.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2310 "-config=instance_1_takistan\config.cfg" "-cfg=instance_1_takistan\basic.cfg" "-profiles=instance_1_takistan" -name=instance_1_takistan "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" -cpuCount=4 -maxMem=1578 -exThreads=1 \ No newline at end of file diff --git a/Server Files/DayZ_Epoch_instance_20_fapovo.bat b/Server Files/DayZ_Epoch_instance_20_fapovo.bat new file mode 100644 index 000000000..e318a9606 --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_20_fapovo.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2345 "-config=instance_20_fapovo\config.cfg" "-cfg=instance_20_fapovo\basic.cfg" "-profiles=instance_20_fapovo" -name=instance_20_fapovo "-mod=@fapovo;@lingor@;ibr_plants;@ibr_rn;DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_21_Caribou.bat b/Server Files/DayZ_Epoch_instance_21_Caribou.bat new file mode 100644 index 000000000..79f52c82a --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_21_Caribou.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2345 "-config=instance_21_caribou\config.cfg" "-cfg=instance_21_caribou\basic.cfg" "-profiles=instance_21_caribou" -name=instance_21_caribou "-mod=@CaribouFrontier;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_2_Utes.bat b/Server Files/DayZ_Epoch_instance_2_Utes.bat new file mode 100644 index 000000000..da6b49f44 --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_2_Utes.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_2_utes\config.cfg" "-cfg=instance_2_utes\basic.cfg" "-profiles=instance_2_utes" -name=instance_2_utes "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_3_Shapur_BAF.bat b/Server Files/DayZ_Epoch_instance_3_Shapur_BAF.bat new file mode 100644 index 000000000..d16a6862b --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_3_Shapur_BAF.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_3_shapur_baf\config.cfg" "-cfg=instance_3_shapur_baf\basic.cfg" "-profiles=instance_3_shapur_baf" -name=instance_3_shapur_baf "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_4_Zargabad.bat b/Server Files/DayZ_Epoch_instance_4_Zargabad.bat new file mode 100644 index 000000000..830b682ad --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_4_Zargabad.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_4_zargabad\config.cfg" "-cfg=instance_4_zargabad\basic.cfg" "-profiles=instance_4_zargabad" -name=instance_4_zargabad "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_6_Dingor.bat b/Server Files/DayZ_Epoch_instance_6_Dingor.bat new file mode 100644 index 000000000..c1773e220 --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_6_Dingor.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2320 "-config=instance_6_Dingor\config.cfg" "-cfg=instance_6_Dingor\basic.cfg" "-profiles=instance_6_Dingor" -name=instance_6_Dingor "-mod=@lingor;@dingor;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_7_Lingor.bat b/Server Files/DayZ_Epoch_instance_7_Lingor.bat new file mode 100644 index 000000000..81be4c4eb --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_7_Lingor.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2325 "-config=instance_7_Lingor\config.cfg" "-cfg=instance_7_Lingor\basic.cfg" "-profiles=instance_7_Lingor" -name=instance_7_Lingor "-mod=@lingor;@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/DayZ_Epoch_instance_8_ProvingGrounds_PMC.bat b/Server Files/DayZ_Epoch_instance_8_ProvingGrounds_PMC.bat new file mode 100644 index 000000000..99ed2f85d --- /dev/null +++ b/Server Files/DayZ_Epoch_instance_8_ProvingGrounds_PMC.bat @@ -0,0 +1,2 @@ +@echo off +start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2350 "-config=instance_8_ProvingGrounds_PMC\config.cfg" "-cfg=instance_8_ProvingGrounds_PMC\basic.cfg" "-profiles=instance_8_ProvingGrounds_PMC" -name=instance_8_ProvingGrounds_PMC "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" diff --git a/Server Files/PHP/Trader Config Tool/Trader_Config_Tool.php b/Server Files/PHP/Trader Config Tool/Trader_Config_Tool.php index 51a210375..c5bb2aa89 100644 --- a/Server Files/PHP/Trader Config Tool/Trader_Config_Tool.php +++ b/Server Files/PHP/Trader Config Tool/Trader_Config_Tool.php @@ -837,8 +837,7 @@ if(isset($_GET['tid'])){

diff --git a/Server Files/instance_11_Chernarus/BattlEye/addbackpackcargo.txt b/Server Files/instance_11_Chernarus/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/addmagazinecargo.txt b/Server Files/instance_11_Chernarus/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_11_Chernarus/BattlEye/addweaponcargo.txt b/Server Files/instance_11_Chernarus/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_11_Chernarus/BattlEye/attachto.txt b/Server Files/instance_11_Chernarus/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/beserver.cfg_example.txt b/Server Files/instance_11_Chernarus/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/createvehicle.txt b/Server Files/instance_11_Chernarus/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_11_Chernarus/BattlEye/deleteVehicle.txt b/Server Files/instance_11_Chernarus/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_11_Chernarus/BattlEye/mpeventhandler.txt b/Server Files/instance_11_Chernarus/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_11_Chernarus/BattlEye/publicvariable.txt b/Server Files/instance_11_Chernarus/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/publicvariableval.txt b/Server Files/instance_11_Chernarus/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_11_Chernarus/BattlEye/remotecontrol.txt b/Server Files/instance_11_Chernarus/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/remoteexec.txt b/Server Files/instance_11_Chernarus/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/scripts.txt b/Server Files/instance_11_Chernarus/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/selectplayer.txt b/Server Files/instance_11_Chernarus/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/setdamage.txt b/Server Files/instance_11_Chernarus/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/setpos.txt b/Server Files/instance_11_Chernarus/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/setvariable.txt b/Server Files/instance_11_Chernarus/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/BattlEye/setvariableval.txt b/Server Files/instance_11_Chernarus/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_11_Chernarus/BattlEye/teamswitch.txt b/Server Files/instance_11_Chernarus/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_11_Chernarus/BattlEye/waypointcondition.txt b/Server Files/instance_11_Chernarus/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_11_Chernarus/BattlEye/waypointstatement.txt b/Server Files/instance_11_Chernarus/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_11_Chernarus/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_11_Chernarus/HiveExt.ini b/Server Files/instance_11_Chernarus/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/instance_11_Chernarus/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/WhiteLister/config.txt b/Server Files/instance_11_Chernarus/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_11_Chernarus/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_11_Chernarus/WhiteLister/whitelist.db b/Server Files/instance_11_Chernarus/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_11_Chernarus/WhiteLister/whitelist.sql b/Server Files/instance_11_Chernarus/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_11_Chernarus/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/WhiteLister/whitelist.txt b/Server Files/instance_11_Chernarus/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_11_Chernarus/config.cfg b/Server Files/instance_11_Chernarus/config.cfg new file mode 100644 index 000000000..c5ff064dc --- /dev/null +++ b/Server Files/instance_11_Chernarus/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Chernarus Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_11.Chernarus"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_11_Chernarus/rotate_logs.bat b/Server Files/instance_11_Chernarus/rotate_logs.bat new file mode 100644 index 000000000..9ca537dcb --- /dev/null +++ b/Server Files/instance_11_Chernarus/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_11_Chernarus + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/addbackpackcargo.txt b/Server Files/instance_12_duala/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/addmagazinecargo.txt b/Server Files/instance_12_duala/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_12_duala/BattlEye/addweaponcargo.txt b/Server Files/instance_12_duala/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_12_duala/BattlEye/attachto.txt b/Server Files/instance_12_duala/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/beserver.cfg_example.txt b/Server Files/instance_12_duala/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/createvehicle.txt b/Server Files/instance_12_duala/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_12_duala/BattlEye/deleteVehicle.txt b/Server Files/instance_12_duala/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_12_duala/BattlEye/mpeventhandler.txt b/Server Files/instance_12_duala/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_12_duala/BattlEye/publicvariable.txt b/Server Files/instance_12_duala/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/publicvariableval.txt b/Server Files/instance_12_duala/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_12_duala/BattlEye/remotecontrol.txt b/Server Files/instance_12_duala/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/remoteexec.txt b/Server Files/instance_12_duala/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/scripts.txt b/Server Files/instance_12_duala/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/selectplayer.txt b/Server Files/instance_12_duala/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/setdamage.txt b/Server Files/instance_12_duala/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/setpos.txt b/Server Files/instance_12_duala/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/setvariable.txt b/Server Files/instance_12_duala/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_12_duala/BattlEye/setvariableval.txt b/Server Files/instance_12_duala/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_12_duala/BattlEye/teamswitch.txt b/Server Files/instance_12_duala/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_12_duala/BattlEye/waypointcondition.txt b/Server Files/instance_12_duala/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_12_duala/BattlEye/waypointstatement.txt b/Server Files/instance_12_duala/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_12_duala/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_12_duala/HiveExt.ini b/Server Files/instance_12_duala/HiveExt.ini new file mode 100644 index 000000000..c3afd69e9 --- /dev/null +++ b/Server Files/instance_12_duala/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -16 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_12_duala/WhiteLister/config.txt b/Server Files/instance_12_duala/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_12_duala/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_12_duala/WhiteLister/whitelist.db b/Server Files/instance_12_duala/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_12_duala/WhiteLister/whitelist.sql b/Server Files/instance_12_duala/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_12_duala/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_12_duala/WhiteLister/whitelist.txt b/Server Files/instance_12_duala/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_12_duala/config.cfg b/Server Files/instance_12_duala/config.cfg new file mode 100644 index 000000000..08e629c69 --- /dev/null +++ b/Server Files/instance_12_duala/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Isla Duala Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_12.isladuala"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_12_duala/rotate_logs.bat b/Server Files/instance_12_duala/rotate_logs.bat new file mode 100644 index 000000000..b1affe726 --- /dev/null +++ b/Server Files/instance_12_duala/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_12_duala + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/addbackpackcargo.txt b/Server Files/instance_13_tavi/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/addmagazinecargo.txt b/Server Files/instance_13_tavi/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_13_tavi/BattlEye/addweaponcargo.txt b/Server Files/instance_13_tavi/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_13_tavi/BattlEye/attachto.txt b/Server Files/instance_13_tavi/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/beserver.cfg_example.txt b/Server Files/instance_13_tavi/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/createvehicle.txt b/Server Files/instance_13_tavi/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_13_tavi/BattlEye/deleteVehicle.txt b/Server Files/instance_13_tavi/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_13_tavi/BattlEye/mpeventhandler.txt b/Server Files/instance_13_tavi/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_13_tavi/BattlEye/publicvariable.txt b/Server Files/instance_13_tavi/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/publicvariableval.txt b/Server Files/instance_13_tavi/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_13_tavi/BattlEye/remotecontrol.txt b/Server Files/instance_13_tavi/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/remoteexec.txt b/Server Files/instance_13_tavi/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/scripts.txt b/Server Files/instance_13_tavi/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/selectplayer.txt b/Server Files/instance_13_tavi/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/setdamage.txt b/Server Files/instance_13_tavi/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/setpos.txt b/Server Files/instance_13_tavi/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/setvariable.txt b/Server Files/instance_13_tavi/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_13_tavi/BattlEye/setvariableval.txt b/Server Files/instance_13_tavi/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_13_tavi/BattlEye/teamswitch.txt b/Server Files/instance_13_tavi/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_13_tavi/BattlEye/waypointcondition.txt b/Server Files/instance_13_tavi/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_13_tavi/BattlEye/waypointstatement.txt b/Server Files/instance_13_tavi/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_13_tavi/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_13_tavi/HiveExt.ini b/Server Files/instance_13_tavi/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/instance_13_tavi/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_13_tavi/WhiteLister/config.txt b/Server Files/instance_13_tavi/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_13_tavi/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_13_tavi/WhiteLister/whitelist.db b/Server Files/instance_13_tavi/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_13_tavi/WhiteLister/whitelist.sql b/Server Files/instance_13_tavi/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_13_tavi/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_13_tavi/WhiteLister/whitelist.txt b/Server Files/instance_13_tavi/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_13_tavi/config.cfg b/Server Files/instance_13_tavi/config.cfg new file mode 100644 index 000000000..a73971081 --- /dev/null +++ b/Server Files/instance_13_tavi/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Taviana Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_13.Tavi"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_13_tavi/rotate_logs.bat b/Server Files/instance_13_tavi/rotate_logs.bat new file mode 100644 index 000000000..9ca537dcb --- /dev/null +++ b/Server Files/instance_13_tavi/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_11_Chernarus + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/addbackpackcargo.txt b/Server Files/instance_15_namalsk/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/addmagazinecargo.txt b/Server Files/instance_15_namalsk/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_15_namalsk/BattlEye/addweaponcargo.txt b/Server Files/instance_15_namalsk/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_15_namalsk/BattlEye/attachto.txt b/Server Files/instance_15_namalsk/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/beserver.cfg_example.txt b/Server Files/instance_15_namalsk/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/createvehicle.txt b/Server Files/instance_15_namalsk/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_15_namalsk/BattlEye/deleteVehicle.txt b/Server Files/instance_15_namalsk/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_15_namalsk/BattlEye/mpeventhandler.txt b/Server Files/instance_15_namalsk/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_15_namalsk/BattlEye/publicvariable.txt b/Server Files/instance_15_namalsk/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/publicvariableval.txt b/Server Files/instance_15_namalsk/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_15_namalsk/BattlEye/remotecontrol.txt b/Server Files/instance_15_namalsk/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/remoteexec.txt b/Server Files/instance_15_namalsk/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/scripts.txt b/Server Files/instance_15_namalsk/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/selectplayer.txt b/Server Files/instance_15_namalsk/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/setdamage.txt b/Server Files/instance_15_namalsk/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/setpos.txt b/Server Files/instance_15_namalsk/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/setvariable.txt b/Server Files/instance_15_namalsk/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/BattlEye/setvariableval.txt b/Server Files/instance_15_namalsk/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_15_namalsk/BattlEye/teamswitch.txt b/Server Files/instance_15_namalsk/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_15_namalsk/BattlEye/waypointcondition.txt b/Server Files/instance_15_namalsk/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_15_namalsk/BattlEye/waypointstatement.txt b/Server Files/instance_15_namalsk/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_15_namalsk/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_15_namalsk/HiveExt.ini b/Server Files/instance_15_namalsk/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/instance_15_namalsk/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/WhiteLister/config.txt b/Server Files/instance_15_namalsk/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_15_namalsk/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_15_namalsk/WhiteLister/whitelist.db b/Server Files/instance_15_namalsk/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_15_namalsk/WhiteLister/whitelist.sql b/Server Files/instance_15_namalsk/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_15_namalsk/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/WhiteLister/whitelist.txt b/Server Files/instance_15_namalsk/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_15_namalsk/config.cfg b/Server Files/instance_15_namalsk/config.cfg new file mode 100644 index 000000000..de6366683 --- /dev/null +++ b/Server Files/instance_15_namalsk/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Namalsk Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_15.namalsk"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_15_namalsk/rotate_logs.bat b/Server Files/instance_15_namalsk/rotate_logs.bat new file mode 100644 index 000000000..9ca537dcb --- /dev/null +++ b/Server Files/instance_15_namalsk/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_11_Chernarus + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/addbackpackcargo.txt b/Server Files/instance_16_panthera/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/addmagazinecargo.txt b/Server Files/instance_16_panthera/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_16_panthera/BattlEye/addweaponcargo.txt b/Server Files/instance_16_panthera/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_16_panthera/BattlEye/attachto.txt b/Server Files/instance_16_panthera/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/beserver.cfg_example.txt b/Server Files/instance_16_panthera/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/createvehicle.txt b/Server Files/instance_16_panthera/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_16_panthera/BattlEye/deleteVehicle.txt b/Server Files/instance_16_panthera/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_16_panthera/BattlEye/mpeventhandler.txt b/Server Files/instance_16_panthera/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_16_panthera/BattlEye/publicvariable.txt b/Server Files/instance_16_panthera/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/publicvariableval.txt b/Server Files/instance_16_panthera/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_16_panthera/BattlEye/remotecontrol.txt b/Server Files/instance_16_panthera/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/remoteexec.txt b/Server Files/instance_16_panthera/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/scripts.txt b/Server Files/instance_16_panthera/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/selectplayer.txt b/Server Files/instance_16_panthera/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/setdamage.txt b/Server Files/instance_16_panthera/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/setpos.txt b/Server Files/instance_16_panthera/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/setvariable.txt b/Server Files/instance_16_panthera/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_16_panthera/BattlEye/setvariableval.txt b/Server Files/instance_16_panthera/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_16_panthera/BattlEye/teamswitch.txt b/Server Files/instance_16_panthera/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_16_panthera/BattlEye/waypointcondition.txt b/Server Files/instance_16_panthera/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_16_panthera/BattlEye/waypointstatement.txt b/Server Files/instance_16_panthera/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_16_panthera/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_16_panthera/HiveExt.ini b/Server Files/instance_16_panthera/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/instance_16_panthera/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_16_panthera/WhiteLister/config.txt b/Server Files/instance_16_panthera/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_16_panthera/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_16_panthera/WhiteLister/whitelist.db b/Server Files/instance_16_panthera/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_16_panthera/WhiteLister/whitelist.sql b/Server Files/instance_16_panthera/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_16_panthera/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_16_panthera/WhiteLister/whitelist.txt b/Server Files/instance_16_panthera/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_16_panthera/config.cfg b/Server Files/instance_16_panthera/config.cfg new file mode 100644 index 000000000..cf19136f7 --- /dev/null +++ b/Server Files/instance_16_panthera/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Panthera Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_16.Panthera2"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_16_panthera/rotate_logs.bat b/Server Files/instance_16_panthera/rotate_logs.bat new file mode 100644 index 000000000..9ca537dcb --- /dev/null +++ b/Server Files/instance_16_panthera/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_11_Chernarus + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/addbackpackcargo.txt b/Server Files/instance_18_sahrani/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/addmagazinecargo.txt b/Server Files/instance_18_sahrani/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_18_sahrani/BattlEye/addweaponcargo.txt b/Server Files/instance_18_sahrani/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_18_sahrani/BattlEye/attachto.txt b/Server Files/instance_18_sahrani/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/beserver.cfg_example.txt b/Server Files/instance_18_sahrani/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/createvehicle.txt b/Server Files/instance_18_sahrani/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_18_sahrani/BattlEye/deleteVehicle.txt b/Server Files/instance_18_sahrani/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_18_sahrani/BattlEye/mpeventhandler.txt b/Server Files/instance_18_sahrani/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_18_sahrani/BattlEye/publicvariable.txt b/Server Files/instance_18_sahrani/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/publicvariableval.txt b/Server Files/instance_18_sahrani/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_18_sahrani/BattlEye/remotecontrol.txt b/Server Files/instance_18_sahrani/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/remoteexec.txt b/Server Files/instance_18_sahrani/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/scripts.txt b/Server Files/instance_18_sahrani/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/selectplayer.txt b/Server Files/instance_18_sahrani/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/setdamage.txt b/Server Files/instance_18_sahrani/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/setpos.txt b/Server Files/instance_18_sahrani/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/setvariable.txt b/Server Files/instance_18_sahrani/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/BattlEye/setvariableval.txt b/Server Files/instance_18_sahrani/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_18_sahrani/BattlEye/teamswitch.txt b/Server Files/instance_18_sahrani/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_18_sahrani/BattlEye/waypointcondition.txt b/Server Files/instance_18_sahrani/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_18_sahrani/BattlEye/waypointstatement.txt b/Server Files/instance_18_sahrani/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_18_sahrani/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_18_sahrani/HiveExt.ini b/Server Files/instance_18_sahrani/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/instance_18_sahrani/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/WhiteLister/config.txt b/Server Files/instance_18_sahrani/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_18_sahrani/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_18_sahrani/WhiteLister/whitelist.db b/Server Files/instance_18_sahrani/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_18_sahrani/WhiteLister/whitelist.sql b/Server Files/instance_18_sahrani/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_18_sahrani/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/WhiteLister/whitelist.txt b/Server Files/instance_18_sahrani/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_18_sahrani/config.cfg b/Server Files/instance_18_sahrani/config.cfg new file mode 100644 index 000000000..6957b5b6d --- /dev/null +++ b/Server Files/instance_18_sahrani/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Sahrani Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_18.Sara"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_18_sahrani/rotate_logs.bat b/Server Files/instance_18_sahrani/rotate_logs.bat new file mode 100644 index 000000000..9ca537dcb --- /dev/null +++ b/Server Files/instance_18_sahrani/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_11_Chernarus + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/addbackpackcargo.txt b/Server Files/instance_19_poda/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/addmagazinecargo.txt b/Server Files/instance_19_poda/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_19_poda/BattlEye/addweaponcargo.txt b/Server Files/instance_19_poda/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_19_poda/BattlEye/attachto.txt b/Server Files/instance_19_poda/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/beserver.cfg_example.txt b/Server Files/instance_19_poda/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/createvehicle.txt b/Server Files/instance_19_poda/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_19_poda/BattlEye/deleteVehicle.txt b/Server Files/instance_19_poda/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_19_poda/BattlEye/mpeventhandler.txt b/Server Files/instance_19_poda/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_19_poda/BattlEye/publicvariable.txt b/Server Files/instance_19_poda/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/publicvariableval.txt b/Server Files/instance_19_poda/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_19_poda/BattlEye/remotecontrol.txt b/Server Files/instance_19_poda/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/remoteexec.txt b/Server Files/instance_19_poda/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/scripts.txt b/Server Files/instance_19_poda/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/selectplayer.txt b/Server Files/instance_19_poda/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/setdamage.txt b/Server Files/instance_19_poda/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/setpos.txt b/Server Files/instance_19_poda/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/setvariable.txt b/Server Files/instance_19_poda/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_19_poda/BattlEye/setvariableval.txt b/Server Files/instance_19_poda/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_19_poda/BattlEye/teamswitch.txt b/Server Files/instance_19_poda/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_19_poda/BattlEye/waypointcondition.txt b/Server Files/instance_19_poda/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_19_poda/BattlEye/waypointstatement.txt b/Server Files/instance_19_poda/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_19_poda/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_19_poda/HiveExt.ini b/Server Files/instance_19_poda/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/instance_19_poda/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_19_poda/WhiteLister/config.txt b/Server Files/instance_19_poda/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_19_poda/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_19_poda/WhiteLister/whitelist.db b/Server Files/instance_19_poda/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_19_poda/WhiteLister/whitelist.sql b/Server Files/instance_19_poda/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_19_poda/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_19_poda/WhiteLister/whitelist.txt b/Server Files/instance_19_poda/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_19_poda/config.cfg b/Server Files/instance_19_poda/config.cfg new file mode 100644 index 000000000..646d1e8e5 --- /dev/null +++ b/Server Files/instance_19_poda/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Podagorsk Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_19.FDF_Isle1_a"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_19_poda/rotate_logs.bat b/Server Files/instance_19_poda/rotate_logs.bat new file mode 100644 index 000000000..9ca537dcb --- /dev/null +++ b/Server Files/instance_19_poda/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_11_Chernarus + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/addbackpackcargo.txt b/Server Files/instance_1_takistan/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/addmagazinecargo.txt b/Server Files/instance_1_takistan/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_1_takistan/BattlEye/addweaponcargo.txt b/Server Files/instance_1_takistan/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_1_takistan/BattlEye/attachto.txt b/Server Files/instance_1_takistan/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/beserver.cfg_example.txt b/Server Files/instance_1_takistan/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/createvehicle.txt b/Server Files/instance_1_takistan/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_1_takistan/BattlEye/deleteVehicle.txt b/Server Files/instance_1_takistan/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_1_takistan/BattlEye/mpeventhandler.txt b/Server Files/instance_1_takistan/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_1_takistan/BattlEye/publicvariable.txt b/Server Files/instance_1_takistan/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/publicvariableval.txt b/Server Files/instance_1_takistan/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_1_takistan/BattlEye/remotecontrol.txt b/Server Files/instance_1_takistan/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/remoteexec.txt b/Server Files/instance_1_takistan/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/scripts.txt b/Server Files/instance_1_takistan/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/selectplayer.txt b/Server Files/instance_1_takistan/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/setdamage.txt b/Server Files/instance_1_takistan/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/setpos.txt b/Server Files/instance_1_takistan/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/setvariable.txt b/Server Files/instance_1_takistan/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_1_takistan/BattlEye/setvariableval.txt b/Server Files/instance_1_takistan/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_1_takistan/BattlEye/teamswitch.txt b/Server Files/instance_1_takistan/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_1_takistan/BattlEye/waypointcondition.txt b/Server Files/instance_1_takistan/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_1_takistan/BattlEye/waypointstatement.txt b/Server Files/instance_1_takistan/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_1_takistan/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_1_takistan/HiveExt.ini b/Server Files/instance_1_takistan/HiveExt.ini new file mode 100644 index 000000000..c3afd69e9 --- /dev/null +++ b/Server Files/instance_1_takistan/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -16 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_1_takistan/WhiteLister/config.txt b/Server Files/instance_1_takistan/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_1_takistan/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_1_takistan/WhiteLister/whitelist.db b/Server Files/instance_1_takistan/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_1_takistan/WhiteLister/whitelist.sql b/Server Files/instance_1_takistan/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_1_takistan/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_1_takistan/WhiteLister/whitelist.txt b/Server Files/instance_1_takistan/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_1_takistan/config.cfg b/Server Files/instance_1_takistan/config.cfg new file mode 100644 index 000000000..a5375f300 --- /dev/null +++ b/Server Files/instance_1_takistan/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Takistan Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_1.Takistan"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_1_takistan/rotate_logs.bat b/Server Files/instance_1_takistan/rotate_logs.bat new file mode 100644 index 000000000..9ca537dcb --- /dev/null +++ b/Server Files/instance_1_takistan/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_11_Chernarus + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/addbackpackcargo.txt b/Server Files/instance_20_fapovo/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/addmagazinecargo.txt b/Server Files/instance_20_fapovo/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_20_fapovo/BattlEye/addweaponcargo.txt b/Server Files/instance_20_fapovo/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_20_fapovo/BattlEye/attachto.txt b/Server Files/instance_20_fapovo/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/beserver.cfg_example.txt b/Server Files/instance_20_fapovo/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/createvehicle.txt b/Server Files/instance_20_fapovo/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_20_fapovo/BattlEye/deleteVehicle.txt b/Server Files/instance_20_fapovo/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_20_fapovo/BattlEye/mpeventhandler.txt b/Server Files/instance_20_fapovo/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_20_fapovo/BattlEye/publicvariable.txt b/Server Files/instance_20_fapovo/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/publicvariableval.txt b/Server Files/instance_20_fapovo/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_20_fapovo/BattlEye/remotecontrol.txt b/Server Files/instance_20_fapovo/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/remoteexec.txt b/Server Files/instance_20_fapovo/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/scripts.txt b/Server Files/instance_20_fapovo/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/selectplayer.txt b/Server Files/instance_20_fapovo/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/setdamage.txt b/Server Files/instance_20_fapovo/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/setpos.txt b/Server Files/instance_20_fapovo/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/setvariable.txt b/Server Files/instance_20_fapovo/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/BattlEye/setvariableval.txt b/Server Files/instance_20_fapovo/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_20_fapovo/BattlEye/teamswitch.txt b/Server Files/instance_20_fapovo/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_20_fapovo/BattlEye/waypointcondition.txt b/Server Files/instance_20_fapovo/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_20_fapovo/BattlEye/waypointstatement.txt b/Server Files/instance_20_fapovo/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_20_fapovo/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_20_fapovo/HiveExt.ini b/Server Files/instance_20_fapovo/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/instance_20_fapovo/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/WhiteLister/config.txt b/Server Files/instance_20_fapovo/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_20_fapovo/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_20_fapovo/WhiteLister/whitelist.db b/Server Files/instance_20_fapovo/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_20_fapovo/WhiteLister/whitelist.sql b/Server Files/instance_20_fapovo/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_20_fapovo/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/WhiteLister/whitelist.txt b/Server Files/instance_20_fapovo/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_20_fapovo/config.cfg b/Server Files/instance_20_fapovo/config.cfg new file mode 100644 index 000000000..5e7a4d4a5 --- /dev/null +++ b/Server Files/instance_20_fapovo/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Fapovo Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_20.fapovo"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_20_fapovo/rotate_logs.bat b/Server Files/instance_20_fapovo/rotate_logs.bat new file mode 100644 index 000000000..52c2c7fa8 --- /dev/null +++ b/Server Files/instance_20_fapovo/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_20_fapovo + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/addbackpackcargo.txt b/Server Files/instance_21_caribou/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/addmagazinecargo.txt b/Server Files/instance_21_caribou/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_21_caribou/BattlEye/addweaponcargo.txt b/Server Files/instance_21_caribou/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_21_caribou/BattlEye/attachto.txt b/Server Files/instance_21_caribou/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/beserver.cfg_example.txt b/Server Files/instance_21_caribou/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/createvehicle.txt b/Server Files/instance_21_caribou/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_21_caribou/BattlEye/deleteVehicle.txt b/Server Files/instance_21_caribou/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_21_caribou/BattlEye/mpeventhandler.txt b/Server Files/instance_21_caribou/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_21_caribou/BattlEye/publicvariable.txt b/Server Files/instance_21_caribou/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/publicvariableval.txt b/Server Files/instance_21_caribou/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_21_caribou/BattlEye/remotecontrol.txt b/Server Files/instance_21_caribou/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/remoteexec.txt b/Server Files/instance_21_caribou/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/scripts.txt b/Server Files/instance_21_caribou/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/selectplayer.txt b/Server Files/instance_21_caribou/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/setdamage.txt b/Server Files/instance_21_caribou/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/setpos.txt b/Server Files/instance_21_caribou/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/setvariable.txt b/Server Files/instance_21_caribou/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_21_caribou/BattlEye/setvariableval.txt b/Server Files/instance_21_caribou/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_21_caribou/BattlEye/teamswitch.txt b/Server Files/instance_21_caribou/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_21_caribou/BattlEye/waypointcondition.txt b/Server Files/instance_21_caribou/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_21_caribou/BattlEye/waypointstatement.txt b/Server Files/instance_21_caribou/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_21_caribou/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_21_caribou/HiveExt.ini b/Server Files/instance_21_caribou/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/instance_21_caribou/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_21_caribou/WhiteLister/config.txt b/Server Files/instance_21_caribou/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_21_caribou/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_21_caribou/WhiteLister/whitelist.db b/Server Files/instance_21_caribou/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_21_caribou/WhiteLister/whitelist.sql b/Server Files/instance_21_caribou/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_21_caribou/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_21_caribou/WhiteLister/whitelist.txt b/Server Files/instance_21_caribou/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_21_caribou/config.cfg b/Server Files/instance_21_caribou/config.cfg new file mode 100644 index 000000000..9732020b8 --- /dev/null +++ b/Server Files/instance_21_caribou/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Caribou Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_21.Caribou"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_21_caribou/rotate_logs.bat b/Server Files/instance_21_caribou/rotate_logs.bat new file mode 100644 index 000000000..eeeada609 --- /dev/null +++ b/Server Files/instance_21_caribou/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_21_caribou + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/addbackpackcargo.txt b/Server Files/instance_2_utes/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/addmagazinecargo.txt b/Server Files/instance_2_utes/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_2_utes/BattlEye/addweaponcargo.txt b/Server Files/instance_2_utes/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_2_utes/BattlEye/attachto.txt b/Server Files/instance_2_utes/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/beserver.cfg_example.txt b/Server Files/instance_2_utes/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/createvehicle.txt b/Server Files/instance_2_utes/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_2_utes/BattlEye/deleteVehicle.txt b/Server Files/instance_2_utes/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_2_utes/BattlEye/mpeventhandler.txt b/Server Files/instance_2_utes/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_2_utes/BattlEye/publicvariable.txt b/Server Files/instance_2_utes/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/publicvariableval.txt b/Server Files/instance_2_utes/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_2_utes/BattlEye/remotecontrol.txt b/Server Files/instance_2_utes/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/remoteexec.txt b/Server Files/instance_2_utes/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/scripts.txt b/Server Files/instance_2_utes/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/selectplayer.txt b/Server Files/instance_2_utes/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/setdamage.txt b/Server Files/instance_2_utes/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/setpos.txt b/Server Files/instance_2_utes/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/setvariable.txt b/Server Files/instance_2_utes/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_2_utes/BattlEye/setvariableval.txt b/Server Files/instance_2_utes/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_2_utes/BattlEye/teamswitch.txt b/Server Files/instance_2_utes/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_2_utes/BattlEye/waypointcondition.txt b/Server Files/instance_2_utes/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_2_utes/BattlEye/waypointstatement.txt b/Server Files/instance_2_utes/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_2_utes/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_2_utes/HiveExt.ini b/Server Files/instance_2_utes/HiveExt.ini new file mode 100644 index 000000000..c3afd69e9 --- /dev/null +++ b/Server Files/instance_2_utes/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -16 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_2_utes/WhiteLister/config.txt b/Server Files/instance_2_utes/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_2_utes/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_2_utes/WhiteLister/whitelist.db b/Server Files/instance_2_utes/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_2_utes/WhiteLister/whitelist.sql b/Server Files/instance_2_utes/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_2_utes/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_2_utes/WhiteLister/whitelist.txt b/Server Files/instance_2_utes/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_2_utes/config.cfg b/Server Files/instance_2_utes/config.cfg new file mode 100644 index 000000000..e3a3b48e2 --- /dev/null +++ b/Server Files/instance_2_utes/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Utes Server (1.0.3/103718/No Traders)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_2.Utes"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_2_utes/rotate_logs.bat b/Server Files/instance_2_utes/rotate_logs.bat new file mode 100644 index 000000000..aa758c12a --- /dev/null +++ b/Server Files/instance_2_utes/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_2_utes + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/addbackpackcargo.txt b/Server Files/instance_3_shapur_baf/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/addmagazinecargo.txt b/Server Files/instance_3_shapur_baf/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_3_shapur_baf/BattlEye/addweaponcargo.txt b/Server Files/instance_3_shapur_baf/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_3_shapur_baf/BattlEye/attachto.txt b/Server Files/instance_3_shapur_baf/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/beserver.cfg_example.txt b/Server Files/instance_3_shapur_baf/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/createvehicle.txt b/Server Files/instance_3_shapur_baf/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_3_shapur_baf/BattlEye/deleteVehicle.txt b/Server Files/instance_3_shapur_baf/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_3_shapur_baf/BattlEye/mpeventhandler.txt b/Server Files/instance_3_shapur_baf/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_3_shapur_baf/BattlEye/publicvariable.txt b/Server Files/instance_3_shapur_baf/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/publicvariableval.txt b/Server Files/instance_3_shapur_baf/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_3_shapur_baf/BattlEye/remotecontrol.txt b/Server Files/instance_3_shapur_baf/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/remoteexec.txt b/Server Files/instance_3_shapur_baf/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/scripts.txt b/Server Files/instance_3_shapur_baf/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/selectplayer.txt b/Server Files/instance_3_shapur_baf/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/setdamage.txt b/Server Files/instance_3_shapur_baf/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/setpos.txt b/Server Files/instance_3_shapur_baf/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/setvariable.txt b/Server Files/instance_3_shapur_baf/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/BattlEye/setvariableval.txt b/Server Files/instance_3_shapur_baf/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_3_shapur_baf/BattlEye/teamswitch.txt b/Server Files/instance_3_shapur_baf/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_3_shapur_baf/BattlEye/waypointcondition.txt b/Server Files/instance_3_shapur_baf/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_3_shapur_baf/BattlEye/waypointstatement.txt b/Server Files/instance_3_shapur_baf/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_3_shapur_baf/HiveExt.ini b/Server Files/instance_3_shapur_baf/HiveExt.ini new file mode 100644 index 000000000..c3afd69e9 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -16 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/WhiteLister/config.txt b/Server Files/instance_3_shapur_baf/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_3_shapur_baf/WhiteLister/whitelist.db b/Server Files/instance_3_shapur_baf/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_3_shapur_baf/WhiteLister/whitelist.sql b/Server Files/instance_3_shapur_baf/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/WhiteLister/whitelist.txt b/Server Files/instance_3_shapur_baf/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_3_shapur_baf/config.cfg b/Server Files/instance_3_shapur_baf/config.cfg new file mode 100644 index 000000000..7d94fd88e --- /dev/null +++ b/Server Files/instance_3_shapur_baf/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Shapur BAF Server (1.0.3/103718/No Traders)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 24; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_3.Shapur_BAF"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_3_shapur_baf/rotate_logs.bat b/Server Files/instance_3_shapur_baf/rotate_logs.bat new file mode 100644 index 000000000..fa9ef8a75 --- /dev/null +++ b/Server Files/instance_3_shapur_baf/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_3_shapur_baf + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/addbackpackcargo.txt b/Server Files/instance_4_zargabad/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/addmagazinecargo.txt b/Server Files/instance_4_zargabad/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_4_zargabad/BattlEye/addweaponcargo.txt b/Server Files/instance_4_zargabad/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_4_zargabad/BattlEye/attachto.txt b/Server Files/instance_4_zargabad/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/beserver.cfg_example.txt b/Server Files/instance_4_zargabad/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/createvehicle.txt b/Server Files/instance_4_zargabad/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_4_zargabad/BattlEye/deleteVehicle.txt b/Server Files/instance_4_zargabad/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_4_zargabad/BattlEye/mpeventhandler.txt b/Server Files/instance_4_zargabad/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_4_zargabad/BattlEye/publicvariable.txt b/Server Files/instance_4_zargabad/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/publicvariableval.txt b/Server Files/instance_4_zargabad/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_4_zargabad/BattlEye/remotecontrol.txt b/Server Files/instance_4_zargabad/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/remoteexec.txt b/Server Files/instance_4_zargabad/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/scripts.txt b/Server Files/instance_4_zargabad/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/selectplayer.txt b/Server Files/instance_4_zargabad/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/setdamage.txt b/Server Files/instance_4_zargabad/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/setpos.txt b/Server Files/instance_4_zargabad/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/setvariable.txt b/Server Files/instance_4_zargabad/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/BattlEye/setvariableval.txt b/Server Files/instance_4_zargabad/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_4_zargabad/BattlEye/teamswitch.txt b/Server Files/instance_4_zargabad/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_4_zargabad/BattlEye/waypointcondition.txt b/Server Files/instance_4_zargabad/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_4_zargabad/BattlEye/waypointstatement.txt b/Server Files/instance_4_zargabad/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_4_zargabad/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_4_zargabad/HiveExt.ini b/Server Files/instance_4_zargabad/HiveExt.ini new file mode 100644 index 000000000..c3afd69e9 --- /dev/null +++ b/Server Files/instance_4_zargabad/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -16 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/WhiteLister/config.txt b/Server Files/instance_4_zargabad/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_4_zargabad/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_4_zargabad/WhiteLister/whitelist.db b/Server Files/instance_4_zargabad/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_4_zargabad/WhiteLister/whitelist.sql b/Server Files/instance_4_zargabad/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_4_zargabad/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/WhiteLister/whitelist.txt b/Server Files/instance_4_zargabad/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_4_zargabad/config.cfg b/Server Files/instance_4_zargabad/config.cfg new file mode 100644 index 000000000..6eee93de5 --- /dev/null +++ b/Server Files/instance_4_zargabad/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Zargabad Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_4.Zargabad"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_4_zargabad/rotate_logs.bat b/Server Files/instance_4_zargabad/rotate_logs.bat new file mode 100644 index 000000000..2a763d8d7 --- /dev/null +++ b/Server Files/instance_4_zargabad/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_4_zargabad + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/addbackpackcargo.txt b/Server Files/instance_6_Dingor/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/addmagazinecargo.txt b/Server Files/instance_6_Dingor/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_6_Dingor/BattlEye/addweaponcargo.txt b/Server Files/instance_6_Dingor/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_6_Dingor/BattlEye/attachto.txt b/Server Files/instance_6_Dingor/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/beserver.cfg_example.txt b/Server Files/instance_6_Dingor/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/createvehicle.txt b/Server Files/instance_6_Dingor/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_6_Dingor/BattlEye/deleteVehicle.txt b/Server Files/instance_6_Dingor/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_6_Dingor/BattlEye/mpeventhandler.txt b/Server Files/instance_6_Dingor/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_6_Dingor/BattlEye/publicvariable.txt b/Server Files/instance_6_Dingor/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/publicvariableval.txt b/Server Files/instance_6_Dingor/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_6_Dingor/BattlEye/remotecontrol.txt b/Server Files/instance_6_Dingor/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/remoteexec.txt b/Server Files/instance_6_Dingor/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/scripts.txt b/Server Files/instance_6_Dingor/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/selectplayer.txt b/Server Files/instance_6_Dingor/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/setdamage.txt b/Server Files/instance_6_Dingor/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/setpos.txt b/Server Files/instance_6_Dingor/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/setvariable.txt b/Server Files/instance_6_Dingor/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/BattlEye/setvariableval.txt b/Server Files/instance_6_Dingor/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_6_Dingor/BattlEye/teamswitch.txt b/Server Files/instance_6_Dingor/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_6_Dingor/BattlEye/waypointcondition.txt b/Server Files/instance_6_Dingor/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_6_Dingor/BattlEye/waypointstatement.txt b/Server Files/instance_6_Dingor/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_6_Dingor/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_6_Dingor/HiveExt.ini b/Server Files/instance_6_Dingor/HiveExt.ini new file mode 100644 index 000000000..3d72c42e4 --- /dev/null +++ b/Server Files/instance_6_Dingor/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -8 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/WhiteLister/config.txt b/Server Files/instance_6_Dingor/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_6_Dingor/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_6_Dingor/WhiteLister/whitelist.db b/Server Files/instance_6_Dingor/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_6_Dingor/WhiteLister/whitelist.sql b/Server Files/instance_6_Dingor/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_6_Dingor/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/WhiteLister/whitelist.txt b/Server Files/instance_6_Dingor/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_6_Dingor/config.cfg b/Server Files/instance_6_Dingor/config.cfg new file mode 100644 index 000000000..93f2aaf05 --- /dev/null +++ b/Server Files/instance_6_Dingor/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Dingor Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_6.Dingor"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_6_Dingor/rotate_logs.bat b/Server Files/instance_6_Dingor/rotate_logs.bat new file mode 100644 index 000000000..9ca537dcb --- /dev/null +++ b/Server Files/instance_6_Dingor/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_11_Chernarus + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/addbackpackcargo.txt b/Server Files/instance_7_Lingor/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/addmagazinecargo.txt b/Server Files/instance_7_Lingor/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_7_Lingor/BattlEye/addweaponcargo.txt b/Server Files/instance_7_Lingor/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_7_Lingor/BattlEye/attachto.txt b/Server Files/instance_7_Lingor/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/beserver.cfg_example.txt b/Server Files/instance_7_Lingor/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/createvehicle.txt b/Server Files/instance_7_Lingor/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_7_Lingor/BattlEye/deleteVehicle.txt b/Server Files/instance_7_Lingor/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_7_Lingor/BattlEye/mpeventhandler.txt b/Server Files/instance_7_Lingor/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_7_Lingor/BattlEye/publicvariable.txt b/Server Files/instance_7_Lingor/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/publicvariableval.txt b/Server Files/instance_7_Lingor/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_7_Lingor/BattlEye/remotecontrol.txt b/Server Files/instance_7_Lingor/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/remoteexec.txt b/Server Files/instance_7_Lingor/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/scripts.txt b/Server Files/instance_7_Lingor/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/selectplayer.txt b/Server Files/instance_7_Lingor/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/setdamage.txt b/Server Files/instance_7_Lingor/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/setpos.txt b/Server Files/instance_7_Lingor/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/setvariable.txt b/Server Files/instance_7_Lingor/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/BattlEye/setvariableval.txt b/Server Files/instance_7_Lingor/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_7_Lingor/BattlEye/teamswitch.txt b/Server Files/instance_7_Lingor/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_7_Lingor/BattlEye/waypointcondition.txt b/Server Files/instance_7_Lingor/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_7_Lingor/BattlEye/waypointstatement.txt b/Server Files/instance_7_Lingor/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_7_Lingor/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_7_Lingor/HiveExt.ini b/Server Files/instance_7_Lingor/HiveExt.ini new file mode 100644 index 000000000..c3afd69e9 --- /dev/null +++ b/Server Files/instance_7_Lingor/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -16 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/WhiteLister/config.txt b/Server Files/instance_7_Lingor/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_7_Lingor/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_7_Lingor/WhiteLister/whitelist.db b/Server Files/instance_7_Lingor/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_7_Lingor/WhiteLister/whitelist.sql b/Server Files/instance_7_Lingor/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_7_Lingor/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/WhiteLister/whitelist.txt b/Server Files/instance_7_Lingor/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_7_Lingor/config.cfg b/Server Files/instance_7_Lingor/config.cfg new file mode 100644 index 000000000..d3bc1a0fc --- /dev/null +++ b/Server Files/instance_7_Lingor/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch Lingor Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_7.Lingor"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_7_Lingor/rotate_logs.bat b/Server Files/instance_7_Lingor/rotate_logs.bat new file mode 100644 index 000000000..226569d2b --- /dev/null +++ b/Server Files/instance_7_Lingor/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_7_Lingor + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addbackpackcargo.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addbackpackcargo.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addbackpackcargo.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addmagazinecargo.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addmagazinecargo.txt new file mode 100644 index 000000000..acf3ec299 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addmagazinecargo.txt @@ -0,0 +1,12 @@ +1 "" !="BoltSteel" !="WoodenArrow" !="5x_22_LR_17_HMR" !="10x_303" !="Binocular" !"item" !"trash" !"food" !"hand" !"part" !"rnd_" !"swing" !"skin" !"smoke" +1 "Item" !="ItemSodaEmpty" !="ItemSodaPepsi" !="ItemBandage" !="ItemHeatPack" !="ItemMorphine" !="ItemWaterbottle" !="ItemWaterbottleUnfilled" !="ItemWaterbottleBoiled" !="ItemToolbox" !="ItemKnife" !="ItemWatch" !="ItemCompass" !="ItemJerrycan" !="ItemSodaCoke" !="ItemEpinephrine" !="ItemPainkiller" !="ItemBloodbag" !="ItemWire" !="ItemMatchbox" !="ItemMap" !="ItemAntibiotic" !="ItemFlashlightRed" !="ItemFlashlight" !="ItemJerrycanEmpty" !="ItemSodaMdew" +1 "trash" !="TrashTinCan" !="TrashJackDaniels" !="ItemTrashToiletpaper" !="ItemTrashRazor" +1 "food" !="FoodCanSardines" !="FoodSteakCooked" !="FoodCanFrankBeans" !="FoodSteakRaw" !="FoodCanPasta" !="FoodCanBakedBeans" !="FoodmeatRaw" !="FoodbeefRaw" !="FoodmuttonRaw" !="FoodchickenRaw" !="FoodrabbitRaw" !="FoodbaconRaw" !="FoodSteakCooked" !="FoodmeatCooked" !="FoodbeefCooked" !="FoodmuttonCooked" !="FoodchickenCooked" !="FoodrabbitCooked" !="FoodbaconCooked" !="FoodBioMeat" !="FoodCanUnlabeled" !="FoodPistachio" !="FoodNutmix" !="FoodMRE" +1 "hand" !="HandChemBlue" !="HandChemRed" !="HandChemGreen" !="HandRoadFlare" +1 "part" !="PartFueltank" !="PartWoodPile" !="PartWheel" !="PartEngine" !="PartGeneric" !="PartGlass" +1 "swing" !="Hatchet_Swing" !="Crowbar_Swing" !="Machete_Swing" +1 "Skin" +1 "smoke" !="SmokeShell" !="SmokeShellGreen" !="SmokeShellRed" +1 "rnd" !="8Rnd_9x18_Makarov" !="30Rnd_545x39_AK" !="30Rnd_556x45_Stanag" !="30Rnd_762x39_AK47" !="7Rnd_45ACP_1911" !="6Rnd_45ACP" !="2Rnd_shotgun_74Slug" !="2Rnd_shotgun_74Pellets" !="8Rnd_B_Beneli_74Slug" !="8Rnd_B_Beneli_Pellets" !="15Rnd_9x19_M9" !="15Rnd_W1866_Slug" !="30Rnd_9x19_MP5" !="17Rnd_9x19_glock17" +//1 "ItemSodaMdew" +//1 "ItemBloodbag" diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addweaponcargo.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addweaponcargo.txt new file mode 100644 index 000000000..4cbd4cb88 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/addweaponcargo.txt @@ -0,0 +1,2 @@ +1 "" !="Makarov" !="revolver_EP1" !="Colt1911"!="Winchester1866" !=LeeEnfield" !="AK_74" !="Crossbow" !"item" +1 "Item" !="ItemKnife" !="ItemGps" !="ItemEtool" !="ItemMap" !="ItemCompass" !="ItemWatch !="ItemFlashlightRed" !="ItemFlashlight" diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/attachto.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/attachto.txt new file mode 100644 index 000000000..3c182dbae --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/attachto.txt @@ -0,0 +1,26 @@ +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" +5 "Ikarus" +5 "UH1H_DZE" +5 "Mi17_Civilian_DZ" +5 "Mi17_DZE" +5 "PBX" +5 "Zodiac" +5 "RHIB" +5 "Fishing_Boat" +5 "Smallboat_1" +5 "Smallboat_2" +5 "KamazRefuel_DZ" +5 "UralRefuel_TK_EP1_DZ" +5 "MtvrRefuel_DES_EP1_DZ" +5 "Ural_UN_EP1" +5 "Ural_TK_CIV_EP1" +5 "Ural_CDF" +5 "Kamaz" +5 "CSJ_GyroP" +5 "MH6J_DZ" +5 "AH6X_DZ" +5 "MTVR_DES_EP1" +5 "V3S_Civ" +5 "Parachute" +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/beserver.cfg_example.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/beserver.cfg_example.txt new file mode 100644 index 000000000..02061170b --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/beserver.cfg_example.txt @@ -0,0 +1,13 @@ +MaxPing 369 +// maximal delay to server before BattlEye autokicks +MaxCreateVehiclePerInterval 72 1 +MaxSetPosPerInterval 2 1 +MaxSetDamagePerInterval 36 1 +MaxAddBackpackCargoPerInterval 12 1 +MaxAddMagazineCargoPerInterval 96 1 +MaxAddWeaponCargoPerInterval 24 1 +MaxDeleteVehiclePerInterval 48 1 +MaxAttachToPerInterval 4 1 + +// above is in format of amount of entries (number) per timeinterval (seconds) +// in dependency on maxplayers and gametype you might need increase/decrease the values \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/createvehicle.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/createvehicle.txt new file mode 100644 index 000000000..88757b5a9 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/createvehicle.txt @@ -0,0 +1,74 @@ +1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" +1 "SeaGull" +5 "box" !="DebugBoxPlayer_DZ" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "_105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" !"Soldier_Bodyguard_AA12_PMC_DZ" +5 "_AT" !="R_M136_AT" +1 "R_M136_AT" //keep monitoring to catch obvious abuse +5 "_AP" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_SABOT" +5 "_SH" !="Wooden_shed_DZ" +5 "KORD" +5 "DSHKM" +5 "MK19" +5 "AGS" +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" +5 "R_PG" +5 "R_OG" +5 "B_" +5 "_YakB" +1 "_ball" +1 "_mk" +1 "_HE" !="z_soldier_heavy" //!="G_40mm_HE" //keep monitoring to catch obvious abuse +1 "HE_" //keep monitoring to catch obvious abuse +1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse +5 "Parachute" !="ParachuteWest" !="ParachuteC" //under monitoring +1 "dog" //until released not welcome +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_HBarrier5_DZ" !="Land_HBarrier5Preview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" +5 "BBarracks" +1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" +1 "_baf" +1 "_pmc" +1 "cz_" !="CZ_VestPouch_EP1" +5 "_LHD_ +5 "_acr" +5 "MASH_" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" +5 "BasicWeapons" +5 "SpecialWeapons" +5 "_uav" +//5 "AmmoBox" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" +//5 "WeaponsBox" +//5 "CacheBox" +//!="DZ_Backpack_EP1" +//!="MedBox0" //filtered now +//!="Sniper1_DZ" //filtered now +//!="Camo1_DZ" //filtered now +//!="Soldier1_DZ" //filtered now +//!="TentStorage" +//!="DZ_Assault_Pack_EP1" //filtered now +//!="BanditW1_DZ" //filtered now +//!="WeaponHolder_ItemTent" diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/deleteVehicle.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/deleteVehicle.txt new file mode 100644 index 000000000..8a291e2f3 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/deleteVehicle.txt @@ -0,0 +1 @@ +1 "" diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/mpeventhandler.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/mpeventhandler.txt new file mode 100644 index 000000000..7cd7bfd9a --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/mpeventhandler.txt @@ -0,0 +1,281 @@ +1 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "draw" +5 "hint" +5 "create" +5 "add" +5 "remove" +5 "delete" +5 "set" +5 "play" +5 "clear" +5 "disable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "copy" +5 "switch" +5 "text" +5 "init" +5 "hide" +5 "group" +5 "icon" +5 "marker" +5 "server" +5 "compile" +5 "loadFile" +5 "say" +5 "call" +5 "move" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "chat" +5 "fade" +5 "action" +5 "exec" +5 "mission" +5 "kb" +5 "side" +5 "show" +5 "task" +5 "allow" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "enable" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "spawn" !="_this spawn fnc_plyrHit;" +5 "for" +1 "this" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" +5 "format" +5 "skip" +5 "fail" +5 "force" +5 "parse" +5 "terminate" +5 "start" +5 "eventhandler" +5 "loading" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rland" +5 "trigger" +//5 "dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];" +1 "BIS_Effects" //kicking not needed anymore, monitoring only +5 "BIS_" +5 "box" +5 "Mine" +5 "ARTY_" +5 "SADARM_" +5 "LASER_" +5 "WP_" +5 "_MLRS" +5 "_81" +5 "_82" +5 "-105" +5 "_120" +5 "_122" +5 "_227" +1 "Bo_" +5 "_AA" +5 "_AT" +5 "_80" +5 "_57" +5 "_85" +5 "_100" +5 "_125" +5 "_30" +5 "_ied" +5 "_CRV7" +5 "_MEEWS" +5 "_SMAW" +5 "_GRAD" +5 "_yakB" +5 "beeeh" +5 "hreh" +5 "local_sefFuel" +5 "local_gutObject" +5 "object_setFixServer" +5 "object_delLocal" +5 "fnc_vehicleEventHandler" +5 "player_humanityChange" +5 "fnc_usec_damageBleed" +5 "player_medBandage" +5 "player_medInject" +5 "player_medEpi" +5 "player_medTransfuse" +5 "player_medMorphine" +5 "player_medPainkiller" +5 "fnc_usec_damageHandler" +5 "fnc_usec_damageVehicle" +5 "fnc_usec_damageType" +5 "dayzplayermorph" +5 "server_playerMorph" +5 "hiveupdateresu" +5 "+" +//5 "markertype" //covered by 5 "marker" +5 "teamtype" +5 "BIS_fnc_swapVars" +5 "teamName" +5 "fn_swapVars.sqf" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "getVariable" +5 "BIS_fnc_AAN" +5 "BIS_fnc_customGPSvideo" +5 "BIS_fnc_infoText" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +5 " str " +5 "str(" +5 "str[" +5 "str{" +5 "str'" +5 "str\"" +5 ")str" +5 "]str" +5 "}str" +5 "'str" +5 "\"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "isNil" +//5 "local_gutObject" +//5 "object_setFixServer" +5 "allowConnection" +5 "BIS_Effects_Burn" !="BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "local_zombieDamage" +//all below detected already by above +//5 "removeAllWeapons" +//5 "removeAllItems" +//5 "hideObject" +//5 "deleteCollection" +//5 "getPlayerUID" +//5 "setPos" +//5 "setDir" +//5 "setVector" +//5 "deleteVehicle" +//5 "createMine" +//5 "setDamage" +//5 "setDammage" +//5 "setHit" +//5 "GroupIcon" +//5 "setMarker" +//5 "addWaypoint" +//5 "createMarker" +//5 "clearMagazine" +//5 "clearWeapon" +//5 "addAmmo" +//5 "ejectPlayer" +//5 "setUnconscious" +//5 "disableUserInput" +//5 "copyFromClipboard" +//5 "copyToClipboard" +//5 "serverCommand" +//5 "playMusic" +//5 "playSound" +//5 "createSoundSource" +//5 "moveIn" +//5 "vehicleinit" +//5 "processinit" +//5 "addMPEventHandler" +//5 "addAction" +//5 "addEventHandler" +//5 "playMove" +//5 "playAction" +//5 "switchMove" +//5 "titleText" +//5 "cutText" +//5 "createLocation" +//1 "" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/publicvariable.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/publicvariable.txt new file mode 100644 index 000000000..663746223 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/publicvariable.txt @@ -0,0 +1,72 @@ +1 "" !"PVDZE_" !="drn_AskServerDynamicWeatherEventArgs" !="usecTransfuse" !="usecBandage" !="usecBleed" !="usecPainK" !="usecEpi" !="usecMorphine" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="player" !="rsay" !="rland" !="rsetdir" !="_this spawn fnc_plyrHit;" +5 "dayzSpawnZed" +5 "dayzLogin" +5 "dayzLogin2" +5 "dayzLoginRecord" +5 "dayzCharDisco" +5 "dayzPlayerSave" +5 "dayzHit" +5 "dayzPublishObj" +5 "dayzRoadFlare" +5 "dayzDiscoAdd" +5 "dayzGutBody" +5 "dayzHideBody" +5 "dayzDeleteObj" +5 "dayzUpdateVehicle" +5 "dayzSetFix" +5 "dayzHumanity" +5 "dayzDiscoRem" +5 "dayzPlayerMorph" +5 "dayzSetFuel" +5 "dayzFlies" +5 "changeCharacter" +5 "dayzSwitch" +5 "dayzFire" +5 "dayzDeath" +5 "drn_DynamicWeatherEventArgs" +5 "dayzSetDate" +5 "teleported" +1 "nil" +1 "true" +1" false" +5 "remExFP" +//1 "remExField" +5 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" +//1 "player" +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !="PVDZE_zed_Spawn" !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "eh_localCleanup" +5 "vehicle_handleInteract" +5 "server_characterSync" +5 "fnc_buildWeightedArray" +5 "server_hiveWrite" +5 "server_hiveReadWrite" +5 "spawn_heliCrash" +5 "server_getDiff" +5 "server_getDiff2" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_recordLogin" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "adminrq" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +//1 "norrnRACarUp" +//1 "norrnRAPicUp" +//1 "" \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/publicvariableval.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/publicvariableval.txt new file mode 100644 index 000000000..4f367a07e --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/publicvariableval.txt @@ -0,0 +1,412 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "text" !"\"titleText\"" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" !="dog_callBack" !="remExField" = [,,"say",["dog_callBack",120]]" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" !="\"remExField\" = [,,\"switchmove\",\"ActsPercMrunSlowWrflDf_FlipFlopPara\"]" !="[,,\"switchmove\",\"amovpercmstpsnonwnondnon_zevl\"]" !="[,,\"switchmove\",\"amovpercmstpslowwrfldnon_gear\"]" !="[,,\"switchmove\",\"aidlpercmstpsnonwnondnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady02\"]" !="[,,\"switchmove\",\"aidlpercmstpsraswpstdnon_player_idlesteady03\"]" !="[,,\"switchmove\",\"aswmpercmstpsnonwnondnon\"]" !="[,,\"switchmove",\"aidlpercmstpslowwrfldnon_player_idlesteady04\"]" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +//1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" !="[,,\"JIPrequest\"]" +1 "jipexec" //1 "rjipexec" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_medInject" +1 "fnc_usec_damageVehicle" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +5 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" //!"e+" +5 "\+" //!"e+" +5 "_bis" +//5 "trigger" +5 "markerType" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "addAction" +//5 "addEventHandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" !",\"titleText\"," +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +//1 "" +5 +5 "allowConnection" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +/////////////////////////// Illegal chars: +5 "+" !"e+00" +5 ";" +5 "{" +5 "(" !"TELEPORT REVERT" +5 "&" +5 "%" +5 "'" +//////////////////////// GV and functions from DayZ Mod: +5 actionmonitor +5 bis_ +5 building_spawnloot +5 building_spawnzombies +5 camp_spawnzombies +5 dayz +//5 dog_ +5 drn_ +5 eh_localcleanup +5 fnc_ +5 fn_nicespot +5 gear_ui_init +5 horde_epeen_determine_humanity_fnc +5 horde_epeen_fnc_fill_page +5 infectedcamps +5 local_eventkill +5 local_gutobject +5 local_setfuel +5 local_zombiedamage +5 object_ +5 player_alertzombies +5 player_animalcheck +5 player_checkstealth +5 player_combatroll +5 player_countmagazines +5 player_crossbowbolt +5 player_death +5 player_fired +5 player_firemonitor +5 player_gearset +5 player_gearsync +5 player_guicontrolflash +5 player_humanitychange +5 player_humanitymorph +5 player_medbandage +5 player_medepi +5 player_medmorphine +5 player_medpainkiller +5 player_medtransfuse +5 player_music +5 player_packtent +5 player_projectilenear +5 player_spawn_1 +5 player_spawn_2 +5 player_spawncheck +5 player_summedical +5 player_switchmodel +5 player_temp_calculation +5 player_throwobject +5 player_updategui +5 player_weaponfirednear +5 player_zombieattack +5 player_zombiecheck +5 r_player_removeactions2 +5 PVDZ_ +5 server_ +5 stream_locationcheck +5 stream_locationdel +5 stream_locationfill +5 ui_changedisplay +5 ui_initdisplay +5 vehicle_gethitpoints +5 world_isday +5 world_sunrise +5 world_surfacenoise +5 zombie_ + +1 _this diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/remotecontrol.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/remotecontrol.txt new file mode 100644 index 000000000..69d9ecda4 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/remotecontrol.txt @@ -0,0 +1 @@ +5 "" \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/remoteexec.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/remoteexec.txt new file mode 100644 index 000000000..0487bd06d --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/remoteexec.txt @@ -0,0 +1,5 @@ +5 "" !="this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !="[this] spawn BIS_Effects_AirDestruction" !="spawn BIS_Effects_AirDestructionStage2" !="]spawn BIS_Effects_AirDestructionStage2" !="_this spawn fnc_plyrHit;" +1="[this] spawn BIS_Effects_AirDestruction" + +// ban for empty patterns, such: +// 23.06.2013 17:16:25: Ruhzy (x.y.z.t:10202) deadbeef12341234 - #0 "" \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/scripts.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/scripts.txt new file mode 100644 index 000000000..e93adf59a --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/scripts.txt @@ -0,0 +1,8 @@ +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nif(_okToSell) then {\n\nfor "_x" from 1 to _qty_out do {\nplayer addMagazine _part_out;" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/selectplayer.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/selectplayer.txt new file mode 100644 index 000000000..f5efa40a4 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/selectplayer.txt @@ -0,0 +1 @@ +1 "" \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setdamage.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setdamage.txt new file mode 100644 index 000000000..d062d049e --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setdamage.txt @@ -0,0 +1,2 @@ +1 "" +1 "1.000000" \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setpos.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setpos.txt new file mode 100644 index 000000000..60a1d6362 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setpos.txt @@ -0,0 +1,4 @@ +5 "" !"FunctionsManager" !"Shot" !"z_doctor" !"z_hunter" !"z_new_villager1" !"z_new_villager2" !"z_new_villager3" !"z_new_villager4" !"z_new_worker1" !"z_new_worker2" !"z_new_worker3" !"z_new_worker4" !"z_policeman" !"z_priest" !"z_soldier_heavy" !"z_soldier_pilot" !"z_soldier" !"z_suit1" !"z_suit2" !"z_teacher" !"z_villager1" !"z_villager2" !"z_villager3" !"z_worker1" !"z_worker2" !"z_worker3" !"zZombie_Base" !"CSJ_GyroCover" !"CSJ_GyroP" +1 "" + +// Don't ban for BattleFieldClearance, it's injected by cheaters to legit players in order to disable clientside security. \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setvariable.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setvariable.txt new file mode 100644 index 000000000..61d2c1420 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setvariable.txt @@ -0,0 +1,51 @@ +1 "" !="drn_AskServerDynamicWeatherEventArgs" !="axehlight" !="dayzLogin" !="dayzLogin2" !="dayzLoginRecord" !="dayzCharDisco" !="dayzPlayerSave" !="usecBleed" !="dayzHit" !="usecTransfuse" !="usecBandage" !="dayzPlayerMorph" !="usecPainK" !="usecEpi" !="dayzPublishObj" !="dayzRoadFlare" !="dayzDiscoAdd" !="dayzGutBody" !="dayzHideBody" !="dayzDeleteObj" !="dayzUpdateVehicle" !="dayzSetFix" !="dayzHumanity" !="dayzDiscoRem" !="usecMorphine" !="dayzSetFuel" !="dayzFlies" !="changeCharacter" !="dayzSwitch" !="dayzFire" !="norrnRaDrag" !="norrnR180" !="norrnRalie" !="norrnRALW" !="norrnRACarUp" !="norrnRAPicUp" !="norrnRnoAnim" !="remExField" !="BIS_MPF_logic" !="remExFP" !="dayzDeath" !="player" !="drn_DynamicWeatherEventArgs" !="dayzSetDate" !="rsay" !="rland" !="rsetdir" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" !="_this spawn fnc_plyrHit;" +5 "teleported" +1 "nil" +1 "true" +1" false" +1 "remExFP" +//1 "remExField" //+2 +1 "BIS_MPF_logic" +1 "JIPrequest" +1 "JIPexec" +//1 "dayzDeath" //+3 +//1 "player" //+4 +1 "alive" +5 "dayzSetDate" +5 "rsay" +5 "rland" +5 "rsetdir" +5 "local_sefFuel" +1 "spawn" !"\"zombiespawn\" = " !="_this spawn fnc_plyrHit;" +1 "BIS_Effects" +5 "hiveupdateresu" +5 "monkymonitor" +5 "mmonitor" +5 "monky" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +// added following to 1 "" to lower spam in setVariable.log !="_this spawn fnc_plyrHit;" +//"" !"\"zombiespawn\" = " !"\"targets\" = []" !"\"targets\" = []" !"\"zombied\" = " !"\"startcombattimer\" = " !"\"posforceupdate\" = " !"\"combattimeout\" = " !"\"messing\" = [" +//1 "" !="_this spawn fnc_plyrHit;" + +/////////////////////////// Illegal chars: +5 "+" +5 ";" +5 "," +5 "{" +5 "(" +5 "[" +5 "|" +5 "&" +5 "=" +5 ":" +5 "!" +5 "%" +5 "\"" +5 "'" \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setvariableval.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setvariableval.txt new file mode 100644 index 000000000..4b7694ee9 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/setvariableval.txt @@ -0,0 +1,397 @@ +//1 "" //+2 +1 "draw" +1 "hint" !="hintC" !="hintS" +1 "create" +1 "add" !="ladder" +1 "remove" !"removeAll" +1 "delete" +1 "set" +//1 "play" !="playmove" !="player" !="dayzPlayerSave" //+3 +1 "clear" +1 "disable" +1 "copy" +1 "switch" !="\"switchmove\"" +1 "text" +1 "init" +1 "hide" !"hideObject" +1 "group" +1 "icon" +1 "marker" +1 "server" +5 "compile" +5 "loadFile" +//1 "say" //+4 +5 "call" +1 "move" !="\"switchmove\"" !="\"playmove\"" !"moveIn" !"remove" +1 "chat" +1 "fade" +1 "action" +1 "exec" !"execVM" !"execFSM" !"jipexec" +5 "mission" +1 "kb" !="FoodCanFrankBeans" !="\"FoodCanFrankBeans\"" !"kbTell" !"kbReact" +1 "side" +1 "show" +1 "task" !"taskHint" +1 "allow" +5 "enable" +5 "spawn" !="_this spawn fnc_plyrHit;" +1 "for" +1 "this" !="_this spawn fnc_plyrHit;" +5 "format" +1 "skip" !"skipTime" +1 "fail" +1 "force" +5 "parse" +5 "terminate" +1 "start" +5 "eventhandler" +//5 "setTask" //covered by 5 "setT" +5 "hintC" +5 "hintS" +5 "loading" +//5 "callVar" //covered by 5 "call" +//5 "rspawn" //covered by 5 "spawn" +5 "removeAll" +//5 "\"spawn\"" //covered by 5 "spawn" +5 "\"call\"" +5 "call compile" +1 "jiprequest" !=",,\"JIPrequest\"" +1 "jipexec" //1 "rjipexec" +1 "remExField" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack1\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack2\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack3\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack4\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack5\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack6\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack7\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack8\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack9\"]" !="\"remExField\" = [,,\"playmove\",\"ZombieStandingAttack10\"]" !="\"remExField\" = [,,\"JIPrequest\"]" +1 "remExFP" +//5 "setDate" //covered by 5 "setD" +//5 "setAccTime" //covered by 5 "setA" +5 "remoteControl" +5 "toString" +5 "toArray" +5 "ctrlset" +5 "rsay" +5 "rland" +5 "rsetDir" +5 "_YakB" +1 "BIS_" +5 "local_sefFuel" +5 "local_gutObject" +//1 "object_setFixServer" +1 "object_delLocal" +1 "fnc_vehicleEventHandler" +1 "player_humanityChange" +1 "fnc_usec_damageBleed" +1 "player_medBandage" +1 "player_medInject" +1 "player_medEpi" +1 "player_medTransfuse" +1 "player_medMorphine" +1 "player_medPainkiller" +1 "fnc_usec_damageHandler" +1 "fnc_usec_damageVehicle" +1 "fnc_usec_damageType" +1 "dayzplayermorph" +1 "server_playerMorph" +5 "getVariable" +5 "hiveupdateresu" +5 "isServer" +5 "isDedicated" +5 "cutText" +5 "publicVariable" +//5 "setVariable" //covered by 5 "setV" +5 "code" +5 "onPlayer" +5 "select" +5 "while" +1 "count" +5 "markerText" +5 "BIS_fnc" +5 "+" !"e+00" +5 "_bis" +//5 "trigger" +5 "markertype" +5 "teamtype" +//5 "BIS_fnc_swapVars" // covered by 5 "BIS_fnc" +5 "composeText" +5 "teamName" +//5 "createTeam" //covered by 5 "createT" +5 "execVM" +5 "fn_swapVars.sqf" +//5 "setVehicleInit" //covered by 5 "setV" +5 "processInitCommands" +//5 "clearVehicleInit" //covered by 5 "clearV" +//5 "createTrigger" //covered by 5 "createT" +//5 "setTriggerStatements" //covered by 5 "setT" +//5 "setTriggerText" //covered by 5 "setT" +5 "remotecmd" +5 "promptRName.sqf" +5 "%" +5 ".sqf\"]" !="init.sqf\"]" +5 "rpcCodeVarName" +5 "rpcDirectCall" +5 "broadcastRpcCallAll" +5 "broadcastRpcCallIfLocal" +5 "callRpcProcedure" +5 "registerBroadcastRpc" +5 "norrnRACarUp" +5 "norrnRAPicUp" +5 "markerBrush" +5 "hideObject" +5 "deleteCollection" +5 "forceEnd" +//5 "createUnit" //covered by 5 "createU" +//5 "createGroup" //covered by 5 "createG" +//5 "createVehicle" //covered by 5 "createV" +//5 "createMarker" //covered by 5 "createM" +//5 "createMine" //covered by 5 "createM" +5 "createAgent" +//5 "createSoundsource" //covered by 5 "createS" +//5 "createSimpleTask" //covered by 5 "createS" +//5 "createDialog" //covered by 5 "createD" +//5 "createDiaryRecord" //covered by 5 "createD" +5 "deleteVehicle" +5 "deleteTeam" +//5 "respawn" //covered by 5 "spawn" +//5 "setVehicleVarName" //covered by 5 "setV" +5 "getPlayerUID" +5 "getVariable" +5 "removeM" +5 "removeW" +5 "addAction" +//5 "addEventhandler" //covered by 5 "eventhandler" +//5 "addMagazine" //covered by 5 "addM" +5 "AddM" +5 "AddP" +5 "AddS" +5 "AddV" +5 "AddW" +//5 "setVehicleAmmo" //covered by 5 "setV" +//5 "setA" +5 "setAcc" +5 "setAtt" +5 "setC" +5 "setD" +5 "setF" +5 "setG" +5 "setH" +5 "setM" +//5 "setO" +5 "setObj" +5 "setOver" +5 "setP" +5 "setR" +5 "setS" +5 "setT" +//5 "setU" +5 "setUnit" +5 "setV" +5 "setW" +5 "execFSM" +5 "clearM" +5 "clearV" +5 "clearW" +5 "createD" +5 "createG" +5 "createM" +5 "createS" +5 "createT" +5 "createU" +5 "createV" +5 "debugLog" +5 "debugFSM" +5 "deleteM" +//5 "enableSimulation" //covered by 5 "enable" +5 "kbTell" +5 "kbReact" +5 "fadeSound" +5 "fadeMusic" +5 "showC" +5 "skipTime" +5 "taskHint" +5 "titleCut" +5 "titleText" +5 "getM" +5 "getFSMvariable" +5 "getG" +5 "moveIn" +5 "synchronizeO" +5 "synchronizeT" +5 "synchronizeW" +5 "triggerA" +5 "triggerS" +5 "triggerT" +5 "MarkerColor" +5 "MarkerDir" +5 "MarkerPos" +5 "MarkerSize" +5 "onEachFrame" +5 "hasInterface" +5 "onMapS" +5 "OnGroup" +5 "onDouble" +5 "onPreload" +5 "onTeamS" +5 "onShowNew" +//5 "setUnitRecoilCoefficient" //covered 5 "setUnit" +5 "setUnconscious" +//5 "setUnitPos" //covered 5 "setUnit" +//5 "parseText" //covered by 5 "parse" +5 " exec " +5 " set " +5 " str " +5 "exec(" +5 "set(" +5 "str(" +5 "exec[" +5 "set[" +5 "str[" +5 "exec{" +5 "set{" +5 "str{" +5 "exec'" +5 "set'" +5 "str'" +5 "exec\"" +5 "set\"" +5 "str\"" +5 ")exec" +5 ")set" +5 ")str" +5 "]exec" +5 "]set" +5 "]str" +5 "}exec" +5 "}set" +5 "}str" +5 "'exec" +5 "'set" +5 "'str" +//5 "\"exec" !" \"exec" +//5 "\"set" !" \"set" +//5 "\"str" !" \"str" +5 "str " +5 " \nstr" +5 "\nstr" +5 "str\n" +5 "str\n " +5 ",str" +5 "str," +5 "str " +5 "set " +5 " \nset" +5 "\nset" +5 "set\n" +5 "set\n " +5 ",set" +5 "set," +5 "set " +5 "exec " +5 " \nexec" +5 "\nexec" +5 "exec\n" +5 "exec\n " +5 ",exec" +5 "exec," +5 "exec " +5 "isNil" +5 "object_setFixServer" +//5 "local_gutObject" +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" +5 "modify" +5 "BIS_Alice_fnc_CivilianHit" +5 "BIS_Alice_mainscope" +5 "BIS_fnc_getFactions" +5 "object_processHit" +5 "object_getHit" +//1 "" +5 +//1 "request" //+6 +5 "allowConnection" +5 "BIS_Effects_Burn" +5 "BIS_MPF_remoteExecutionServer" +5 "check_publishobject" +5 "dayz_disco" +5 "dayz_hiveVersionNo" +5 "dayz_objectUID" +5 "dayz_objectUID2" +5 "dayz_players" +5 "dayz_recordLogin" +5 "dayz_serverObjectMonitor" +5 "dayz_versionNo" +5 "dayz_zombifiedTowns" +5 "dayzPlayerLogin" +5 "dayzPlayerLogin2" +5 "eh_localCleanup" +5 "isSinglePlayer" +5 "needUpdate_objects" +5 "server_characterSync" +5 "server_deleteObj" +5 "server_getDiff" +5 "server_getDiff2" +5 "server_hiveReadWrite" +5 "server_hiveWrite" +5 "server_onPlayerDisconnect" +5 "server_playerDied" +5 "server_playerLogin" +5 "server_playerSetup" +5 "server_playerSync" +5 "server_publishObj" +5 "server_spawnCrashSite" +5 "server_updateNearbyObjects" +5 "server_updateObject" +5 "vehicle_handleInteract" +5 "vehicle_handleServerKilled" +5 "zombie_findOwner" + +5 "banditKills_CHK" +5 "headShots_CHK" +5 "humanKills_CHK" +5 "humanity_CHK" +5 "lastInventory" +5 "lastPos" +5 "lastTime" +5 "model_CHK" +5 "processedDeath" +5 "zombieKills_CHK" +5 "lastUpdate" + +5 "allunits" +5 "preprocess" +5 "runinitscript" +5 "createdialog" + +1 _this diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/teamswitch.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/teamswitch.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/teamswitch.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/waypointcondition.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/waypointcondition.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/waypointcondition.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/waypointstatement.txt b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/waypointstatement.txt new file mode 100644 index 000000000..2875930c3 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/BattlEye/waypointstatement.txt @@ -0,0 +1 @@ +5 "" diff --git a/Server Files/instance_8_ProvingGrounds_PMC/HiveExt.ini b/Server Files/instance_8_ProvingGrounds_PMC/HiveExt.ini new file mode 100644 index 000000000..c3afd69e9 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/HiveExt.ini @@ -0,0 +1,79 @@ +;This is a comment +;Comments above a certain setting will provide it's description + +;The format for a setting is +;Variable = Value + +;If you see a commented line of that form, it means that the setting is optional, and the Value shows the default +;To change from the default, simply uncomment the line and change the Value + +;This configuration file should be placed inside your server instance's configuration directory (like cfgdayz) + +[Time] +;Possible values: Local, Custom, Static +;You cannot use Static on OFFICIAL Hive, it will just revert to Local +Type = Static +;If using Custom type, offset from UTC in hours (can be negative as well) +;Offset = -16 +;If using Static type (Hour value always the same on every server start), the value (0-24) to set the Hour to +Hour = 13 + +[Database] +;Hostname or IP of the server to connect to +;If you leave this line commented or blank, HiveExt will connect to the OFFICIAL Hive, which requires registration +;See support.dayzmod.com for more information on what OFFICIAL Hive means, what are the rules, etc. +;If using OFFICIAL hive, the rest of the settings in this section have no effect +Host = localhost + +;Currently, only MySQL is supported +Type = MySQL + +;Port to connect to. The default is the default listening port of a server of the selected Type +;Instead of specifying Port, you can specify Socket and set Value to the socket name +Port = 3306 + +;Database name to connect to. +Database = dayz_epoch + +;Username to connect with +Username = dayz +;Password to authenticate with (default is blank) +Password = 123456 + +;If using OFFICIAL hive, the settings in this section have no effect, appropriate layout will be used +[Characters] +;The field name that Player's IDs are stored in (unique per game license) +;Some table layouts have this as PlayerID, and some as PlayerUID, that's why this is configurable +;IDField = PlayerUID +;The field name that Player's World Position and rotation is stored in +;Enables you to run multiple different maps (different instances) off the same character table +;WSField = Worldspace + +;If using OFFICIAL hive, the settings in this section have no effect, as it will clean up by itself +[Objects] +;Which table should the objects be stored and fetched from ? +;Table = Object_DATA + +;Negative values will disable this feature +;0 means that ALL empty placed items will be deleted every server restart +;A positive number is how old (in days) a placed empty item must be, in order for it to be deleted +;CleanupPlacedAfterDays = 6 + +;Flag indicating whether hiveext should detect vehicles out of map boundaries (X < 0, or Y > 15360) and reset their position to [] +;Note: YOU MUST have a proper dayz_server.pbo that supports this feature, otherwise you will get script errors +;You can find that file under the SQF directory for your server version +;ResetOOBVehicles = false + +;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own +[ObjectDB] +;Setting this to true separates the Object fetches from the Character fetches +;That means that the Object Table must be on this other database +;Use = false + +;The settings here have the same meaning as in [Database], and are only used if the setting above is set to true +;Type = MySQL +;Host = localhost +;Port = 3306 +;Database = dayz +;Username = root +;Password = \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/config.txt b/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/config.txt new file mode 100644 index 000000000..a7b76fec0 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/config.txt @@ -0,0 +1,30 @@ +// For best results the application should be run on the same machine as the server application +host=127.0.0.1 +port=2302 +password=changeme + +// The reason players should be kicked for +reason=Not whitelisted! + +// The interval at which the player list should be checked (in milliseconds, 1 second = 1000) +interval=60000 + +// Decides how to store the whitelist +// Possible values +// sqlite (Recommended for use with 1 server) +// mysql (Recommended to sync between more servers, requires a mysql server!) +// file (Not recommended) +mode=mysql + +// Only needed when using mysql, leave as it is when not using mysql +sqlHost=127.0.0.1 +sqlPort=3306 +sqlDatabase=whitelist +sqlTable=whitelist +sqlUser=whitelist +sqlPassword=1234576 + +// Message options +// Will show an ingame notification everytime a player joins +showConnect=true +connectMessage={0} joined the game! diff --git a/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.db b/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.db new file mode 100644 index 0000000000000000000000000000000000000000..3d017d60c602c0da85c8946ed4c76895e93dd672 GIT binary patch literal 2048 zcmWFz^vNtqRY=P(%1ta$FlJz3U}R))P*7lCU|NnaYlA=X=%nL){?}eoYaDx#LCp7VkpJr9OUX4;;Inh=;Y(7 zpad0FQqbV#Qp!wGQc&>p3vqRK4N~y)4^i+7_3_aGN~D*9r9xaILNttxG*RS|^K)}k z^Gb?=TEX(B1_qiyJpn!-L3tCH=|{n62#kin2n+!LG}thN literal 0 HcmV?d00001 diff --git a/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.sql b/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.sql new file mode 100644 index 000000000..9e3b24d23 --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.sql @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `whitelist` +-- ---------------------------- +DROP TABLE IF EXISTS `whitelist`; +CREATE TABLE `whitelist` ( + `id` int(11) NOT NULL, + `guid` varchar(32) NOT NULL, + `comments` varchar(500) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.txt b/Server Files/instance_8_ProvingGrounds_PMC/WhiteLister/whitelist.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Server Files/instance_8_ProvingGrounds_PMC/config.cfg b/Server Files/instance_8_ProvingGrounds_PMC/config.cfg new file mode 100644 index 000000000..ac602f04d --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/config.cfg @@ -0,0 +1,35 @@ +hostName = "DayZ Epoch ProvingGrounds_PMC Server (1.0.3/103718)"; +password = ""; +passwordAdmin = "changeme"; +maxPlayers = 50; +logFile = "server_log.txt"; +voteThreshold = 2; +voteMissionPlayers = 3; +reportingIP = "arma2oapc.master.gamespy.com"; +timeStampFormat = "short"; +motd[] = {"DayZ Epoch","Have fun!"}; +motdInterval = 0; +vonCodecQuality = 11; +disableVoN = 0; +kickduplicate = 1; +verifySignatures = 2; +persistent = 1; +BattlEye = 1; +doubleIdDetected = ""; +onUserConnected = ""; +onUserDisconnected = ""; +onUnsignedData = "kick (_this select 0)"; +onHackedData = "kick (_this select 0)"; +onDifferentData = ""; +regularCheck = ""; +requiredBuild = 103718; + +class Missions +{ + class Mission1 + { + template = "DayZ_Epoch_8.ProvingGrounds_PMC"; + difficulty="veteran"; + }; + +}; \ No newline at end of file diff --git a/Server Files/instance_8_ProvingGrounds_PMC/rotate_logs.bat b/Server Files/instance_8_ProvingGrounds_PMC/rotate_logs.bat new file mode 100644 index 000000000..909a2d0bf --- /dev/null +++ b/Server Files/instance_8_ProvingGrounds_PMC/rotate_logs.bat @@ -0,0 +1,116 @@ +@echo off +:: Based off of Server Launch Script by r4z0r49 +:: Script Modified and fixed by Sykotix - http://dayz.sykotix.com +:: +:: Usage: dayzsrv-log-rotater.bat servername +:: Example 1 - Will update using default profile: dayzsrv-log-rotater.bat +:: Example 2 - Will update using profile for US6: dayzsrv-log-rotater.bat US6 + +:::::::::::::: CONFIG :::::::::::::::::: + +:: Set your Arma2AO Base installation directory. LEAVE OFF THE ENDING \ +set arma2srvpath=C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead + +:: Set your Default server profile name. This is the name of the directory that stores your server.cfg +:: This will be used in the case that you don't launch this script without the server param. +:: Example: cfgdayz, US6, Chicago13, ect +:: DEFAULTPROFILE +set srvname=instance_8_ProvingGrounds_PMC + +:: Delete Original log files after they have been rotated? This keeps your logs more organized and saves space. +:: This will not work unless the server is stopped first. This option works best set to 1 when using FireDaemon's Pre/Post Service tab +set deloriglogs=1 + +::::::::::: ADVANCED CONFIG :::::::::::: +:: Don't touch anything below this point unless you know what your doing. + +:: Setting Server Profile to Use +IF "%1"=="" ( +set servername=%srvname% +) else ( +set servername=%1 +) + +TITLE DayZ %servername% Server Log Rotater + +:: Set Debug Mode +set debug=0 +:: Set Debug Timeout in seconds +set dbsecs=10 + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +::::::::::::::::::::::::::: STOP EDITING :::::::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Display Debug output +if %debug% == 1 ( +echo Server Name = %servername% +echo ArmaII Server Path = "%arma2srvpath%" +timeout %dbsecs% +) + +:: Set Time and Date +SET HOUR=%time:~0,2% +SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%_%time:~6,2% +SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%_%time:~6,2% +::Make Date Stamp +if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%) +ECHO Todays Date and time (%date%)(%time%) / %dtStamp% +if %debug% == 1 ( +timeout %dbsecs% +) + +echo (%date%) (%time%) Starting Log Rotation. + +:: Make the Rotated Log Directorys +if exist "%arma2srvpath%\%servername%\RotatedLogs" goto maketsdir +mkdir "%arma2srvpath%\%servername%\RotatedLogs" +:maketsdir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" goto makebedir +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%" +:makebedir +if exist "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" goto rotatelogs +mkdir "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye" + +:rotatelogs +:: Starting Log Rotation. If there are any other logs, just follow the format below, and make sure to NOT touch any of the varibles. +copy "%arma2srvpath%\%servername%\arma2oaserver.RPT" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.RPT" +copy "%arma2srvpath%\%servername%\arma2oaserver.mdmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.mdmp" +copy "%arma2srvpath%\%servername%\arma2oaserver.bidmp" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\arma2oaserver.bidmp" +copy "%arma2srvpath%\%servername%\server_log.txt" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\server_log.txt" +copy "%arma2srvpath%\%servername%\HiveExt.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\HiveExt.log" +copy "%arma2srvpath%\%servername%\BattlEye\scripts.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\scripts.log" +copy "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\createvehicle.log" +copy "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\mpeventhandler.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\publicvariableval.log" +copy "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\remoteexec.log" +copy "%arma2srvpath%\%servername%\BattlEye\setdamage.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setdamage.log" +copy "%arma2srvpath%\%servername%\BattlEye\setpos.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setpos.log" +copy "%arma2srvpath%\%servername%\BattlEye\setvariable.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\setvariable.log" +copy "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" "%arma2srvpath%\%servername%\RotatedLogs\%dtStamp%\BattlEye\addmagazinecargo.log" + +echo (%date%) (%time%) Logs are backed up now... +echo (%date%) (%time%) Removing original log files. +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.RPT" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.mdmp" +del /Q /F "%arma2srvpath%\%servername%\arma2oaserver.bidmp" +del /Q /F "%arma2srvpath%\%servername%\server_console.log" +del /Q /F "%arma2srvpath%\%servername%\runtime.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\scripts.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\createvehicle.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\mpeventhandler.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\publicvariableval.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\remoteexec.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setdamage.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setpos.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\setvariable.log" +del /Q /F "%arma2srvpath%\%servername%\BattlEye\addmagazinecargo.log" + +if %debug% == 1 ( +timeout %dbsecs% +) + +:: We're done here. +exit \ No newline at end of file