mirror of
https://github.com/AsgardEternal/Ubuntu-Ansible-Setup.git
synced 2024-09-28 11:44:23 -05:00
feat: add Steel Division squad server
This commit is contained in:
parent
f86375bc1b
commit
8a4eac37d7
2
.github/workflows/deploy-squad.yml
vendored
2
.github/workflows/deploy-squad.yml
vendored
@ -27,6 +27,8 @@ jobs:
|
||||
SQUAD_VANILLA_SERVER_LICENSE: "${{ secrets.squad_vanilla_server_license }}"
|
||||
SQUAD_VANILLA_SQUADJS_DISCORD_TOKEN: "${{ secrets.squad_vanilla_squadjs_discord_token }}"
|
||||
|
||||
SQUAD_STEEL_DIVISION_SQUADJS_DISCORD_TOKEN: "${{ secrets.squad_steel_division_squadjs_discord_token }}"
|
||||
|
||||
SQUAD_MEE_SERVER_LICENSE: "${{ secrets.squad_mee_server_license }}"
|
||||
SQUAD_MEE_SQUADJS_DISCORD_TOKEN: "${{ secrets.squad_mee_squadjs_discord_token }}"
|
||||
|
||||
|
@ -614,6 +614,23 @@ all:
|
||||
query: 27169
|
||||
rcon: 21116
|
||||
beacon: 15200
|
||||
- name: "[ASG] Asgard Eternal | Steel Devision"
|
||||
server_id: 4
|
||||
docker:
|
||||
name: steel-division
|
||||
images:
|
||||
server: squad:steel-division
|
||||
squadjs: squadjs:latest
|
||||
secrets:
|
||||
rcon_password: "{{ lookup('ansible.builtin.env', 'SQUAD_RCON_PASSWORD')}}"
|
||||
squadjs_discord_token: "{{ lookup('ansible.builtin.env', 'SQUAD_STEEL_DIVISION_SQUADJS_DISCORD_TOKEN') | default('')}}"
|
||||
server_password: "{{ lookup('ansible.builtin.env', 'SQUAD_STEEL_DIVSION_SERVER_PASSWORD') | default('')}}"
|
||||
license: ""
|
||||
ports:
|
||||
game: 7795
|
||||
query: 27173
|
||||
rcon: 21118
|
||||
beacon: 15300
|
||||
registry_site: asgard-eternal.com
|
||||
registry_site_email: price@orion-technologies.io
|
||||
registry_system_user: docker-reg
|
||||
|
539
roles/squad-server/templates/SquadJS.steel-division.json.j2
Normal file
539
roles/squad-server/templates/SquadJS.steel-division.json.j2
Normal file
@ -0,0 +1,539 @@
|
||||
{
|
||||
"server": {
|
||||
"id": {{ server.server_id }},
|
||||
"host": "{{ ansible_host }}",
|
||||
"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-eternal.com: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-eternal.com",
|
||||
"port":3306,
|
||||
"username":"{{ squad_mysql.user }}",
|
||||
"password":"{{ squad_mysql.user_password }}",
|
||||
"database":"{{ squad_mysql.database }}"
|
||||
}
|
||||
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"plugin": "SquadBaiting",
|
||||
"enabled": true,
|
||||
"discordClient": "discord",
|
||||
"channelID": "1258146129657204870",
|
||||
"resetPlayerCountersAtNewGame": true,
|
||||
"warnInGameAdmins": false,
|
||||
"disableDefaultAdminWarns": true,
|
||||
"roleChangeTriggersSquadBaiting": true,
|
||||
"detectEarlySquadbaitingMinutes": 1,
|
||||
"enforceEarlySquadBaitingAfterSeconds": 30,
|
||||
"playerRules": [
|
||||
{
|
||||
"name": "Squad baiting is not allowed",
|
||||
"enabled": true,
|
||||
"discordLogging": false,
|
||||
"baitingCounter": {
|
||||
"min": 0,
|
||||
"max": 6
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"type": "rcon",
|
||||
"enabled": true,
|
||||
"content": "AdminWarn {old_leader:steamid} \"Squad baiting is not allowed\""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Kick player",
|
||||
"enabled": true,
|
||||
"discordLogging": true,
|
||||
"baitingCounter": {
|
||||
"min": 7,
|
||||
"max": 15
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"type": "rcon",
|
||||
"enabled": false,
|
||||
"content": "AdminKick {old_leader:steamid} \"Squad baiting not allowed\""
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"squadRules": [
|
||||
{
|
||||
"name": "Pre-disband warnings",
|
||||
"enabled": true,
|
||||
"baitingCounter": {
|
||||
"min": 4,
|
||||
"max": 5
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"type": "rcon",
|
||||
"content": "AdminBroadcast \"Squad {squad:squadid} Team {squad:teamid} will be disbanded due to squad-baiting\""
|
||||
},
|
||||
{
|
||||
"type": "rcon",
|
||||
"content": "AdminDisbandSquad {squad:teamid} {squad:squadid}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Disband warnings",
|
||||
"enabled": true,
|
||||
"baitingCounter": {
|
||||
"min": 6,
|
||||
"max": 10
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"type": "rcon",
|
||||
"content": "AdminBroadcast \"Squad {squad:squadid} Team {squad:teamid} has been disbanded due to squad-baiting\""
|
||||
},
|
||||
{
|
||||
"type": "rcon",
|
||||
"content": "AdminDisbandSquad {squad:teamid} {squad:squadid}"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"earlySquadBaitingRules": [
|
||||
{
|
||||
"name": "Disband",
|
||||
"enabled": true,
|
||||
"actions": [
|
||||
{
|
||||
"type": "rcon",
|
||||
"content": "AdminDisbandSquad {squad:teamid} {squad:squadid}"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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": "1258145485852639292",
|
||||
"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": "1258145614516977724"
|
||||
},
|
||||
{
|
||||
"plugin": "DiscordAdminBroadcast",
|
||||
"enabled": true,
|
||||
"discordClient": "discord",
|
||||
"channelID": "1066978042376880148",
|
||||
"color": 16761867
|
||||
},
|
||||
{
|
||||
"plugin": "DiscordAdminCamLogs",
|
||||
"enabled": true,
|
||||
"discordClient": "discord",
|
||||
"channelID": "1258145113448906832",
|
||||
"color": 16761867
|
||||
},
|
||||
{
|
||||
"plugin": "DiscordAdminRequest",
|
||||
"enabled": true,
|
||||
"discordClient": "discord",
|
||||
"channelID": "1258145389878448270",
|
||||
"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": "1258144890697683096",
|
||||
"chatColors": {},
|
||||
"color": 16761867,
|
||||
"ignoreChats": [
|
||||
]
|
||||
},
|
||||
{
|
||||
"plugin": "DiscordDebug",
|
||||
"enabled": false,
|
||||
"discordClient": "discord",
|
||||
"channelID": "",
|
||||
"events": []
|
||||
},
|
||||
{
|
||||
"plugin": "DiscordFOBHABExplosionDamage",
|
||||
"enabled": true,
|
||||
"discordClient": "discord",
|
||||
"channelID": "1258145045026967624",
|
||||
"color": 16761867
|
||||
},
|
||||
{
|
||||
"plugin": "DiscordKillFeed",
|
||||
"enabled": true,
|
||||
"discordClient": "discord",
|
||||
"channelID": "1258144786607509504",
|
||||
"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": "1258145544438812794",
|
||||
"color": 16761867,
|
||||
"useEmbed": true
|
||||
},
|
||||
{
|
||||
"plugin": "DiscordSubsystemRestarter",
|
||||
"enabled": false,
|
||||
"discordClient": "discord",
|
||||
"role": ""
|
||||
},
|
||||
{
|
||||
"plugin": "DiscordTeamkill",
|
||||
"enabled": true,
|
||||
"discordClient": "discord",
|
||||
"channelID": "1258144839216660500",
|
||||
"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 ?[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": false,
|
||||
"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" ],
|
||||
"layerFilteringMode": "blacklist",
|
||||
"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": [
|
||||
"Anvil_RAAS_v4",
|
||||
"Belaya_RAAS_v1",
|
||||
"BlackCoast_RAAS_v1",
|
||||
"GooseBay_Invasion_v3",
|
||||
"Gorodok_Invasion_v2",
|
||||
"Gorodok_RAAS_v06",
|
||||
"Harju_RAAS_v4",
|
||||
"Narva_Invasion_v1",
|
||||
"Narva_RAAS_v2",
|
||||
"Yehorivka_RAAS_v01",
|
||||
"Yehorivka_RAAS_v02",
|
||||
"Gorodok_RAAS_v03",
|
||||
"Skorpo_Invasion_v2",
|
||||
"Belaya_Invasion_v3",
|
||||
"GooseBay_Invasion_v4",
|
||||
"GooseBay_RAAS_v1",
|
||||
"GooseBay_RAAS_v2",
|
||||
"Harju_Invasion_v4",
|
||||
"Mutaha_RAAS_v4",
|
||||
"Yehorivka_RAAS_v10",
|
||||
"Yehorivka_RAAS_v11",
|
||||
"Skorpo_RAAS_v5",
|
||||
"Yehorivka_RAAS_v05",
|
||||
"Skorpo_RAAS_v4",
|
||||
"BlackCoast_Invasion_v5",
|
||||
"BlackCoast_RAAS_v5",
|
||||
"Manicouagan_AAS_v4",
|
||||
"Manicouagan_Invasion_v8",
|
||||
"Manicouagan_Invasion_v9",
|
||||
"Manicouagan_RAAS_v10",
|
||||
"Manicouagan_RAAS_v11",
|
||||
"Manicouagan_RAAS_v12",
|
||||
"Manicouagan_RAAS_v13",
|
||||
"Manicouagan_RAAS_v14",
|
||||
"Manicouagan_RAAS_v15",
|
||||
"Narva_RAAS_v7",
|
||||
"Skorpo_Invasion_v1",
|
||||
"Yehorivka_RAAS_v05",
|
||||
"Narva_RAAS_v7",
|
||||
"Sanxian_RAAS_v1"
|
||||
],
|
||||
"applyBlacklistToWhitelist": true,
|
||||
"factionsBlacklist": [ ],
|
||||
"minRaasEntries": 3,
|
||||
"minGamemodeEntries": { "raas": 4 },
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user