Vai al contenuto

Factorio Server

Questa è guida per l'installazione di un server Factorio utilizzando Docker. Questa guida è stata progettata per semplificare il processo di configurazione e messa in opera del vostro server di gioco, permettendovi di dedicare più tempo a giocare e meno a risolvere problemi tecnici. Copriremo le configurazioni generali necessarie e forniremo esempi chiari e concisi per ogni passaggio.


Docker Compose

Il seguente codice Docker Compose è utilizzato per creare e gestire un server. Utilizza la versione 3.8 di Docker Compose e configura il server in modo da riavviarsi automaticamente (restart: always). È stata inoltre impostata una cartella nella root del file system per salvare i file, i salvataggi e i file di configurazione del server, consentendo così di modificare le risorse del server. In questo esempio, non sono state incluse le variabili per la connessione RCON, che permetterebbero di gestire il server tramite riga di comando.

version: '3.8'

services:

    factorio:
        image: factoriotools/factorio
        container_name: factorio
        restart: always
        ports:
            - "34197:34197/udp"
        environment:
            TZ: Europe/Rome
            FACTORIO_VERSION: latest
            FACTORIO_SERVER_NAME: "Factorio Super Server"
            FACTORIO_SERVER_DESCRIPTION: "La Descrizione del Server"
            FACTORIO_SERVER_VISIBILITY_PUBLIC: false
            FACTORIO_SERVER_REQUIRE_PASSWORD: true
            FACTORIO_SERVER_PASSWORD: ${FACTORIO_SERVER_PWD}
            FACTORIO_START_SERVER: true
            FACTORIO_MAX_PLAYERS: 10
            FACTORIO_AUTO_SAVE_INTERVAL: 300
            FACTORIO_AUTO_SAVE_SLOTS: 5
            FACTORIO_ENABLE_LATENCY_HIDE: false
            FACTORIO_PORT: 34197
            FACTORIO_GENERATE_NEW_MAP: false
        volumes:
            - ./factorio:/factorio

Per motivi di sicurezza, genereremo anche un file .env che servirà a gestire le password in modo sicuro. Seguendo l'esempio precedente, possiamo vedere qui sotto l'inserimento della password che potremmo utilizzare. La password presente è solo un esempio e consiglio di cambiarla per poter verificare chi accede al server.

<.env>
FACTORIO_SERVER_PWD=53cr3t-P4ss0Rd

Dettaglio dei Servizi

Per la gestione di questo server è necessario andare a d eseguire un deploy di un singolo servizio e nella parte di installazione, possiamo notare due caratteristiche importanti:

  • Avvio del Container: Essendo il container di supporto, la policy di riavvio (restart) è impostata su "always", in modo che il servizio possa riattivarsi automaticamente in caso di problemi.

  • Persistenza dei Dati: Per quanto riguarda i volumi, ne è presente solo uno, con lo scopo di rendere i dati persistenti.

Per quello hce riguarda le variabili per la sua configurazione, possiamo vedere una lista di questi elementi direttamente nella lista qui sotto:

Variabile Descrizione Valore
TZ Il fuso orario da utilizzare all'interno del contenitore Europe/Rome
FACTORIO_VERSION La versione di Factorio che viene utilizzata dagli utenti latest
FACTORIO_SERVER_NAME Il nome che si vuole dare al server Factorio Super Server
FACTORIO_SERVER_DESCRIPTION Una descrizione testuale che si vuole dare al server La Descrizione del Server
FACTORIO_SERVER_VISIBILITY_PUBLIC La specifica se il server Factorio deve essere elencato negli elenchi pubblici ufficiali false
FACTORIO_SERVER_REQUIRE_PASSWORD Specifica se una password è necessaria per entrare nel server true
FACTORIO_SERVER_PASSWORD La password necessaria per poter accedere al server 53cr3t-P4ss0Rd
FACTORIO_START_SERVER Indica se il server all'avvio del contenitore true
FACTORIO_MAX_PLAYERS Fissa il numero massimo di giocatori che possono connettersi 10
FACTORIO_AUTO_SAVE_INTERVAL L'intervallo di tempo (in secondi) tra i salvataggi automatici 300
FACTORIO_AUTO_SAVE_SLOTS Il numero di massimo di slot per i salvataggi automatici 5
FACTORIO_ENABLE_LATENCY_HIDE Spcificare se nascondere o meno la latenza dei giocatori false
FACTORIO_PORT La porta del server da usare per esporre il server 34197
FACTORIO_GENERATE_NEW_MAP Specifica se generare una nuova mappa ad ogni avvio del server false