Codice: Seleziona tutto
sudo apt update
Codice: Seleziona tutto
sudo apt install git python2 python2-dev curl
Codice: Seleziona tutto
sudo curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
Codice: Seleziona tutto
sudo python2 get-pip.py
Codice: Seleziona tutto
sudo pip2 install -r /root/requirements.txt
python2-dev e python2-pip servono per eventuali moduli aggiuntivi o plugin
Codice: Seleziona tutto
sudo useradd -r -m -d /opt/b3 -s /usr/sbin/nologin b3
-m -d /opt/b3 = usa /opt/b3 come home
-s /usr/sbin/nologin = non può fare login interattivo
Codice: Seleziona tutto
sudo mkdir -p /opt/b3
Codice: Seleziona tutto
sudo chown -R b3:b3 /opt/b3
Codice: Seleziona tutto
cd /opt/b3
Codice: Seleziona tutto
git clone https://github.com/BigBrotherBot/big-brother-bot.git .
Codice: Seleziona tutto
python2 setup.py install --prefix=/usr/local
In alternativa puoi usare virtualenv, ma per semplicità globale va bene così
Vai nella cartella di configurazione:
Codice: Seleziona tutto
cd /opt/b3/b3/conf
Codice: Seleziona tutto
b3_cod4.xml # per cod4server
b3_sof2.xml # per sof2server
b3_cod2.xml # ecc.
Codice: Seleziona tutto
<game> → parser corretto (cod4x18 per CoD4X, sof2 per SoF2 ecc.)
<rcon_ip> e <rcon_port> → RCON del server
<rcon_password> → password RCON
<logfile> → percorso log del server LinuxGSM (~/serverfiles/main/games_mp.log)
Crea /etc/systemd/system/b3@.service:
Codice: Seleziona tutto
nano /etc/systemd/system/b3@.service
Codice: Seleziona tutto
[Unit]
Description=Big Brother Bot - %i
After=network.target
[Service]
User=b3
WorkingDirectory=/opt/b3
ExecStart=/usr/bin/python2 /opt/b3/b3_run.py --restart -c /opt/b3/b3/conf/b3_%i.xml
Restart=always
RestartSec=5
LimitNOFILE=4096
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
%i prende il nome dell’istanza quando avvii b3@cod4 o b3@sof2
RestartSec=5 evita che systemd riavvii troppo velocemente se c’è un crash
LimitNOFILE aumenta il numero massimo di file descriptor (utile se B3 gestisce molte connessioni)
Codice: Seleziona tutto
sudo systemctl daemon-reload
Codice: Seleziona tutto
sudo systemctl enable b3@cod4 # parte al boot
sudo systemctl enable b3@sof2 # se hai altri server
Avviare:
Codice: Seleziona tutto
sudo systemctl start b3@cod4
Codice: Seleziona tutto
sudo systemctl stop b3@cod4
Codice: Seleziona tutto
sudo systemctl restart b3@cod4
Codice: Seleziona tutto
sudo systemctl status b3@cod4 -l
Codice: Seleziona tutto
sudo journalctl -u b3@cod4 -f
Se vuoi vedere eventuali errori di configurazione prima di systemd:
Codice: Seleziona tutto
sudo -u cod4server /usr/bin/python2 /opt/b3/b3_run.py --restart -c /opt/b3/b3/conf/b3_cod4.xml
1
Per aggiungere altri server basta creare il file XML corrispondente (b3_sof2.xml) e avviare l’istanza:
Codice: Seleziona tutto
sudo systemctl start b3@sof2
Tutte le istanze possono girare indipendentemente, con lo stesso utente dei rispettivi server LinuxGSM.