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
| Cosa | Perché |
|---|---|
| Una copia di GTA V | Solo per giocare. Il server in sé non ne ha bisogno. |
| Un account Cfx.re | Per creare la licence key, gratis. |
| Windows o Linux | 2 core e 4 GB di RAM bastano per iniziare. |
| Una porta aperta | 30120 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:
- Il firewall di Windows o
ufwsu Linux: consenti 30120 TCP e UDP in ingresso. - Il tuo router, se la macchina è a casa: inoltra 30120 TCP e UDP all'IP locale della macchina.
- 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_licenseKeymanca, è 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ì:
| Framework | Com'è |
|---|---|
| Qbox | Mantenuto attivamente, Lua moderno, costruito su ox_lib e ox_inventory. |
| QBCore | Catalogo di script enorme, codebase più vecchia. |
| ESX Legacy | Il 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
- Generatore di fxmanifest.lua quando scriverai la tua prima resource
- Generatore di resource per uno scheletro funzionante con i controlli lato server già al loro posto
- Sprite dei blip e modelli di veicolo, le due liste per cui terrai una tab aperta