{ "server": { "id": {{ server.server_id }}, "host": "squad", "queryPort": {{ server.ports.query }}, "rconPort": {{ server.ports.rcon }}, "rconPassword": "{{ server.secrets.rcon_password }}", "logReaderMode": "tail", "logDir": "/home/squadjs/SquadLogs", "ftp": { "port": 21, "user": "FTP Username", "password": "FTP Password", "useListForSize": false }, "adminLists": [ { "type": "local", "source": "/home/squadjs/SquadConfig/Admins.cfg" } {% for listsource in server.remote_admin_list %} , { "type": "remote", "source": "http://asgard.orion-technologies.io:8000/?grpName={{ listsource | regex_replace(' ', '%20') }}" } {% endfor %} ] }, "connectors": { "discord": "{{ server.secrets.squadjs_discord_token }}", "sqlite": { "dialect": "sqlite", "storage": "/home/squadjs/data/squadjs.sqlite" }, "mysql": { "dialect":"mysql", "host":"asgard.orion-technologies.io", "port":3306, "username":"{{ squad_mysql.user }}", "password":"{{ squad_mysql.user_password }}", "database":"{{ squad_mysql.database }}" } }, "plugins": [ { "plugin": "AutoKickUnassigned", "enabled": true, "warningMessage": "Join a squad, you are are unassigned and will be kicked", "kickMessage": "Unassigned - automatically removed", "frequencyOfWarnings": 30, "unassignedTimer": 360, "playerThreshold": 90, "roundStartDelay": 900, "ignoreAdmins": true, "ignoreWhitelist": false }, { "plugin": "AutoTKWarn", "enabled": true, "attackerMessage": "Please apologise for ALL TKs in ALL chat!", "victimMessage": null }, { "plugin": "CBLInfo", "enabled": true, "discordClient": "discord", "channelID": "1077010353147346984", "threshold": 6 }, { "plugin": "ChatCommands", "enabled": true, "commands": [ { "command": "squadjs", "type": "warn", "response": "This server is powered by SquadJS.", "ignoreChats": [] } ] }, { "plugin": "DBLog", "enabled": false, "database": "mysql", "overrideServerID": {{ server.server_id }} }, { "plugin": "DBLogPlayerTime", "enabled": true, "database": "mysql", "overrideServerID": null, "seedingThreshold": 50, "whitelistfilepath": "./autowlfiles/{{ server.docker.name }}-autowl.cfg", "incseed": 40, "decseed": 6 }, { "plugin": "DiscordCheater", "enabled": true, "discordClient": "discord", "channelID": "1101121798046765086" }, { "plugin": "DiscordAdminBroadcast", "enabled": true, "discordClient": "discord", "channelID": "1066922738356334674", "color": 16761867 }, { "plugin": "DiscordAdminCamLogs", "enabled": true, "discordClient": "discord", "channelID": "1066965801086746654", "color": 16761867 }, { "plugin": "DiscordAdminRequest", "enabled": true, "discordClient": "discord", "channelID": "1066964630896906301", "ignoreChats": [], "ignorePhrases": [], "command": "admin", {% set _pingable_groups = [] %} {% for group in server.groups %} {%- if group.squadjs.admin_ping is defined and group.squadjs.admin_ping is true -%} {{ _pingable_groups.append(group) }} {% endif %} {% endfor %} "pingGroups": [ {% for group in _pingable_groups %} "{{ group.name }}"{{ ", " if not loop.last else "" }} {% endfor %} ], "pingDelay": 60000, "color": 16761867, "warnInGameAdmins": true, "showInGameAdmins": true }, { "plugin": "DiscordChat", "enabled": true, "discordClient": "discord", "channelID": "1066964803198918677", "chatColors": {}, "color": 16761867, "ignoreChats": [ ] }, { "plugin": "DiscordDebug", "enabled": false, "discordClient": "discord", "channelID": "", "events": [] }, { "plugin": "DiscordFOBHABExplosionDamage", "enabled": true, "discordClient": "discord", "channelID": "1066965325905678406", "color": 16761867 }, { "plugin": "DiscordKillFeed", "enabled": true, "discordClient": "discord", "channelID": "1066922695180161144", "color": 16761867, "disableCBL": false }, { "plugin": "DiscordPlaceholder", "enabled": false, "discordClient": "discord", "command": "!placeholder", "channelID": "" }, { "plugin": "DiscordRcon", "enabled": false, "discordClient": "discord", "channelID": "", "permissions": {}, "prependAdminNameInBroadcast": false }, { "plugin": "DiscordRoundWinner", "enabled": false, "discordClient": "discord", "channelID": "1066965171400093716", "color": 16761867 }, { "plugin": "DiscordRoundEnded", "enabled": false, "discordClient": "discord", "channelID": "1066965171400093716", "color": 16761867 }, { "plugin": "DiscordServerStatus", "enabled": true, "discordClient": "discord", "messageStore": "mysql", "command": "!status", "disableSubscriptions": false, "updateInterval": 60000, "setBotStatus": true }, { "plugin": "DiscordSquadCreated", "enabled": true, "discordClient": "discord", "channelID": "1066965049886908466", "color": 16761867, "useEmbed": true }, { "plugin": "DiscordSubsystemRestarter", "enabled": false, "discordClient": "discord", "role": "" }, { "plugin": "DiscordTeamkill", "enabled": true, "discordClient": "discord", "channelID": "1066922719632961556", "color": 16761867, "disableCBL": false }, { "plugin": "FogOfWar", "enabled": false, "mode": 1, "delay": 10000 }, { "plugin": "IntervalledBroadcasts", "enabled": false, "broadcasts": [], "interval": 300000 }, { "plugin": "SeedingMode", "enabled": false, "interval": 600000, "seedingThreshold": 60, "seedingMessage": "Seeding Rules Active! Fight only over the middle flags! No FOB Hunting!", "liveEnabled": true, "liveThreshold": 52, "liveMessage": "Live!", "waitOnNewGames": true, "waitTimeOnNewGame": 30 }, { "plugin": "SocketIOAPI", "enabled": false, "websocketPort": "", "securityToken": "" }, { "plugin": "TeamRandomizer", "enabled": true, "command": "randomize" }, { "plugin": "SquadNameValidator", "enabled": true, "discordClient": "discord", "channelID": "1066965049886908466", "warningMessage": "Your squad has been disbanded due to a non-compliant name.", "rules": [ { "description": "Disband every ARMOR/ARMOUR/VIC/VEHICLE and other variants", "type": "regex", "logic": "match=disband", "rule": "/(a.?r ?m ?(?:o|e|a|u)* ?r)|((^| )v ?[ie] ?c ?($| ))|(v ?e ?h ?i ?c ?l ?e)|(i ?f ?v)|(a ?p ?c)/", "warningMessage": "R9 | This name is not a valid vehicle claim! Please name your squad the vehicle you wish to claim." } ] }, { "plugin": "MapVote", "enabled": true, "discordClient": "discord", "entriesAmount": 5, "entryFormat": "{map_name} {gamemode} {map_version} {factions}", "automaticVoteStart": true, "votingDuration": 20, "minPlayersForVote": 30, "voteWaitTimeFromMatchStart": 15, "voteBroadcastInterval": 6, "numberRecentMapsToExlude": 3, "automaticSeedingMode": true, "gamemodeWhitelist": [ "RAAS", "tanks", "invasion", "inv", "aas" ], "layerFilteringMode": "whitelist", "layerLevelBlacklist": [ "FoolsRoad", "Kamdesh", "Logar", "Mestia", "Sumari", "Narva_Invasion_v5", "Narva_RAAS_v5", "Gorodok_RAAS_v04", "Fallujah_RAAS_v7", "AlBasrah_RAAS_v1", "Chora_Invasion", "Fallujah_Invasion", "GooseBay_Invasion_v3", "Gorodok_Invasion_v1", "Fallujah_RAAS_v6", "BlackCoast_Invasion_v2", "BlackCoast_Invasion_v1", "BlackCoast_Invasion_v3", "Mutaha_Invasion_v1", "Narva_Invasion_v3", "Skorpo_Invasion_v2", "Skorpo_Invasion_v3", "Skorpo_Invasion_v4", "Tallil_Tanks_v1", "Tallil_RAAS_v2", "Tallil_RAAS_v7", "Tallil_Invasion_v1", "Tallil_Invasion_v2", "Tallil_Invasion_v5", "Yehorivka_RAAS_v04", "Yehorivka_RAAS_v10", "Yehorivka_RAAS_v05", "Yehorivka_RAAS_v14", "Harju_Invasion_v1", "Harju_Invasion_v3", "Harju_Invasion_v4", "Harju_Invasion_v5", "Harju_RAAS_v2", "Harju_RAAS_v5", "Tallil_RAAS_v3", "Manicouagan_RAAS_v13", "Manicouagan_RAAS_v15", "Kohat_Invasion_v1", "Kohat_RAAS_v04", "Kohat_RAAS_v06", "Kohat_RAAS_v07", "Lashkar_Invasion", "Lashkar_RAAS_v1", "Lashkar_RAAS_v4" ], "layerLevelWhitelist": [ "MEE_Afrin_AAS", "MEE_BlackCoast_AAS_v1_UAFIBvVDV", "MEE_BlackCoast_Invasion_v1_USMC20vVDV", "MEE_BlackCoast_RAAS_v1_UAFIBvWAGB", "MEE_Fallujah_AAS_v1_GDvMEINS", "MEE_Fallujah_INS_v1_USSFvMEINS", "MEE_Fallujah_Invasion_v1_GDvMEINS", "MEE_Fallujah_Invasion_v2_USMC10vINS", "MEE_Fallujah_Invasion_v3_USMC20vIRN", "MEE_Fallujah_Invasion_v4_RSFvMEINS", "MEE_Fallujah_Invasion_v5_TAFvMEINS", "MEE_Fallujah_Seed_v1_POLvWAG", "MEE_Fallujah_Seed_v2_PIMAvTAF", "MEE_FoolsRoad_AAS_v1_GBvWAG", "MEE_FoolsRoad_AAS_v2_RUSvGB", "MEE_FoolsRoad_Invasion_v1_HRvWAG", "MEE_Fools_Road_RAAS_v1_GBvWAG", "MEE_Fools_Road_RAAS_v2_USMC10vMIL", "MEE_OPFL_AASv1_USMC20vWAG", "MEE_OPFL_AASv2_USMC20vMIL", "MEE_OPFL_Skirmish_v1_USMC20vWAG", "MEE_Gorodok_AAS_v1_UAFMvVDV", "MEE_Gorodok_AAS_v2_UAFIBvVDV", "MEE_Gorodok_Insurgency_v1_HRvMIL", "MEE_Gorodok_Invasion_v1_WAGBvUAFTD", "MEE_Gorodok_RAAS_v1_UAFMvVDV", "MEE_Gorodok_RAAS_v2_UAFTDvNI", "MEE_Gorodok_TC_v1_HRvWAG", "MEE_Harju_AAS_v1_UAFMvNI", "MEE_Harju_Invasion_v1_USMC20vMIL", "MEE_Harju_RAAS_v1_USMC20vWAG", "MEE_Harju_Seed_v1_UAFMvWAGB", "MEE_Harju_Skirmish_v1_UAFMvWAGB", "MEE_Harju_Skirmish_v2_UAFTDvNI", "MEE_Island_AAS_v1_PIMAvTAF", "MEE_Island_Invasion_v1_PIMAvTAF", "MEE_Island_Invasion_v2_TAFvMEINS", "MEE_Island_Invasion_v3_IRNRGvTAF", "MEE_Island_Invasion_v4_RSFvTAF", "MEE_Jensens_Range_v10_HRvANAC", "MEE_Jensens_Range_v11_ADFvCAF", "MEE_Jensens_Range_v12_PIMAvTKC", "MEE_Jensens_Range_v13_USMCvRSFM", "MEE_Jensens_Range_v14_UAFvRAF", "MEE_Jensens_Range_v15_UAFMvVDV", "MEE_Jensens_Range_v16_UAFIBvWAGB", "MEE_Jensens_Range_v1_USSFvRSF", "MEE_Jensens_Range_v2_75vSAS", "MEE_Jensens_Range_v3_GBvMIL", "MEE_Jensens_Range_v4_IAvINS", "MEE_Jensens_Range_v5_IRvIRRG", "MEE_Jensens_Range_v6_ISvGD", "MEE_Jensens_Range_v7_SAFvFSA", "MEE_Jensens_Range_v8_USvRUS", "MEE_Jensens_Range_v9_POLvWAG", "MEE_Lashkar_Valley_Insurgency_v1_SASRvMEINS", "MEE_Lashkar_INV_v1_SASvMEINS", "MEE_Lashkar_Valley_Invasion_v4_ADFvMEINS", "MEE_Chora_AAS_v1_USSFvRSF", "MEE_Chora_AAS_v2_USvRUS", "MEE_Chora_AAS_v3_75vRUS", "MEE_Chora_Insurgency_v1_USSFvMEINS", "MEE_Chora_Invasion_v1_SASRvINS", "MEE_Chora_Invasion_v2_USMC10vINS", "MEE_Chora_Invasion_v3_ADFvMEINS", "MEE_Logar_Valley_AAS_v1_USSFvMEINS", "MEE_Logar_Valley_AAS_v2_USMC10vINS", "MEE_Logar_Valley_Insurgency_v1_USSFvMEINS", "MEE_Mestia_AAS_v1_HRvMIL", "MEE_Mestia_Invasion_v1_HRvMIL", "MEE_Mestia_RAAS_v1_HRvMIL", "MEE_Mutaha_AAS_v1_SAFvFSA", "MEE_Mutaha_Invasion_v1_GDvMEINS", "MEE_Mutaha_Invasion_v2_75vMEINS", "MEE_Narva_AAS_v1_POLvWAG", "MEE_Narva_Invasion_v1_POLvWAG", "MEE_Narva_RAAS_v1_POLvWAG", "MEE_Narva_TC_v2_POLvWAG", "MEE_Fahkri_AAS_v1_ISAFvPOL", "MEE_Fahkri_AAS_v2_GDvMEINS", "MEE_Fahkri_AAS_v3_MEINSv75", "MEE_Fahkri_Insurgency_v1_SAFvFSA", "MEE_Fahkri_Insurgency_v2_GDvMEINS", "MEE_Fahkri_Invasion_v1_GDvMEINS", "MEE_Fahkri_Invasion_v2_SASRvMEINS", "MEE_Fahkri_Invasion_v3_75vMEINS", "MEE_Fahkri_Invasion_v4_75vIRGC", "MEE_Fahkri_Invasion_v5_RSFvPOL", "MEE_Fahkri_Invasion_v6_SAFvMEINS", "MEE_Fahkri_Invasion_v7_ADFvMEINS", "MEE_Fahkri_Invasion_v8_PIMAvMEINS", "MEE_Fahkri_Invasion_v9_TAFvMEINS", "MEE_Skorpo_AAS_v1_USMC20vVDV", "MEE_Skorpo_Invasion_v1_USMCvVDV", "MEE_Skorpo_RAAS_v3_USMC20vWAG", "MEE_Skorpo_Skirmish_v1_USMC20vWAG", "MEE_Sumari_AAS_v1_ANACvMEINS", "MEE_Sumari_AAS_v2_USMC10vINS", "MEE_Sumari_Insurgency_v1_USSFvINS", "Sumari_Invasion_v1_ANACvMEINS", "MEE_Sumari_Seed_v1_USMC10vMEINS", "MEE_Tallil_Outskirts_AAS_v1_USMC10vIRGC", "MEE_Tallil_Outskirts_AAS_v2_USMC10vTAF", "MEE_Tallil_Outskirts_AAS_v3_TAFvUSA", "MEE_Tallil_Outskirts_Invasion_v1_MEINSvGD", "MEE_Tallil_Outskirts_Invasion_v2_GDvMEINS", "MEE_Tallil_Outskirts_Invasion_v3_TAFvIRGC", "MEE_Tallil_Outskirts_RAAS_v1_GDvMEINS", "MEE_Tallil_RAAS_v2_75vIRGC", "MEE_Tallil_Outskirts_RAAS_v3_TAFvIR", "MEE_Tallil_Outskirts_Seed_v1_ADFvIRGC", "MEE_Tallil_Outskirts_TC_v1_USAvIR", "MEE_Yehorivka_AAS_v1_UAFIBvVDV", "MEE_Yehorivka_Invasion_v1_VDVvUAFM", "MEE_Yehorivka_RAAS_v1_UAFTDvNI" ], "applyBlacklistToWhitelist": true, "factionsBlacklist": [ ], "minRaasEntries": 2, "minGamemodeEntries": { "raas": 2 }, "hideVotesCount": false, "showRerollOption": true, "showRerollOptionInCustomVotes": false, "voteBroadcastMessage": "MAPVOTE\nVote for the next map by writing in chat the corresponding number!", "voteWinnerBroadcastMessage": "MAPVOTE\nThe winning layer is\n", "showWinnerBroadcastMessage": true, "allowedSameMapEntries": 2, "logToDiscord": true, "channelID": "1100392613514858547", "persistentDataFile": "/home/squadjs/mapvotepdata.data", "timezone": -4, "minimumVotesToAcceptResult": 1, "instantSeedingModePlayerCount": 1, "nextLayerSeedingModePlayerCount": 30, "seedingGameMode": "Training" }, { "plugin": "Switch", "commandPrefix": [ "!switch", "!change" ], "enabled": true, "discordClient": "discord", "channelID": "1117217579921051718", "switchCooldownHours": 2, "switchEnabledMinutes": 5, "doubleSwitchCommands": [ "!bug", "!stuck", "!doubleswitch", "!runningman" ], "doubleSwitchCooldownHours": 0.5, "doubleSwitchEnabledMinutes": 5, "maxUnbalancedSlots": 5, "switchToOldTeamAfterRejoin": true, "database": "mysql" } ], "logger": { "verboseness": { "SquadServer": 0, "LogParser": 0, "RCON": 3 }, "colors": { "SquadServer": "yellowBright", "SquadServerFactory": "yellowBright", "LogParser": "blueBright", "RCON": "redBright" } } }