Documentation FiveM (guides rapides)

Construis ton serveur, etape par etape

Du zero au ressource

Un mini site "docs" pour retrouver rapidement la structure d'un resource, la configuration via `fxmanifest.lua`, les bases client/serveur, et comment integrer une page NUI.

Creer un resource propre

Checklist rapide + exemple de structure de fichiers.

Pour ajouter un feature a ton serveur FiveM, tu crees un dossier "resource" dans ton repertoire `resources/`. Ensuite tu decris l'entrypoint et les fichiers a charger via `fxmanifest.lua`.

Exemple de structure :

resources/
  my_resource/
    fxmanifest.lua
    client/
      main.lua
    server/
      main.lua
1
cree le dossier
2
ecris `fxmanifest.lua`
3
mets tes scripts
4
demarre et teste

Declarer un resource

Le coeur de la configuration pour charger client/serveur.

`fx_version` indique la version FX framework. `game` definit les jeux compatibles. Les directives `client_scripts` et `server_scripts` listent les fichiers Lua cote client/serveur.

fx_version 'cerulean'
game 'gta5'

name 'my_resource'
description 'Mon resource - exemple'

version '1.0.0'

author 'ton pseudo'

client_scripts {
  'client/main.lua'
}

server_scripts {
  'server/main.lua'
}
client_scripts
cote joueurs (Lua)
server_scripts
cote serveur (Lua)
files
assets (si besoin)
ui_page
NUI (voir section)

Choisir la bonne separation

Client pour l'affichage, serveur pour la logique.

Communiquer sans se tirer une balle

Regle simple: logique serveur, rendu cote client.

Le client gere l'affichage (HUD, menus, effets). Le serveur gere la logique (controles, permissions, persistance, bases de donnees).

Exemple d'idee avec evenements (simplifie) :

-- server/main.lua
RegisterNetEvent('my_resource:doSomething', function(data)
  -- valider data cote serveur
  TriggerClientEvent('my_resource:cl:result', source, data)
end)

-- client/main.lua
TriggerServerEvent('my_resource:doSomething', { value = 123 })
Valider
toujours cote serveur
Minimiser
les donnees inutiles
Log
et surveiller `server console`
Decomposer
scripts par dossier

Brancher une interface web

Le duo `ui_page` + envoi/reception de messages.

Une NUI, c'est juste une page web (HTML/CSS/JS) que FiveM affiche. Dans `fxmanifest.lua`, tu declares l'entree avec `ui_page`.

ui_page 'web/index.html'

files {
  'web/index.html',
  'web/**/*'
}

client_scripts {
  'client/main.lua'
}
web/
ton dossier UI
Focus
quand l'UI est active
Messages
postMessage (cote navigateur)
Events
entre Lua et NUI

Questions frequentes

Quelques reponses typiques pour gagner du temps.

Pourquoi mon resource ne charge pas ?

Verifie `fxmanifest.lua` (fautes de chemin), puis regarde les logs de demarrage. Assure-toi que le dossier est dans `resources/` et que le resource est demarre.

logschemins

Client vs serveur: quelle logique ou ?

Le serveur valide et controle. Le client ne fait que l'UI et les effets cote joueur. Si tu fais de la securite cote client, tu perds vite.

securitevalider

NUI: pourquoi je ne vois rien ?

Verifie `ui_page` + les chemins dans `files`. Ouvre la page UI dans ton navigateur (en dev) pour confirmer que les assets sont bien charges.

ui_pageassets

Envoyer un message / demander une section

Cette page est statique (pas de back-end). Tu peux remplacer ce texte par tes liens Discord/Forum.