Construis ton serveur, etape par etape
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
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'
}
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 })
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'
}
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.
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.
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.
Envoyer un message / demander une section
Cette page est statique (pas de back-end). Tu peux remplacer ce texte par tes liens Discord/Forum.