Advertisement
Guest User

Untitled

a guest
Jul 9th, 2017
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.99 KB | None | 0 0
  1. /*
  2. Author: Chris(tian) "infiSTAR" Lorenzen
  3. Contact: infiSTAR23@gmail.com // www.infiSTAR.de
  4.  
  5. Copyright infiSTAR - 2011 - 2017. All rights reserved.
  6. Christian (Chris) L. (infiSTAR23@gmail.com) Developer of infiSTAR
  7.  
  8. Description:
  9. Arma AntiHack & AdminTools - infiSTAR.de
  10.  
  11. UPDATEEMAIL for http://update.infiSTAR.de is:
  12. 'a.tinkerleo@web.de'
  13.  
  14. Last download was on:
  15. '09-07-2017 12-50-20';
  16. */
  17. class Cfg_infiSTAR_settings {
  18. /*
  19. "serverCommandPassword" is serverCommandPassword - in your servers config.cfg
  20. if your config.cfg does not have serverCommandPassword yet, simply add it in a new line:
  21. serverCommandPassword = "changeme";
  22.  
  23. This is VERY IMPORTANT as it is needed to KICK & BAN people.
  24.  
  25. It will try to get this password from "@ExileServer\addons\exile_server_config" first. If you did not set a password there (config.cpp),
  26. then it will take what you put here.
  27. */
  28. serverCommandPassword = "12qwasyxAA";
  29.  
  30. /*
  31. "passwordAdmin" is passwordAdmin - in your servers config.cfg, needed for servercommands from client
  32.  
  33. This is used to be able to use the "login" function ingame. Will log you in as Arma "Admin".
  34. */
  35. passwordAdmin = "12qwasyxAA";
  36. /* serverCommandPassword and passwordAdmin should always be different passwords or it could cause problems! */
  37.  
  38.  
  39.  
  40. /* "_OPEN_ADMIN_MENU_KEY": Key to open the menu (google DIK_KeyCodes (0x3B is F1)) */
  41. OPEN_ADMIN_MENU_KEY = 0x3B;
  42. HIDE_FROM_PLAYERS = "false"; /* So no normal can see it :)! */
  43. announce_adminstate_changed = "false"; /* whenever you type !admin as an admin it will announce that you logged out or in to all players on the server! */
  44. use_html_load_on_adminmenu = "true"; /* default and recommended is "true". infiSTAR updates and news are announced in the top right corner when you open the AdminMenu if this is "true"! */
  45.  
  46.  
  47.  
  48. /* "LogAdminActions": Sends actions done by each admin to the server to log it to the .txt file (if infiSTAR dlls are used) and .rpt file + sends it back to all other admins. */
  49. LogAdminActions = "true";
  50. enableIngameLogs = "true";
  51.  
  52.  
  53. /*
  54. if you set "useAdminNameTag" to "true",
  55. each admin uid can have an individual AdminTag which needs to be a part of the admins name.
  56. Without it, the admin will not get access to the admin menu.
  57.  
  58. example names: "[Admin] PlayerName" or "PlayerName [Admin]"
  59. note: this is case sensitive as well, meaning "PlayerName [admin]" would not work as we set our example to "[Admin]"
  60. */
  61. class adminNameTags {
  62. useAdminNameTag = "false";
  63. tags[] = {
  64. {"[Admin]","UID1"},
  65. {"[Owner]","UID2"},
  66. {"[Slave]","UID3"},
  67. {"[Admin]","UID4"},
  68. {"[Admin]","UID5"}
  69. };
  70. };
  71.  
  72.  
  73. /* "startAsNormal": if you add admin UIDs in here as well, they will start as almost "normal" player instead of with admin menu and such. */
  74. startAsNormal[] =
  75. {
  76. "UID1","UID2","UID3","..."
  77. };
  78.  
  79. /* "hiddenSuperAdmin": These admins are seen as normal players by normal admins, their actions are not logged either (to keep an eye out on your admins) */
  80. hiddenSuperAdmin[] =
  81. {
  82. "UID1","UID2","UID3","..."
  83. };
  84.  
  85. adminUIDandAccess[] =
  86. {
  87. {
  88. {"76561198152801122"}, /* Admins with UIDs in this Array have their Access defined in the array below. */
  89. {
  90. "Teleport On Map Click","Teleport - Target To Me","Teleport - Me To Target",
  91. "Teleport In Facing Direction (10m steps)","Drag and drop units on the map",
  92. "spectating","Delete Vehicle","FlyUp","ShowGear","Show Server Information",
  93. "HealSelf","HealRepairNear","AdminLog","Freeze","UnFreeze","Restrain","UnRestrain",
  94. "==== Loadouts ====","==== Base Deleter ====","Items spawn menu",
  95. "Remove Gear","Revive","Heal","Restore","Flip Vehicle","Move In My Vehicle","Move In Target Vehicle","Parachute Target","Eject","Eject Crew",
  96. "Player ESP","Player ESP (safezone style)","AI ESP","Dead ESP","Loot ESP",
  97. "Vehicle Marker","Flag Marker (with radius)","Box/Safe/Container Marker","DeadPlayer Marker",
  98. "God Mode","God Mode (no stats change)","Vehicle God Mode","Lower Terrain","Vehboost","UnlimAmmo","noRecoil","FastFire","Stealth / Invisible",
  99. "Disable Announces","Mass Message","Change Time","Spawn Support-Boxes","Create Billboard","Change ViewDistance",
  100. "Spawn Ammo","Login as Arma Admin","BIS FreeRoam Cam (works with ESP)","FreeRoam Cam (does not work with ESP)",
  101. "Request Steam Name","showinfo",
  102. "UnlockLockVehicle","Copy Worldspace(coords) to RPT & Chat",
  103.  
  104. "Spawn Vehicles","Spawn Persistent Vehicles","Trader Menu",
  105.  
  106. "Kill","Explode","Force Disconnect",
  107. "Kick (Silent)","Kick (Announce)","Ban (Silent)","Ban (Announce)","TempBan (Silent)","TempBan (Announce)",
  108.  
  109. "AdminConsole",
  110. "DebugConsole",
  111. "Execute code on server (DebugConsole)","Execute code global (DebugConsole)","Execute code local (DebugConsole)",
  112. "Lock Server (DebugConsole)","UnLock Server (DebugConsole)","Ban (DebugConsole)","Kick (DebugConsole)",
  113.  
  114. "Change Money on Player","Change Money on Bank","Change Respect",
  115.  
  116. "MapIcons",
  117. "MapIcons: Buildings","MapIcons: Flags",
  118. "MapIcons: Player","MapIcons: DeadPlayer","MapIcons: Vehicles",
  119. "MapIcons: Vehicle Types","MapIcons: Vehicle lockstate","MapIcons: DeadVehicles",
  120. "MapIcons: AI",
  121. "Arsenal", // Adds Arsenal to the mousewheel actions if you press "," on the Numpad!
  122. "Unconscious","Remove Unconscious",
  123. "Light", // Zeus like Lighting from the Air strikes down at selected player / target / location - use ctrl+1 or the menu to use it!
  124.  
  125. "Spawn Zombie on Target Location!", // This only works when you are using ExilZ / RyanZombies
  126.  
  127. ""
  128. }
  129. },
  130. {
  131. {"76561198152801122"},
  132. {
  133. "Teleport On Map Click","Teleport - Target To Me","Teleport - Me To Target",
  134. "Teleport In Facing Direction (10m steps)","Drag and drop units on the map",
  135. "spectating","Delete Vehicle","FlyUp","ShowGear","Show Server Information",
  136. "HealSelf","HealRepairNear","AdminLog","Freeze","UnFreeze","Restrain","UnRestrain",
  137. "==== Loadouts ====","==== Base Deleter ====","Items spawn menu",
  138. "Remove Gear","Revive","Heal","Restore","Flip Vehicle","Move In My Vehicle","Move In Target Vehicle","Parachute Target","Eject","Eject Crew",
  139. "Player ESP","Player ESP (safezone style)","AI ESP","Dead ESP","Loot ESP",
  140. "Vehicle Marker","Flag Marker (with radius)","Box/Safe/Container Marker","DeadPlayer Marker",
  141. "God Mode","God Mode (no stats change)","Vehicle God Mode","Lower Terrain","Vehboost","UnlimAmmo","noRecoil","FastFire","Stealth / Invisible",
  142. "Disable Announces","Mass Message","Change Time","Spawn Support-Boxes","Create Billboard","Change ViewDistance",
  143. "Spawn Ammo","Login as Arma Admin","BIS FreeRoam Cam (works with ESP)","FreeRoam Cam (does not work with ESP)",
  144. "Request Steam Name","showinfo",
  145. "UnlockLockVehicle","Copy Worldspace(coords) to RPT & Chat",
  146.  
  147. "Spawn Vehicles","Spawn Persistent Vehicles","Trader Menu",
  148.  
  149. "Kill","Explode","Force Disconnect",
  150. "Kick (Silent)","Kick (Announce)","Ban (Silent)","Ban (Announce)","TempBan (Silent)","TempBan (Announce)",
  151.  
  152. "AdminConsole",
  153. "DebugConsole",
  154. "Execute code on server (DebugConsole)","Execute code global (DebugConsole)","Execute code local (DebugConsole)",
  155. "Lock Server (DebugConsole)","UnLock Server (DebugConsole)","Ban (DebugConsole)","Kick (DebugConsole)",
  156.  
  157. "Change Money on Player","Change Money on Bank","Change Respect",
  158.  
  159. "MapIcons",
  160. "MapIcons: Buildings","MapIcons: Flags",
  161. "MapIcons: Player","MapIcons: DeadPlayer","MapIcons: Vehicles",
  162. "MapIcons: Vehicle Types","MapIcons: Vehicle lockstate","MapIcons: DeadVehicles",
  163. "MapIcons: AI",
  164. "Arsenal",
  165. "Unconscious","Remove Unconscious",
  166. "Light",
  167.  
  168. "Spawn Zombie on Target Location!",
  169.  
  170. ""
  171. }
  172. },
  173. {
  174. {"76561198152801122"},
  175. {
  176. "Teleport On Map Click","Teleport - Target To Me","Teleport - Me To Target",
  177. "Teleport In Facing Direction (10m steps)","Drag and drop units on the map",
  178. "spectating","Delete Vehicle","FlyUp","ShowGear","Show Server Information",
  179. "HealSelf","HealRepairNear","AdminLog","Freeze","UnFreeze","Restrain","UnRestrain",
  180. "==== Loadouts ====","==== Base Deleter ====","Items spawn menu",
  181. "Remove Gear","Revive","Heal","Restore","Flip Vehicle","Move In My Vehicle","Move In Target Vehicle","Parachute Target","Eject","Eject Crew",
  182. "Player ESP","Player ESP (safezone style)","AI ESP","Dead ESP","Loot ESP",
  183. "Vehicle Marker","Flag Marker (with radius)","Box/Safe/Container Marker","DeadPlayer Marker",
  184. "God Mode","God Mode (no stats change)","Vehicle God Mode","Lower Terrain","Vehboost","UnlimAmmo","noRecoil","FastFire","Stealth / Invisible",
  185. "Disable Announces","Mass Message","Change Time","Spawn Support-Boxes","Create Billboard","Change ViewDistance",
  186. "Spawn Ammo","Login as Arma Admin","BIS FreeRoam Cam (works with ESP)","FreeRoam Cam (does not work with ESP)",
  187. "Request Steam Name","showinfo",
  188. "UnlockLockVehicle","Copy Worldspace(coords) to RPT & Chat",
  189.  
  190. "Spawn Vehicles","Spawn Persistent Vehicles","Trader Menu",
  191.  
  192. "Kill","Explode","Force Disconnect",
  193. "Kick (Silent)","Kick (Announce)","Ban (Silent)","Ban (Announce)","TempBan (Silent)","TempBan (Announce)",
  194.  
  195. "AdminConsole",
  196. "DebugConsole",
  197. "Execute code on server (DebugConsole)","Execute code global (DebugConsole)","Execute code local (DebugConsole)",
  198. "Lock Server (DebugConsole)","UnLock Server (DebugConsole)","Ban (DebugConsole)","Kick (DebugConsole)",
  199.  
  200. "Change Money on Player","Change Money on Bank","Change Respect",
  201.  
  202. "MapIcons",
  203. "MapIcons: Buildings","MapIcons: Flags",
  204. "MapIcons: Player","MapIcons: DeadPlayer","MapIcons: Vehicles",
  205. "MapIcons: Vehicle Types","MapIcons: Vehicle lockstate","MapIcons: DeadVehicles",
  206. "MapIcons: AI",
  207. "Arsenal",
  208. "Unconscious","Remove Unconscious",
  209. "Light",
  210.  
  211. "Spawn Zombie on Target Location!",
  212.  
  213. ""
  214. }
  215. }
  216. };
  217.  
  218.  
  219. /*
  220. Noficiations shown to all players on the server. Could be used to replace BEC messages.
  221. dynamic format:
  222. {
  223. first occurrence after x min,
  224. show again after x min,
  225. show message for x seconds / delay until next message is shown,
  226. font size (recommended is 0.6),
  227. xpos,
  228. ypos,
  229. text color,
  230. font,
  231. text (<br/> is a linebreak)
  232. }
  233. systemchat format:
  234. {
  235. first occurrence after x min,
  236. show again after x min,
  237. show message for x seconds / delay until next message is shown,
  238. text
  239. }
  240.  
  241. if you want the client to see a message only once when logging in, you put the first and second entry in the array to -1.
  242. Example:
  243. {-1, -1, 4, 0.6, 0, 0, "#ff0000", "OrbitronLight", "Welcome to our server"}
  244.  
  245. xpos and ypos need to be within your monitor. to high numbers and you simply won't see the text..
  246. ~ x-range is between -0.7 to +1
  247. ~ y-range is between -0.4 to +1
  248.  
  249. Arma Fonts:
  250. PuristaLight
  251. PuristaMedium
  252. PuristaSemiBold
  253. PuristaBold
  254. LucidaConsoleB
  255. EtelkaMonospacePro
  256. EtelkaMonospaceProBold
  257. EtelkaNarrowMediumPro
  258. TahomaB
  259.  
  260. Exile Fonts:
  261. OrbitronLight
  262. OrbitronMedium
  263. PressStart2P
  264. RobotoMedium
  265. RobotoRegular
  266. NOTE: do not use " within the text.
  267. */
  268. ENABLE_NOTIFICATION_MESSAGES = "true";
  269. NOTIFY_MSG_ARRAY[] =
  270. {
  271. {-1, -1, 3, "Welcome"},
  272. {-1, -1, 3, "Enjoy your stay!"},
  273. {-1, -1, 6, 0.36, -0.7, 0.84, "#e5e5e5", "PuristaMedium", "Welcome<br/>Enjoy your stay!"},
  274. {-1, 20, 10, 0.36, -0.7, 0.84, "#e5e5e5", "PuristaMedium", "Protected and administrated by<br/>infiSTAR.de AdminTools, AntiHack and more!"}
  275. };
  276.  
  277.  
  278. /*
  279. {chatCommand (text typed in chat), color, size, font, text shown to player}
  280. only triggers if the EXACT text is typed!
  281. NOTE: do not use " within the text.
  282. */
  283. chatCommands[] =
  284. {
  285. {"!ts","#2784D6","1","OrbitronMedium","ts.mycommunity.com"},
  286. {"!website","#2784D6","1","OrbitronMedium","www.mycommunity.com"},
  287. {"!admin","#2784D6","1","OrbitronMedium","please visit ts.mycommunity.com"}
  288. };
  289.  
  290. /*
  291. {chatCommand (text typed in chat) partitial, color, size, font, text shown to player}
  292. "Hello, why is there no loot on this map?" <- will trigger the example below!
  293. NOTE: do not use " within the text.
  294. */
  295. chatCommandsP[] =
  296. {
  297. {"no loot","#2784D6","1","OrbitronMedium","You cannot loot from non arma buildings in this map, you must move around - check the shipping yards for best loot"}
  298. };
  299.  
  300.  
  301.  
  302. /*
  303. If admin has rights to "Create Billboard", he will have new options to create a Billboard ingame with one of the following textures
  304. {"name shown in adminmenu","path to texture"}
  305.  
  306. should be looking somewhat like this:
  307. {"example picture","\mpmissions\Exile.Altis.pbo\example.paa"}
  308.  
  309. the picture has to be available on EACH client AND the server.
  310. So you either need a client-side mod for it or you need to put it in the MPMission
  311. */
  312. pathToCustomBillBoardTextures[] =
  313. {
  314. {"Doggy","exile_assets\texture\flag\flag_mate_21dmd_co.paa"},
  315. {"Spawny","exile_assets\texture\flag\flag_mate_spawny_co.paa"},
  316. {"Dickbutt","exile_assets\texture\flag\flag_misc_dickbutt_co.paa"},
  317. {"Vish","exile_assets\texture\flag\flag_mate_vish_co.paa"}
  318. };
  319.  
  320.  
  321. infiSTAR_RE_LIST[] =
  322. {
  323. "fn_infiSTAR_antiDupeServer","fn_infiSTAR_privChatServer","fn_infiSTAR_antiVehicleTheft"
  324. };
  325.  
  326. /****************************************************************************************************/
  327. /********************OPTIONS BELOW REQUIRE CHANGES TO YOUR EXILE SERVER DATABASE!********************/
  328. /****************************************************************************************************/
  329. /*
  330. "customDatabaseQueries"
  331. To use any of the below, you need to do some changes to the exile.ini!
  332. I've added these changes here:
  333. "infiSTAR.de_Exile\SERVER_ARMA3_FOLDER\db_related_changes"
  334. */
  335. class customDatabaseQueries {
  336. /*
  337. if "USE_DATABASE_WHITELIST = "true";", UIDs that are not whitelisted in your exile server database, will be kicked on connect.
  338. exile.ini needs [getAccountWhitelisted]
  339. */
  340. USE_DATABASE_WHITELIST = "false";
  341.  
  342. /*
  343. if "USE_LOG_TO_DATABASE = "true";", infiSTAR will log to your exile server database! (yes I know this is great!)
  344. exile.ini needs [insert_infiSTARLog]
  345. */
  346. USE_LOG_TO_DATABASE = "false";
  347.  
  348. /*
  349. if "USE_GET_TOTAL_CONNECTIONS = "true";", infiSTAR can log how often a player has been connected to your server before.
  350. exile.ini needs [getTotalConnections]
  351. */
  352. USE_GET_TOTAL_CONNECTIONS = "false";
  353. };
  354.  
  355. /*
  356. if "USE_ANNOUNCE_NEW_PLAYER = "true";", infiSTAR will announce a "New Player: NAME" to the whole server!
  357. */
  358. USE_ANNOUNCE_NEW_PLAYER = "true";
  359. /****************************************************************************************************/
  360. /********************OPTIONS ABOVE REQUIRE CHANGES TO YOUR EXILE SERVER DATABASE!********************/
  361. /****************************************************************************************************/
  362. /*
  363. ARMA_LOG.dll SETTINGS
  364. You need to create the defined folder if it doesn't exist. If you don't create it - the DLL won't be able to write any Log files ! ! !
  365. */
  366. WRITE_LOG_FILES = "true";
  367.  
  368.  
  369. /*
  370. What is this?
  371. infiSTAR has a global ban system so hackers don't jump around servers and learn how to bypass infiSTAR.
  372.  
  373. There was a situation where a group of people asked why their friend could not join the server.
  374. Well he was globally banned for hacking.. anyways - if you as a server admin want him to get in even tho he is globally banned,
  375. just ask for his UID and add the UID in the array below.
  376. */
  377. UID_SKIP_GLOBAL_BAN_CHECK[] =
  378. {
  379. "UID1","UID2","UID3","..."
  380. };
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389. /*
  390. Use UID WhiteList?
  391. if "USE_UID_WHITELIST = "true";", UIDs that are not in "UID_WHITELIST" array, will be kicked on connect.
  392. This even counts for Admins!
  393. */
  394. USE_UID_WHITELIST = "false";
  395. UID_WHITELIST[] =
  396. {
  397. "UID1","UID2","UID3","..."
  398. };
  399.  
  400. ExileDevFriendlyMode = "true"; /* adds Exile Devs to your AdminList - makes it easier for them to debug their mod live */
  401.  
  402.  
  403. /* What ESCAPE Menu shows */
  404. ESCMNUTOP = "AntiHack & AdminTools";
  405. ESCMNUBOT = "by infiSTAR.de";
  406. BRIEFING_MSG = "false"; /* use mission briefing message: if "BRIEFING_MSG = "false";" then the message will be replaced by infiSTAR */
  407. HTML_LOAD_URL = ""; /* HTML_LOAD_URL = ""; == disabled and if you set a url it will be shown in ESCAPE menu. HTML in Arma/this is limited. Try it :) example: "http://goo.gl/gb0o7b" */
  408. ENABLE_PRIVATE_CHAT_MENU = "true"; /* players can open it by typing !chat in chat or by custom controls -> "Use Action 3" */
  409. PRIVATE_CHAT_MENU_8GNETWORK = "false"; /* if this is "true" - players will only be able to use private chat if they enable 8GNetwork in their xm8 */
  410.  
  411.  
  412.  
  413.  
  414.  
  415. class infiSTAR_RESTART_SYSTEM {
  416. enableSystem = "true";
  417.  
  418. USE_RESTART_TIME_IN_M = "true"; /* I would recommend to use USE_RESTART_TIME_IN_M = "true"; instead of USE_RESTART_FIXED_TIME_ARRAY */
  419. RESTART_TIME_IN_M = 360; /* restart time in minutes (default: 180min == 3 hours) */
  420. TIME_FUNCTION_USED = "diag_tickTime"; /* diag_tickTime (starts with arma3server.exe), time (starts with mpmission init) */
  421.  
  422.  
  423. USE_RESTART_FIXED_TIME_ARRAY = "true";
  424. RESTART_TIMES[] = { /* {hour,minute} .. put in the times when your server is supposed to restart (real time). */
  425. {00,00},
  426. {06,00},
  427. {12,00},
  428. {18,00}
  429. };
  430.  
  431.  
  432. USE_SHUTDOWN = "true";
  433. SERVER_END_FUNCTION = "#shutdown"; /* SERVER_END_FUNCTION -> #shutdown or #restartserver */
  434. RESTART_WARNING_SOUND = "air_raid"; /* for example: Alarm or air_raid */
  435.  
  436. LOCK_MIN_BEFORE_SHUTDOWN = 5; /* Locks the server x min before it gets shutdown */
  437. RESTART_IN_X_ARRAY[] = {30,15,5}; /* Announce the a restart x mins before it happens (x stands for each number) */
  438. };
  439.  
  440.  
  441.  
  442.  
  443. /* Allow Player to vote Day/Night by typing vote day / vote night in Chat*/
  444. DayNightVote = "true";
  445. MRV = 0.3; /* if "DayNightVote = "true";" - Minimum votes required. Percentage of players needed to pass the vote. */
  446. MVP = 0.51; /* if "DayNightVote = "true";" - Minimum vote percentage. A setting that dictates the minimum vote percentage that needs to be reached for the vote to pass. */
  447. VCT = 900; /* if "DayNightVote = "true";" - Time (in seconds) to wait until nex vote is possible. */
  448.  
  449.  
  450. /* Enable jumping instead of GetOver function (infiSTAR jumping is a custom jump animation :P) */
  451. enableJump = "true";
  452.  
  453.  
  454. /* Allow players to type !pee (or !piss) to start peeing */
  455. allowPee = "true";
  456.  
  457.  
  458. /*
  459. How does this work?
  460.  
  461. chatAnimationCommands[] = {
  462. {{"command1 for animation1","command2 for animation1"}, "animation1", animation time before it will be forced to be stopped},
  463. {{"command3 for animation2","command4 for animation2"}, "animation2", animation time of 0 means it will do the animation "forever" till the end unless it gets stops by the user manually.}
  464. };
  465. */
  466. chatAnimationCommands[] = {
  467. {{"!finger","!fuck"},"acts_briefing_sb_in",7}, //shows fuck you finger
  468. {{"!italian","!football"},"Acts_CivilInjuredLegs_1",11}, //player acts like an italian football player
  469. {{"!surrender","!giveup","!hands"},"AmovPercMstpSsurWnonDnon",0} //surrender animation (hands behind the head)
  470. };
  471.  
  472.  
  473. /*
  474. The following 4 options can be disabled by putting the value to -1. For example "TGV = -1;"
  475.  
  476. TGV: if set to 50 grass will be very low for better client FPS.. default is 25. ~35 is good performance and grass :)
  477.  
  478. old infiSTAR default values were:
  479. TGV = 40;
  480. VDV = 1000;
  481. VOV = 800;
  482. SVD = 50;
  483. */
  484. /* Terrain Grid Value */ TGV = 40;
  485. /* ViewDistance Value */ VDV = 1200;
  486. /* ObjectViewDistance */ VOV = 1200;
  487. /* ShadowViewDistance */ SVD = 50;
  488.  
  489.  
  490.  
  491. /*
  492. *readded new old uniform and vest check since some people asked for it.
  493. http://www.exilemod.com/topic/14179-miss-uniform_and_vest_check/
  494. the game is still broken and sometimes you can see people naked when they are not.
  495. I did not add the old check back in, I made a new one making use of new functions :)
  496. */
  497. fix_uniform_and_vest = "false";
  498.  
  499.  
  500. /*
  501. So far only checking for duped backpacks and not taking any actions besides logging. Need to test more before It will start to remove duped items.
  502. */
  503. experimental_dupe_check = "false";
  504.  
  505.  
  506. /*
  507. checks if player tries to dupe using the "disconnect trick" -> sends a ping to the server whenever a player opens the escape menu
  508. */
  509. disconnect_dupe_check = "false";
  510.  
  511.  
  512. /*
  513. there is a way for players to dupe items if they drive a vehicle close to a trader, open the trader menu and then have a friend sit in the driver of the vehicle.
  514. Now they can sell the same item unlimited times and it won't vanish from the vehicle..
  515. That issue is fixed with this check!
  516. */
  517. fix_trader_dupe = "false";
  518.  
  519. /*
  520. server side check for the famous "wastedump dupe" as well as client side cooldown
  521. the timer can not be lower than 120 seconds. if it was lower the check would not be working.
  522. */
  523. fix_wastedump_dupe = "false";
  524.  
  525.  
  526. /*
  527. checks if the client connection to the server is established and not lagged out
  528. */
  529. lagSwitchCheck = "false";
  530.  
  531.  
  532. class infiSTAR_blocked_glitch_actions {
  533. /*
  534. if a player is near a flag where he has no buildrights, he can't use the listed inputs close to buildingparts (to prevent glitching!)
  535. */
  536. block_glitch_actions_enabled = "true";
  537.  
  538. inputs[] = {"GetOver","leanLeft","leanLeftToggle","leanRight","leanRightToggle","LookAround","LookAroundToggle",
  539. "ActionFreeLook","Prone","ZoomOut","ZoomOutToggle","ZoomContOut","LookUp","LookLeft","LookRight","FreeHeadMove","AimHeadUp"};
  540.  
  541. /* this should also be enabled to prevent some kind of freelook */
  542. block_ALT_key = "true";
  543. };
  544.  
  545.  
  546. /*
  547. checks if a players tries to glitch through a wall (if player is allowed to build in that territory, it will not be logged.)
  548. */
  549. wall_glitch_object = "false";
  550. wall_glitch_revert = "false"; // Teleport player back to last safe postion
  551. /*
  552. If a player model intersects with a wall, the player will be teleport back to where he was before he intersected with it..
  553.  
  554. extra punishments possible:
  555. 0 - no punishment
  556. 1 - knockout for 60 seconds
  557. 2 - kill
  558.  
  559. hardcore punishments
  560. 3 - handcuff
  561. 4 - kick
  562. 5 - ban (not recommended)
  563. */
  564. wall_glitch_punish = 0;
  565.  
  566.  
  567.  
  568. /*
  569. stops players from glitching into bases using "eject" or "getout" of a vehicle..
  570. */
  571. wall_glitch_vehicle = "false";
  572.  
  573.  
  574.  
  575. class infiSTAR_safeZoneOptions {
  576. /*
  577. In a safeZone, only you or somebody from your group/clan can drive (or sell) your vehicle
  578. (after a server restart, the first one who gets into a vehicle becomes the "owner" of it (default Exile settings))
  579. */
  580. safeZone_antiVehicleTheft = "true";
  581. };
  582.  
  583.  
  584.  
  585. class infiSTAR_handleDamage {
  586. /*
  587. This whole handleDamage does not effect admins!
  588. */
  589. enable = "true";
  590.  
  591. /*
  592. PvP_ReflectDamage option should reflect damage from player vs player (the player still takes damage)
  593. */
  594. PvP_ReflectDamage = "false";
  595.  
  596. /*
  597. PvP_BlockDamage option should block damage from player vs player
  598. */
  599. PvP_BlockDamage = "false";
  600.  
  601. /*
  602. PvP_useZones will load PvP_ReflectDamage and PvP_BlockDamage only if people are not within a range of the given xyz coordinates!
  603. {{X,Y,Z},RADIUS}
  604. */
  605. PvP_useZones = "false";
  606. zones[] = {
  607. {{0,0,0},1},
  608. {{1,1,1},1},
  609. {{2,2,2},1}
  610. };
  611.  
  612. /*
  613. block damage completely if the source of the damage is NULL
  614. (for example if you crash into a bush the source is NULL)
  615. */
  616. BlockNullSource = "false";
  617. };
  618.  
  619.  
  620. /*
  621. The allowed lists below need the "title" of the action!
  622.  
  623. Only logs BadActions (and removes them) but does not kick or ban.
  624. */
  625. BadActionCheck = "false"; /* log and remove all actions that are not white-listed */
  626. allowedActions[] = {"Break free","Use AutoLockPicker","Craft Vehicle","Hack UAV"};
  627. allowedActionsPartial[] = {"paint"};
  628. BadActionContentCheck = "false"; /* Check the functions assigned to all actions, regardless any white-list */
  629.  
  630.  
  631.  
  632. KCM = "true"; /* Just close ALL CommandingMenus */
  633. CMC = "false"; /* Check for CommandingMenus that are not in the allowedCommandingMenus array */
  634. allowedCommandingMenus[] = {"#user:example","#user:example2"};
  635.  
  636.  
  637. task_force_radio = "false"; /* put this to "true" if you allow task force radio on your server! */
  638. reset_inGameUIEventHandler = "true"; /* reset inGameUIEventHandler */
  639. checkFilePatchingEnabled = "true"; /* checks if filepatching is enabled on the client (if it is, the client could inject any script based hack easily) */
  640. checkCfgPatches = "false"; /* checks serve side Cfg Patches vs Client side (logs as "Bad Class found in CfgPatches >> xxx") */
  641. check_Notifications = "false"; /* checks if BIS_fnc_showNotification was used, as it is used with many hacks - some custom addons however use them too. */
  642. check_doors_n_gates = "true"; /* Fixes Hatches (so when they are locked, they stay closed..) and closes every door that's locked + keeps closing it in case somebody tries to hack open it! */
  643. attach_to_check = "false"; /* logs and detaches attached vehicles that are close.. basically completely disallow attaching of vehicles! */
  644. slingload_check = "false"; /* forbid sling loading / rope attaching a vehicle with a crew */
  645.  
  646.  
  647. checkPopTabIncrease = "true";
  648. LogPopTabIncrease = 15000; /* Only if checkPopTabIncrease = "true"; logs if PopTabs increased by x within ~50 seconds */
  649. BanPopTabIncrease = 500000; /* Only if checkPopTabIncrease = "true"; bans a player if PopTabs increase by more than x within ~50 seconds */
  650.  
  651. checkRespectIncrease = "true";
  652. LogRespectIncrease = 5000; /* Only if checkRespectIncrease = "true"; logs if respect increased by x within ~50 seconds */
  653. BanRespectIncrease = 50000; /* Only if checkRespectIncrease = "true"; bans a player if respect increases by more than x within ~50 seconds */
  654.  
  655.  
  656.  
  657. /* Check for Map Menu & Map Sub-Menu */
  658. CMM = "true";
  659. maxMapMenuEntries = 6; /* "Map Menu has been changed x entries found - Texts: y" incase you want to add some briefing to your map menu. Only matters if you have CMM = "true"; */
  660.  
  661. /* if steam api.steampowered.com is working, this might be a nice feature */
  662. check_steam_ban = "false"; /* will announce and log steambanned players - using GetPlayerBans v1 */
  663. ban_for_steam_ban = "false"; /* if "check_steam_ban = "true";" then steambanned players will get banned from your Arma server! */
  664.  
  665.  
  666. /*
  667. This set to "true" will create a log of players being hit on your server
  668. */
  669. MPH = "true";
  670.  
  671.  
  672. /*
  673. This will check from serverside if a playerobject received damage but did not take it
  674. */
  675. GodModeCheck = "false";
  676.  
  677.  
  678.  
  679. /*
  680. Anti Teleport
  681. UAT = "false"; To disable Anti Teleport
  682. Arrays below show position & radius where Teleporting is allowed.
  683. Mainly for the Traders (because when you purchase a vehicle, it teleports you into the vehicle)
  684.  
  685. You can white-list "Teleport Zones" by adding them like below:
  686. class allowTP {
  687. custom[] = {
  688. {{0,0,0},1},
  689. {{1,1,1},1},
  690. {{2,2,2},1}
  691. };
  692. };
  693. Trading zones are white-listed by default.
  694. */
  695. UAT = "true";
  696. class allowTP {
  697. custom[] = {};
  698. };
  699.  
  700.  
  701.  
  702. /* Check Drawing on the Map (global channel) */
  703. CHECK_DRAWING = "false"; /* logs & deletes global drawing */
  704.  
  705.  
  706.  
  707. /* Check Local Markers */
  708. CLM = "false"; /* "false" if you do not want LocalMarker to be checked. */
  709.  
  710. /* Use aLocalM array */
  711. UMW = "false"; /* use allowed marker array from below (for example AltisLife uses house_ and others in there) or A.I. Missions */
  712. /* aLocalM: if "CLM" && UMW - this array of names will be allowed */
  713. aLocalM[] = {"MissionMarker"};
  714.  
  715.  
  716. /*
  717. Not allowed Chat words on server.
  718. Example:
  719. badkickChat[] = {"blue"}; or badbanChat[] = {"blue"};
  720. will log and kick or ban if somebody writes "blue goat" or "blues" in the chat (not case sensitive).
  721.  
  722. Example 2:
  723. This will most likely stop people from writing Cyrillic (Russian) (I've been asked for this)
  724. badkickChat[] = {"й","д","и","б","ь","т"};
  725. */
  726. badkickChat[] = {};
  727. badbanChat[] = {};
  728.  
  729.  
  730. /* Not allowed Names on server. Example: badNamesFull[] = {"THE"}; would kick all players that are named "THE", it would NOT kick players named "THE CAR" (not case sensitive) */
  731. badNamesFull[] = {};
  732.  
  733. /* Not allowed Names on server. Example: badNamesPartial[] = {"THE"}; would kick all players with names like "the car" as it includes "THE" (not case sensitive) */
  734. badNamesPartial[] = {"admin"};
  735.  
  736.  
  737. /* Not allowed Group Names on server. Example: badGroupNames[] = {"THE"}; would rename all groups with names like "the car" as it includes "THE" (not case sensitive) */
  738. badGroupNames[] = {"admin"};
  739.  
  740.  
  741.  
  742. /*
  743. if somebody talks on one of the following channels, his channel will be switched to "direct" channel
  744. 0 = Global
  745. 1 = Side
  746. 2 = Command
  747. 3 = Group
  748. 4 = Vehicle
  749. 5 = Direct <-- this is where people get switched too if they talk in one of the blacklisted channels!
  750. 6-15 = Custom Radio (see radioChannelCreate)
  751. */
  752. disAllowVon[] = {1,2};
  753.  
  754. /* badIDDsToKick will be checked before badIDDsToClose, badIDDsToClose will be checked before allowedIDDs */
  755. /* badIDDsToKick: Forbidden Idds that will get you Kicked by the AH */
  756. badIDDsToKick[] =
  757. {
  758. -1338,-1337,-1341,17,19,30,32,45,56,59,62,64,69,71,110,125,
  759. 132,133,155,156,165,166,167,312,313,
  760. 1320,1321,1340,1341,1342,1343,1344,1345,1346,1347,
  761. 2727,2928,2929,3030,316000,9899,0110,
  762. 6900,552266
  763. };
  764.  
  765. /* badIDDsToClose: Forbidden Idds that will get closed by the AH */
  766. badIDDsToClose[] =
  767. {
  768. -1,2,3,7,17,19,25,26,27,28,29,30,31,32,37,40,41,43,44,45,51,52,53,56,74,85,
  769. 106,126,127,132,146,147,150,151,152,153,154,155,159,162,164,262,
  770. 314,632,1320,2121,148,163,129,169,157,69,156,165,166,167,312,1321,2727,
  771. -1341,1341
  772. };
  773.  
  774. /* Use IDD White-List ? */ UDW = "true";
  775. /* allowedIDDs: Insert IDDs here to prevent them from being closed! */
  776. allowedIDDs[] =
  777. {
  778. /* default idds */
  779. -1,0,4,5,6,8,12,18,24,49,54,55,70,101,160,174,177,999,131,63,602,301,
  780.  
  781. /* exile idds */
  782. 24001,24002,20023,24005,24004,24010,24025,20021,20017,24012,24027,
  783. 20019,20016,24007,20024,20018,24008,24011,24015,24000,24006,24014,
  784. 20020,24026,4002,4000,4001,4003,1500,
  785.  
  786. 24033,24030,24029,24028,24031,24034,
  787.  
  788. 4004,21000, // Bounty system and MarXet
  789. 8457, // http://www.exilemod.com/topic/9040-xm8-apps/
  790. 65431, // r3f menu fix
  791. 6666, // Paintshop
  792. 0711, // Advanced Banking
  793. 0720, // Virtual Garage
  794. 5501,5502,5503,5504,5505,5506,5507, // BRAma Cookbook
  795. -1339,-1340, // custom infiSTAR dialogs (some editor & a private chat menu)
  796.  
  797. /* main idd - never delete it */
  798. 46
  799. };
  800.  
  801.  
  802.  
  803. /*
  804. important check to make sure certain variables are set and have the correct type!
  805. */
  806. variableTypeChecks[] =
  807. {
  808. {'ExileIsPlayingRussianRoulette',"false"},
  809. {'ExileClientIsHandcuffed',"false"},
  810. {'ExilePlayerInSafezone',"false"},
  811. {'ExileClientIsAutoRunning',"false"},
  812. {'ExileCurrentBreachingObject',objNull},
  813. {'ExileClientInteractionObject',objNull},
  814. {'HTML_LOAD_URL3',''},
  815. {'infiSTAR_lastJumptime',0},
  816. {'PLAYER_IN_VEHICLE',"false"},
  817. {'ExileSystemSpawnThread',[]}
  818. };
  819.  
  820.  
  821. /*
  822. it is highly recommended to have this check turned on (useBlacklistedVariableCheck = "true";)
  823. shows "BadVariable in xxxxxxxx " in the logs.
  824. */
  825. useBlacklistedVariableCheck = "true";
  826. blacklistedVariables[] =
  827. {
  828. "bis_debug_cam",
  829. "arsenalopened","bis_fnc_arsenal_fullarsenal","babecore_escm_mousepos","RANDOMVAR",
  830. "bis_fnc_dbg_reminder_value","bis_fnc_dbg_reminder","bis_menu_groupcommunication","bis_fnc_addcommmenuitem_menu",
  831. "rscspectator","rscspectator_hints","rscspectator_display","rscspectator_playericon",
  832. "rscspectator_view","rscspectator_map","rscspectator_vision","rscspectator_keys",
  833. "rscspectator_interface","bis_fnc_camera_target","andy_loopz","initfileone","finie_s_p",
  834. "time","servertime","myplayeruid","hhahaaaaar","charliesheenkeybinds","kickoff","yolo","runonce","notakeybind","action1","supa_licenses","autokick","wallaisseikun","mainmenu",
  835. "gefclose","gefwhite","gefred","gefgreen","gefcyan","firsthint","new_queued","fn_exec","fnd_fnc_select","fnx3","antihackkick","tele","dmap","goldens_global_shit_yeah","glass911_run",
  836. "geardialog_create","lystokeypress","thirtysix","ly_swaggerlikeus","jkeyszz","n2","boxofmagic","mainscripts","dmc_fnc_4danews","infistarbypass","exec_text","vehicle_dblclick","init_main",
  837. "esp_count","nute_dat_bomber","s_cash100k","xposplayer","ly_re_onetime","skar_checka","mainscriptsv4","viewdistance","check_load","already_load","meins","f1","dummy","plane_jump",
  838. "c_player","mouseclickeh","distp","nec2","menu_i_run_color_lp","glassv1nce_bindhandler","thecar","fastanimes","getinpassenger","iaimon","dmc_re_onetime","func_execonserver","fnc_serverkicknice",
  839. "kick_admins","dasmokeon","hovering","r_kelly_be_flying","vincelol_altislife","life_fnc_byassskaroah","ah_fnc_mp","jayre","fn_newsbanner","hack_news","trollfuncs",
  840. "fanatic_infipass","keybindings_xxx","andysclosed","userfuncs","altisfuncs","remexe","bb_nofatigue","bis_fnc_diagkey_var_code","first_page","get_in_d","i_t_s__m_e_o","smissles","whippy_esp",
  841. "targetfuncs2","life_fnc_antifreeeeze","ly_keyforward","ty_re_onetime","life_fnc_xaaxaa","mein1","goddamnvehiclesxd","mystic_fnc_esp_distance","esp_id_setter","dummymen","whipbut","userfuncs",
  842. "krohdofreedom","selectedplayer","lmenu1","ggplayer","throx_menu_item","lvl1","init_menu_slew","d_b_r_t_y_slew","v6_gef","xasfjisisafudmmyx","kekse","updated_re_36","first","second",
  843. "sni_prz_zzz_targetplayer","healit","o_fnc_arma","mlrn_exec","running_threads","catchemall12630","killtarget","gmtoggle","t1","fuck_me_keyp","cheatcurator"
  844. };
  845.  
  846. /*
  847. due to new hacking methods it is necessary to check variables on objects..
  848. since most server have 50.000+ objects this can cost a lot client fps but it should still be used.. for the greater good!
  849. */
  850. useObjectVariableCheck = "false";
  851.  
  852.  
  853.  
  854. UVC_adminspawn = "false"; /* use vehicle check(s) on vehicles spawned by infiSTAR.de admin? */
  855. /*
  856. Use vehicle white list? (everything not on white-list will be flagged as BadVehicle and deleted!)
  857. "EXILE" vehicles are white-listed by default!
  858. */
  859. VehicleWhiteList_check = "false";
  860. VehicleWhiteList[] =
  861. {
  862. "B_Parachute","B_Parachute_02_F","O_Parachute_02_F","Steerable_Parachute_F",
  863. "I_UAV_01_F","B_HMG_01_high_F","O_HMG_01_F","B_Heli_Transport_01_F","B_Heli_Transport_01_camo_F","O_MRAP_02_gmg_F","O_static_AT_F","Land_Camping_Light_F"
  864. };
  865.  
  866. /*
  867. Use forbidden vehicle check? (everything in the ForbiddenVehicles will be flagged as BadVehicle and deleted (even when it is on the white-list)!)
  868. */
  869. ForbiddenVehicles_check = "true";
  870. ForbiddenVehicles[] =
  871. {
  872. "B_MBT_01_arty_F","B_Truck_01_ammo_F"
  873. };
  874.  
  875. /*
  876. If you use VehicleWhiteList_check or ForbiddenVehicles_check then the vehicle check automatically checks for locally created vehicles.
  877. Locally created vehicles are these that get created by a player and not the server. E.g. when a player assambles a UAV or a static weapon!
  878. Also some public posted scripts for example the "bike script" are creating the vehicle (the bike) locally (so the type of the vehicle needs to get added to the array below!).
  879. */
  880. LocalWhitelist[] =
  881. {
  882. "O_HMG_01_weapon_F","O_HMG_01_F","O_HMG_01_support_F","I_UavTerminal","I_UAV_01_backpack_F",
  883. "Exile_Bike_OldBike","B_HMG_01_F","B_HMG_01_high_F","O_HMG_01_high_F","B_Mortar_01_F"
  884. };
  885.  
  886.  
  887.  
  888.  
  889. UFI = "false"; /* Use "ForbiddenItems"/Item Check(s) */
  890. UIW = "false"; /* if "UIW = "true";" then it checks if the items the individual player has are in "ItemWhiteList" */
  891. KICK_ON_DETECTION = "true"; // kick when a bad or not whitelisted item was found
  892. ItemWhiteList[] =
  893. {
  894. "AllowThisItem1","AllowThisItem2"
  895. };
  896. ForbiddenItems[] =
  897. {
  898. "autocannon_Base_F","autocannon_30mm","autocannon_35mm","autocannon_40mm_CTWS","autocannon_30mm_CTWS","Bomb_04_Plane_CAS_01_F",
  899. "Bomb_03_Plane_CAS_02_F","cannon_105mm","cannon_120mm","cannon_120mm_long","cannon_125mm","Cannon_30mm_Plane_CAS_02_F","gatling_20mm",
  900. "gatling_25mm","gatling_30mm","Gatling_30mm_Plane_CAS_01_F","GBU12BombLauncher","GMG_20mm","GMG_40mm","GMG_UGV_40mm","HMG_127_MBT",
  901. "HMG_127","HMG_127_APC","HMG_01","HMG_M2","HMG_NSVT","LMG_Minigun2","LMG_RCWS","LMG_M200","LMG_Minigun","LMG_Minigun_heli","LMG_coax",
  902. "Missile_AGM_02_Plane_CAS_01_F","Missile_AA_04_Plane_CAS_01_F","Missile_AA_03_Plane_CAS_02_F","Missile_AGM_01_Plane_CAS_02_F","missiles_DAGR",
  903. "missiles_DAR","missiles_ASRAAM","missiles_SCALPEL","missiles_titan","missiles_titan_static","missiles_Zephyr","Mk82BombLauncher","mortar_82mm",
  904. "mortar_155mm_AMOS","rockets_Skyfire","rockets_230mm_GAT","Rocket_04_HE_Plane_CAS_01_F","Rocket_04_AP_Plane_CAS_01_F","Rocket_03_HE_Plane_CAS_02_F",
  905. "Rocket_03_AP_Plane_CAS_02_F","Twin_Cannon_20mm"
  906. };
  907.  
  908.  
  909.  
  910. /*
  911. custom Box content:
  912. just an item like it is in the example with "ItemMap" will put the item once in the box.
  913. if an array is used like the {"ItemGPS",5} example, well I assume you could guess what it will do.
  914.  
  915. You can just define as many as you want.
  916. {
  917. "BOX NAME", // function name in the admin menu
  918. {
  919. "Item1","Item2", // one per just item in a string
  920. {"Item1",5},{"Item2",10} // second entry in each array defiens how many of items of the first entry are wanted.
  921. }
  922. }
  923.  
  924. The last closing bracket in an array can not have a "," afterwards. So make sure to have no syntax errors here.
  925. */
  926. allSupportBoxes[] =
  927. {
  928. {
  929. "Support-Box1",
  930. {
  931. "Exile_Item_Flag","Exile_Item_CookingPot",
  932. {"Exile_Item_Codelock",5},{"Exile_Item_DuctTape",10},{"Exile_Item_InstaDoc",10},
  933. {"Exile_Item_Energydrink",10},{"Exile_Item_ExtensionCord",5},{"Exile_Item_FloodLightKit",5},
  934. {"Exile_Item_FortificationUpgrade",5},{"Exile_Item_FuelCanisterFull",5},{"Exile_Item_GloriousKnakworst_Cooked",10},
  935. {"Exile_Item_LightBulb",5},{"Exile_Item_Matches",5},{"Exile_Item_MetalBoard",5},
  936. {"Exile_Item_MetalPole",5},{"Exile_Item_PlasticBottleFreshWater",10},{"Exile_Item_PortableGeneratorKit",5},
  937. {"Exile_Item_Rope",15},{"Exile_Item_SafeKit",15},{"Exile_Magazine_Battery",15}
  938. }
  939. },
  940. {
  941. "Support-Box2",
  942. {
  943. "Exile_Item_Flag",
  944. {"Exile_Item_WoodDoorKit",15},{"Exile_Item_WoodDoorwayKit",15},{"Exile_Item_WoodDrawBridgeKit",15},
  945. {"Exile_Item_WoodFloorKit",15},{"Exile_Item_WoodFloorPortKit",15},{"Exile_Item_WoodGateKit",15},
  946. {"Exile_Item_WoodLog",15},{"Exile_Item_WoodPlank",15},{"Exile_Item_WoodStairsKit",15},
  947. {"Exile_Item_WoodSupportKit",15},{"Exile_Item_WoodWallHalfKit",15},{"Exile_Item_WoodWallKit",15},
  948. {"Exile_Item_WoodWindowKit",15},{"Exile_Item_WorkBenchKit",15}
  949. }
  950. },
  951. {
  952. "Support-Box3",
  953. {
  954. {"Exile_Item_Flag",5},{"Exile_Item_WoodDoorKit",15},{"Exile_Item_WoodWallKit",15},
  955. {"Exile_Item_WoodWindowKit",15},{"Exile_Item_WoodFloorKit",15},{"Exile_Item_SafeKit",5}
  956. }
  957. },
  958. {
  959. "Support-Box4",
  960. {
  961. ""
  962. }
  963. }
  964. };
  965. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement