From 241358db9f39fe81703a9aef7c73ac51863e06e3 Mon Sep 17 00:00:00 2001 From: Skillet Date: Wed, 26 Apr 2023 10:13:37 -0400 Subject: [PATCH] Create SquadJS.galac --- roles/squad-server/templates/SquadJS.galac | 321 +++++++++++++++++++++ 1 file changed, 321 insertions(+) create mode 100644 roles/squad-server/templates/SquadJS.galac diff --git a/roles/squad-server/templates/SquadJS.galac b/roles/squad-server/templates/SquadJS.galac new file mode 100644 index 0000000..2464c51 --- /dev/null +++ b/roles/squad-server/templates/SquadJS.galac @@ -0,0 +1,321 @@ +{ + "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" + } + ] + }, + "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":"squadjs", + "password":"{{server.secrets.rcon_password }}", + "database":"squadjs" + } + }, + "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": 50, + "roundStartDelay": 900, + "ignoreAdmins": true, + "ignoreWhitelist": false + }, + { + "plugin": "AutoTKWarn", + "enabled": true, + "attackerMessage": "Please apologise for ALL TKs in ALL chat!", + "victimMessage": null + }, + { + "plugin": "CBLInfo", + "enabled": false, + "discordClient": "discord", + "channelID": "", + "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 + }, + { + "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": "sqlite", + "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": 50, + "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": "1066978080364707880", + "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 ?i ?c ?($| ))|(v ?e ?h ?i ?c ?l ?e)|(i ?f ?v)|(a ?p ?c)/", + "warningMessage": "R9 | This name is not a valid vehicle claim!" + } + ] + }, + { + "plugin": "MapVote", + "enabled": true, + "discordClient": "discord", + "entriesAmount": 5, + "entryFormat": "{map_name} {gamemode} {map_version} {factions}", + "automaticVoteStart": true, + "votingDuration": 15, + "minPlayersForVote": 30, + "voteWaitTimeFromMatchStart": 15, + "voteBroadcastInterval": 6, + "numberRecentMapsToExlude": 4, + "automaticSeedingMode": true, + "modWhitelist": ["GC"], + "gamemodeWhitelist": [ "RAAS", "Invasion", "AAS", "INV", "RINV", "INS" ], + "layerFilteringMode": "blacklist", + "layerLevelBlacklist": [ "Kohat", "FoolsRoad", "Kamdesh", "Lashkar", "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_v02", "Yehorivka_RAAS_v03", "Yehorivka_RAAS_v04", "Yehorivka_RAAS_v10", "Harju_Invasion_v1", "Harju_Invasion_v3", "Harju_Invasion_v4", "Harju_Invasion_v5", "Harju_RAAS_v2", "Harju_RAAS_v5" ], + "layerLevelWhitelist": [ "Yeho", "Gorodok", "Mutaha", "Narva", "Tallil" ], + "applyBlacklistToWhitelist": true, + "factionsBlacklist": [], + "minRaasEntries": 3, + "minGamemodeEntries": { "aas": 3, "invasion": 1 }, + "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/data/mapvotepdata.data", + "timezone": -4, + "minimumVotesToAcceptResult": 1, + "instantSeedingModePlayerCount": 2, + "nextLayerSeedingModePlayerCount": 30, + "seedingGameMode": "Training" + } + ], + "logger": { + "verboseness": { + "SquadServer": 1, + "LogParser": 1, + "RCON": 1 + }, + "colors": { + "SquadServer": "yellowBright", + "SquadServerFactory": "yellowBright", + "LogParser": "blueBright", + "RCON": "redBright" + } + } +}