Tira su il tuo primo server FiveM

Da zero a un server dove i tuoi amici possono entrare: artifact, licence key, server.cfg, la porta su cui inciampano tutti, e come chiuderlo prima di invitare qualcuno.

6 minuti di lettura

Questa è la strada più corta da zero a un server dove i tuoi amici possono entrare, con il ragionamento dietro ogni passo invece di una lista di comandi da incollare.

Metti in conto una quarantina di minuti. La maggior parte è download.

Tutto qui vale per FiveM Legacy. FiveM for GTAV Enhanced differisce su alcuni punti, segnalati man mano che saltano fuori.

Cosa ti serve prima

CosaPerché
Una copia di GTA VSolo per giocare. Il server in sé non ne ha bisogno.
Un account Cfx.rePer creare la licence key, gratis.
Windows o Linux2 core e 4 GB di RAM bastano per iniziare.
Una porta aperta30120 di default, TCP e UDP.

È su quest'ultima riga che muore la maggior parte dei primi tentativi, quindi ha una sua sezione più sotto.

1. Prendi i file del server

Il server si chiama FXServer. Scarica l'ultimo build consigliato dalla pagina degli artifact Cfx.re e mettilo in una cartella tutta sua, per esempio C:\FXServer\server.

Tieni i file del server e i tuoi dati in cartelle separate:

C:\FXServer\    server\          gli artifact, sostituiti a ogni aggiornamento    server-data\     le tue resource e il tuo server.cfg

Il motivo sono gli aggiornamenti. Quando esce un artifact nuovo cancelli server e scompatti quello nuovo. Se la tua cartella resources sta lì dentro, hai appena cancellato il tuo server.

2. Prendi la tua licence key

Vai su portal.cfx.re, accedi e crea una key. Ti chiede un indirizzo IP: usa la macchina che farà girare il server e scegli il tipo giusto, perché una key creata per l'IP sbagliato semplicemente si rifiuta di partire.

La key è un secret. Chiunque ce l'abbia può far girare un server a tuo nome e fartela revocare. Va nel server.cfg, e il server.cfg non finisce mai in un repository git pubblico.

3. Scrivi il server.cfg

È il file a cui è appeso tutto il resto. Invece di copiare quello di qualcun altro e chiederti cosa faccia metà della roba, costruiscine uno con il generatore di server.cfg: scrive le sezioni nell'ordine giusto, usa nomi di convar verificati sul riferimento dei comandi Cfx.re, e ti spiega ogni opzione mentre la imposti.

Le parti che contano su un primo server:

# Una riga per protocollo, entrambe sulla stessa porta.endpoint_add_tcp "0.0.0.0:30120"endpoint_add_udp "0.0.0.0:30120"# Da 32 slot in su serve onesync on o legacy; oltre 64 serve on.set onesync onsv_hostname "Il mio primo server"sv_maxClients 48# Questa la prendi da portal.cfx.resv_licenseKey changeme

L'ordine di caricamento non è decorazione

Le resource partono nell'ordine in cui sono elencate. Una resource che dipende da un'altra deve venire dopo:

ensure oxmysqlensure ox_libensure es_extendedensure my_own_script

Quasi ogni "attempted to index a nil value" su un server appena montato è un problema di ordine di caricamento, non uno script rotto.

4. Apri la porta, come si deve

FiveM ha bisogno di TCP e UDP sulla stessa porta. Aprire solo il TCP produce il sintomo più confuso di tutto l'hobby: il server compare nella tua lista, accetta la tua connessione e poi si pianta su "Connecting".

Ci sono tre posti diversi che possono bloccarla, e di solito vanno sistemati tutti e tre:

  1. Il firewall di Windows o ufw su Linux: consenti 30120 TCP e UDP in ingresso.
  2. Il tuo router, se la macchina è a casa: inoltra 30120 TCP e UDP all'IP locale della macchina.
  3. Il firewall del tuo host, se noleggi un VPS. Questo è un pannello web, non la macchina, ed è quello che tutti dimenticano.

Per capire se è davvero la porta, fai provare a connettersi a qualcuno mentre guardi la console del server. Se lì non compare assolutamente niente, il traffico non ti sta arrivando e il problema è di rete, non di config.

5. Avvialo

Dalla cartella server-data:

C:\FXServer\server\FXServer.exe +exec server.cfg

Su Linux:

bash /home/fivem/server/run.sh +exec server.cfg

Su Enhanced l'eseguibile è cfx-server.exe.

Un primo avvio sano stampa una riga che dice che il server è in ascolto, poi una lista di resource. Due errori sono abbastanza comuni da meritare un nome:

  • "Could not find licence key" significa che sv_licenseKey manca, è sbagliata o è legata a un altro IP.
  • "onesync is not enabled" con più di 32 slot significa che manca set onesync on.

6. Aggiungi un framework, oppure no

Non ti serve. Un framework ti dà job, soldi, inventario e un sistema di personaggi; senza, hai il free roam, che è un punto di partenza più che dignitoso.

Se ne vuoi uno, scegli un unico ecosistema e resta lì:

FrameworkCom'è
QboxMantenuto attivamente, Lua moderno, costruito su ox_lib e ox_inventory.
QBCoreCatalogo di script enorme, codebase più vecchia.
ESX LegacyIl più antico, ancora molto usato, la maggior parte degli script di terze parti punta a lui.

Mescolarli è il modo più comune di ritrovarsi con un server che nessuno riesce a debuggare. Qualunque tu scelga, il generatore di job e il generatore di item scrivono il formato corretto per tutti e tre.

7. Chiudilo prima di invitare qualcuno

Una configurazione di default non è una configurazione sicura.

# Blocca i file di gioco modificati. 2 blocca anche quelli sconosciuti.sv_pureLevel 1# Controlla cosa i client possono creare.sv_entityLockdown relaxed# Trainer e menu. Lascialo disattivato.sv_scriptHookAllowed false

Poi imposta i permessi di admin come si deve con il generatore di permessi ACE invece di dare group.admin a mano. E prima di installare anche una sola resource scaricata, leggi come riconoscere uno script con backdoor. Su un server pubblico è questione di quando, non di se.

Non impostare rcon_password se non usi davvero RCON. Una password non impostata è una cosa in meno che può fuoriuscire.

Dove andare dopo

Gli strumenti usati in questa guida