This repository contains the ansible playbook and all documentation related to our squad infrastructure.
Any changes made to the architecture of the squad server should be done via ansible or at least documented here.
IMPORTANT: Do not make manual changes to the system outside of what is documented in this repository. This playbook may overwrite manual changes at any time.
The server is managed via ssh and ansible, individual squad instances can be managed either through squadctl via ssh or the web control panel.
For more details on the architecture and how to use this playbook, see the docs folder and the yml files in tasks folder (the yml tasks are intended to be both the automation and documentation).
The following example commands contain the name training1. Check the web control panel or inventory.yml for a list of available servers.
squadctl --name training1 --action status
squadctl --name training1 --action restartIfEmpty
squadctl --name training1 --action restart
squadctl --name training1 --action start
squadctl --name training1 --action stopIfEmpty
squadctl --name training1 --action stop
squadctl --name training1 --action listMods
/opt/squad/training1/rcon showserverinfo | jq
sudo reboot-if-squad-servers-are-empty
sudo reboot
journalctl --namespace squad-training1
journalctl --namespace squad-training1 -f -n 100
nano /opt/squad/training1/SquadGame/ServerConfig/Server.cfg
nano /opt/squad/training1/config.json
squadctl --name training1 --action update
sudo systemctl enable squad-training1.service
sudo systemctl disable squad-training1.service