Guida Installazione LinuxGSM Docker

Qualsiasi cosa inseritela qui
Post Reply
User avatar
Matteo
Admin
Admin
Posts: 58
Joined: Friday 5 November 2021, 11:10

Guida Installazione LinuxGSM Docker

CoD4X, porta 28960, dati persistenti fuori dal container

1. Crea la directory

Sul VPS:

Code: Select all

mkdir -p /opt/cod4x
cd /opt/cod4x
2. Crea docker-compose.yml

Code: Select all

nano docker-compose.yml

Code: Select all

services:
  cod4x:
    image: gameservermanagers/gameserver:cod4
    container_name: cod4x
    restart: unless-stopped

    volumes:
      - /opt/cod4x:/data

    network_mode: host
Per CoD4X è la soluzione che preferisco perché evita inutili complicazioni con Docker NAT/UDP e permette al server di usare direttamente la porta 28960.

3. Avvia il container

Code: Select all

docker compose up -d
Controlla:

Code: Select all

docker ps
Guarda l'installazione

Code: Select all

docker logs -f cod4x
Al primo avvio LinuxGSM installerà automaticamente il server scelto e lo avvierà.
Aspetta che termini completamente.


4. Controlla CoD4X

Una volta terminata l'installazione:

Code: Select all

docker exec -it --user linuxgsm cod4x ./cod4server details
LinuxGSM documenta proprio questo metodo per eseguire i comandi dentro il container come utente linuxgsm.

Dovresti ottenere informazioni tipo:

Code: Select all

Service name: cod4server
User: linuxgsm
Location: /data
Server IP: ...
Server port: 28960
Config file: ...
5. Dove finiscono i file?

Con:
- /opt/cod4x:/data
tutto quello che LinuxGSM salva nel suo /data viene mantenuto sul VPS.

Quindi:
/opt/cod4x/
├── cod4server
├── serverfiles/
├── lgsm/
├── log/
├── backups/
└── ...

Questo è importante perché non devi mettere i dati del server dentro il container: se ricrei il container, i dati rimangono sul VPS. È esattamente il motivo per cui l'immagine raccomanda di montare /data come storage persistente.


6. Configurare CoD4X

Prima individuiamo il file:

Code: Select all

docker exec -it --user linuxgsm cod4x ./cod4server details
LinuxGSM ti dirà il Config file.
Puoi anche entrare nel container:

Code: Select all

docker exec -it --user linuxgsm cod4x bash
e vedere:

Code: Select all

ls
LinuxGSM separa la configurazione LinuxGSM dalla configurazione del game server.

Per le impostazioni LinuxGSM, ad esempio, utilizza:
lgsm/config-lgsm/cod4server/

e il file specifico dell'istanza ha priorità sulle configurazioni comuni/default.

7. Comandi principali

Stop

Code: Select all

docker exec -it --user linuxgsm cod4x ./cod4server stop
Restart

Code: Select all

docker exec -it --user linuxgsm cod4x ./cod4server restart
Status

Code: Select all

docker exec -it --user linuxgsm cod4x ./cod4server monitor
Dettagli

Code: Select all

docker exec -it --user linuxgsm cod4x ./cod4server details
Aggiornamento

Code: Select all

docker exec -it --user linuxgsm cod4x ./cod4server update
LinuxGSM supporta questi comandi direttamente tramite lo script dell'istanza.

8. Console CoD4X

Per vedere il log:

Code: Select all

docker logs -f cod4x
Oppure il log LinuxGSM:

Code: Select all

ls -lah /opt/cod4x/log/
9. Porta 28960

Con network_mode: host, non devi fare:

ports:

Code: Select all

  - "28960:28960/udp"
perché il container usa direttamente la rete del VPS.

Quindi CoD4X sarà raggiungibile direttamente su:

Code: Select all

IP_DEL_VPS:28960
Naturalmente dovrai permettere UDP 28960 nel firewall del VPS/provider.

Per esempio con UFW:

Code: Select all

ufw allow 28960/udp
Se vuoi fermare e rimuovere completamente il container, ma mantenere i dati in /opt/cod4x, fai:

Code: Select all

cd /opt/cod4x
docker compose down
Questo:

ferma il container
lo rimuove
non cancella /opt/cod4x
non cancella i file del server CoD4X

Se vuoi anche eliminare l'immagine Docker:

Code: Select all

docker compose down --rmi all
Se invece vuoi eliminare proprio tutto

Container + immagine + directory dei dati:

Code: Select all

cd /opt/cod4x
docker compose down --rmi all
rm -rf /opt/cod4x
⚠️ L'ultimo comando cancella definitivamente serverfiles, configurazioni, mod, log, ecc.

Se devi semplicemente rifare il container da zero mantenendo CoD4X, usa solo:

Code: Select all

docker compose down
docker compose up -d
Post Reply