Come configurare un server FiveM su Linux: artifact, systemd e ufw
Esegui un server FiveM su Ubuntu o Debian: scarica l'artifact, estrailo, avvia run.sh con txAdmin o server.cfg, mantienilo attivo con screen o systemd, apri le porte con ufw.
Hai un VPS Linux (Ubuntu o Debian) e vuoi un server FiveM su di esso. Il processo è breve: ottieni i file del server, avviali, mantienili in esecuzione e apri le porte. Questa guida copre ogni passaggio con comandi che puoi copiare.
Prima di iniziare
Hai bisogno di una chiave di licenza da portal.cfx.re, vedi l'errore della chiave di licenza se non l'hai ancora creata. Installa gli strumenti che utilizzerai:
sudo apt update
sudo apt install -y wget git xz-utils screenCrea un utente separato, in modo che il server non venga eseguito come root:
sudo adduser fivem
sudo su - fivemTutto ciò che segue viene fatto come quell'utente.
Scarica l'artifact
Il programma del server ("artifact") per Linux viene da Cfx.re:
https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/Apri quella pagina, scegli la build consigliata e copia il link a fx.tar.xz. Poi:
mkdir -p ~/fivem/server
cd ~/fivem/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/<build>/fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xzSostituisci <build> con il percorso che hai copiato. Dopo l'estrazione dovresti vedere un run.sh nella cartella.
Ottieni i dati del server
I "dati del server" sono dove vivono il tuo server.cfg e le tue risorse. Le risorse di base Cfx.re sono su GitHub:
cd ~/fivem
git clone https://github.com/citizenfx/cfx-server-data.git server-dataCrea la configurazione in server-data/server.cfg:
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
sv_hostname "My FiveM server"
sv_maxclients 32
sv_licenseKey "cfxk_your_key_here"
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcapAvvialo: txAdmin o semplice
Con txAdmin (consigliato). Esegui run.sh senza argomenti. txAdmin si avvia, stampa un PIN e un indirizzo web, e finisci la configurazione nel browser sulla porta 40120:
cd ~/fivem/server
bash run.shtxAdmin mantiene i suoi dati in una cartella txData, solitamente nella cartella da cui l'hai avviato, quindi avvialo sempre dallo stesso posto. Nel pannello puoi usare una ricetta per distribuire un server di base, o indicargli la cartella server-data che hai clonato.
Senza txAdmin. Avvia dalla cartella server-data e passa la configurazione:
cd ~/fivem/server-data
bash ../server/run.sh +exec server.cfgOttieni la console semplice nel tuo terminale. Premi Ctrl+C per fermarla.
Se perdi la tua password di txAdmin più tardi, vedi password dimenticata di txAdmin.
Mantienilo in esecuzione con screen
Il modo veloce per mantenere il server attivo dopo la disconnessione da SSH è screen:
screen -S fivem
cd ~/fivem/server
bash run.shScollega con Ctrl+A, poi D. Il server continua a funzionare. Ricollega più tardi:
screen -r fivemFunziona, ma niente riavvia il server se la macchina si riavvia o il processo muore.
Mantienilo in esecuzione con systemd
Un servizio systemd avvia il server all'avvio e lo riavvia dopo un arresto anomalo. Crea il file come root (o con sudo):
sudo nano /etc/systemd/system/fivem.service[Unit]
Description=FiveM server
After=network.target
[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/fivem/server
ExecStart=/bin/bash /home/fivem/fivem/server/run.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetQuesto avvia txAdmin, che gestisce il server di gioco stesso. Poi abilitalo e avvialo:
sudo systemctl daemon-reload
sudo systemctl enable fivem
sudo systemctl start fivemComandi utili:
sudo systemctl status fivem
sudo journalctl -u fivem -f
sudo systemctl restart fivemLa riga journalctl mostra l'output live, dove leggi il PIN di txAdmin al primo avvio.
Suggerimento: con systemd non c'è una console interattiva. Eseguilo con txAdmin e usa la console live di txAdmin, che è il motivo per preferire txAdmin su Linux.
Apri le porte con ufw
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp
sudo ufw enableConsenti SSH prima di abilitare ufw, o ti bloccherai fuori. La regola 40120 è per txAdmin: se gestisci il server solo dal VPS tramite un tunnel SSH, puoi ometterla. Controlla anche il pannello firewall del tuo provider di hosting. Il controllo di rete completo, incluso il test con F8 connect, è in server FiveM non visibile: port forwarding e firewall.
Aggiornamento più tardi
Per aggiornare, ferma il servizio, sostituisci il contenuto di ~/fivem/server con un nuovo artifact, e avvialo di nuovo. Il tuo txData e server-data rimangono al loro posto. I dettagli sono in aggiornamento dei server FiveM artifacts.
Elenco di controllo
| Sintomo | Soluzione |
|---|---|
Nessun run.sh dopo il download |
Estrai con tar xf fx.tar.xz nella cartella del server |
| Ho bisogno del pannello txAdmin | Esegui bash run.sh senza argomenti, apri la porta 40120 |
| Avvia senza txAdmin | bash ../server/run.sh +exec server.cfg da server-data |
| Il server si ferma quando SSH chiude | Usa screen -S fivem o un servizio systemd |
| Dovrebbe avviarsi al boot | systemctl enable fivem |
| I giocatori non riescono a connettersi | Consenti 30120 tcp e udp in ufw e nel firewall dell'host |
Risposte rapide
Come eseguo un server FiveM su Linux?
Scarica l'artifact Linux da runtime.fivem.net, estrailo con tar xf fx.tar.xz, e avvia run.sh. Eseguilo senza argomenti per txAdmin, o con +exec server.cfg per avviare il server direttamente.
Come mantengo il server FiveM in esecuzione dopo aver chiuso SSH?
Eseguilo dentro screen o tmux, o meglio ancora, come servizio systemd che si avvia all'avvio e si riavvia dopo un arresto anomalo.
Dovrei eseguire FiveM come root?
No. Crea un utente normale per esso. Limita il danno se una risorsa è compromessa, e txAdmin stesso ti avvertirà quando viene eseguito come root.
Script senza questo problema
Mic PhoneUn telefono pieghevole che si apre in un tablet e arriva sul telefono vero del giocatore.Vedi script →
Advanced BoostingBoosting di veicoli dal tablet: contratti dalla classe D alla S+, crew e coda in tempo reale.Vedi script →
Crypto MiningCompra un magazzino, costruisci rig pezzo per pezzo e mina monete su un mercato che si muove.Vedi script →