{"id":162266,"date":"2024-10-11T19:42:29","date_gmt":"2024-10-11T17:42:29","guid":{"rendered":"https:\/\/hifivem.com\/?p=162266"},"modified":"2026-08-16T13:43:33","modified_gmt":"2026-08-16T11:43:33","slug":"setting-up-fxmanifest-lua-fivem","status":"publish","type":"post","link":"https:\/\/fivemx.com\/nl\/setting-up-fxmanifest-lua-fivem\/","title":{"rendered":"Setting Up fxmanifest.lua for FiveM (Copy-Paste Examples)"},"content":{"rendered":"<p><strong>Snel antwoord:<\/strong> every FiveM resource needs an <code data-no-translation=\"\">fxmanifest.lua<\/code> file in the resource folder. It tells FXServer which game the resource supports, which scripts to load, and which files go to clients. Below are copy-paste examples for a standard script resource, shared\/client\/server scripts, NUI resources (<code data-no-translation=\"\">ui_page<\/code> + <code data-no-translation=\"\">files<\/code>), and maps (<code data-no-translation=\"\">this_is_a_map 'yes'<\/code> with ymap streams), plus fixes for common manifest errors.<\/p>\n<p><em>Laatst bijgewerkt: 25 juni 2026<\/em><\/p>\n<h2>Minimale fxmanifest.lua<\/h2>\n<pre data-no-translation=\"\"><code data-no-translation=\"\">fx_version 'cerulean'\ngame 'gta5'\n\nclient_script 'client.lua'\nserver_script 'server.lua'<\/code><\/pre>\n<p>De offici\u00eble documentatie van de resource manifesten van Cfx.re identificeert <code data-no-translation=\"\">fxmanifest.lua<\/code> als het huidige manifestbestand en merkt op dat oude <code data-no-translation=\"\">__resource.lua<\/code> manifests zijn verouderd. Gebruik <code data-no-translation=\"\">fx_version 'cerulean'<\/code> voor moderne FiveM resources, tenzij een resource-auteur een andere vereiste documenteert.<\/p>\n<h2>Complete example with metadata<\/h2>\n<pre data-no-translation=\"\"><code data-no-translation=\"\">fx_version 'cerulean'\ngame 'gta5'\n\nauthor 'Your Name'\ndescription 'Example FiveM resource'\nversion '1.0.0'\n\nlua54 'yes'\n\nshared_script 'config.lua'\nclient_script 'client.lua'\nserver_script 'server.lua'<\/code><\/pre>\n<p>De <code data-no-translation=\"\">author<\/code>, <code data-no-translation=\"\">description<\/code>, en <code data-no-translation=\"\">version<\/code> fields are metadata: they do not change how scripts run, but FXServer prints a console warning such as &#8220;version is required. please specify a version in your fxmanifest.lua.&#8221; when <code data-no-translation=\"\">version<\/code> is missing. Add a <code data-no-translation=\"\">version '1.0.0'<\/code> line to clear it. The optional <code data-no-translation=\"\">lua54 'yes'<\/code> line enables Lua 5.4 for the resource and is required by many current frameworks and libraries.<\/p>\n<h2>Client-, server- en gedeelde scripts<\/h2>\n<pre data-no-translation=\"\"><code data-no-translation=\"\">fx_version 'cerulean'\ngame 'gta5'\n\nshared_scripts {\n 'config.lua',\n '@ox_lib\/init.lua'\n}\n\nclient_scripts {\n 'client\/*.lua'\n}\n\nserver_scripts {\n '@oxmysql\/lib\/MySQL.lua',\n 'server\/*.lua'\n}<\/code><\/pre>\n<p>Gebruik <code data-no-translation=\"\">shared_scripts<\/code> alleen voor bestanden die aan beide kanten veilig zijn. Plaats geen servergeheimen, licentiesleutels, databasewachtwoorden of webhook-URL's in gedeelde bestanden.<\/p>\n<h2>NUI bronnenvoorbeeld<\/h2>\n<pre data-no-translation=\"\"><code data-no-translation=\"\">fx_version 'cerulean'\ngame 'gta5'\n\nui_page 'web\/index.html'\n\nfiles {\n 'web\/index.html',\n 'web\/style.css',\n 'web\/app.js'\n}\n\nclient_script 'client.lua'<\/code><\/pre>\n<p>Als een UI leeg is in het spel, controleer dan of elk HTML, CSS, JavaScript, lettertype en afbeeldingsbestand is vermeld onder <code data-no-translation=\"\">files<\/code>. Ontbrekende bestanden zijn een veelvoorkomende oorzaak van kapotte NUI schermen.<\/p>\n<h2>Voorbeeld van een Map of MLO resource<\/h2>\n<pre data-no-translation=\"\"><code data-no-translation=\"\">fx_version 'cerulean'\ngame 'gta5'\n\nthis_is_a_map 'yes'\n\nfiles {\n 'stream\/*.ymap',\n 'stream\/*.ytyp'\n}<\/code><\/pre>\n<p>Houd voor kaarten en interieurs gestreamde bestanden in een <code data-no-translation=\"\">stream<\/code> map en verifieer dat de bron zonder consolewaarschuwingen start. Als een kaart niet laadt, gebruik dan de FiveM console en txAdmin logs voordat u ongerelateerde bronnen bewerkt.<\/p>\n<h2>Veelgemaakte fouten<\/h2>\n<ul>\n<li>Gebruik van <code data-no-translation=\"\">__resource.lua<\/code> in een nieuwe resource.<\/li>\n<li>Plaatsen <code data-no-translation=\"\">server.lua<\/code> onder <code data-no-translation=\"\">client_scripts<\/code>.<\/li>\n<li>NUI bestanden vergeten onder <code data-no-translation=\"\">files<\/code>.<\/li>\n<li>Geheimen in de broncode plaatsen <code data-no-translation=\"\">shared_scripts<\/code>.<\/li>\n<li>Vooral mappen verkeerd spellen <code data-no-translation=\"\">client<\/code>, <code data-no-translation=\"\">server<\/code>, en <code data-no-translation=\"\">stream<\/code>.<\/li>\n<\/ul>\n<h2>Validatiechecklist<\/h2>\n<ol>\n<li>Resourcemap heeft <code data-no-translation=\"\">fxmanifest.lua<\/code> op het hoogste niveau.<\/li>\n<li><code data-no-translation=\"\">game 'gta5'<\/code> is aanwezig voor FiveM.<\/li>\n<li>Clientbestanden laden op de client, serverbestanden laden op de server.<\/li>\n<li>Elk NUI\/static-bestand staat vermeld onder <code data-no-translation=\"\">files<\/code>.<\/li>\n<li><code data-no-translation=\"\">server.cfg<\/code> bevat <code data-no-translation=\"\">ensure resource-name<\/code>.<\/li>\n<\/ol>\n<h2>Gerelateerde handleidingen<\/h2>\n<ul>\n<li><a href=\"https:\/\/fivemx.com\/nl\/introduction-lua-scripting\/\">Inleiding tot Lua-scripting voor FiveM<\/a><\/li>\n<li><a href=\"https:\/\/fivemx.com\/nl\/write-fivem-scripts-using-ai\/\">Hoe FiveM-scripts te schrijven met AI<\/a><\/li>\n<li><a href=\"https:\/\/fivemx.com\/nl\/how-to-check-txadmin-logs-for-errors\/\">Hoe txAdmin logs te controleren<\/a><\/li>\n<\/ul>\n<section data-fivemx-rework-extra=\"2026-06-25\">\n<h2>Afhankelijkheidsvolgorde in server.cfg<\/h2>\n<p>Het manifest vertelt FiveM welke bestanden bij een resource horen, maar <code data-no-translation=\"\">server.cfg<\/code> bepaalt nog steeds de startvolgorde. Start gedeelde bibliotheken en framework-afhankelijkheden v\u00f3\u00f3r resources die ze gebruiken.<\/p>\n<pre data-no-translation=\"\"><code data-no-translation=\"\">ensure oxmysql\nensure ox_lib\nensure qb-core\nensure my-script<\/code><\/pre>\n<p>Als een resource exportfouten geeft bij het opstarten, controleer dan of de afhankelijkheid is ge\u00efnstalleerd, correct is benoemd en is ingeschakeld v\u00f3\u00f3r het script dat deze aanroept.<\/p>\n<h2>Frameworkspecifieke opmerkingen<\/h2>\n<p>ESX-, QBCore- en Qbox-resources hebben vaak framework-imports, databasebibliotheken en configuratiebestanden nodig. Houd framework-instellingen in gedocumenteerde bestanden. Verberg geen belangrijke instellingen in willekeurige clientbestanden. Een schoon manifest maakt ondersteuning eenvoudiger omdat medewerkers elk bestand kunnen zien dat wordt geladen.<\/p>\n<h2>Controleer de checklist voordat je een script publiceert<\/h2>\n<ul>\n<li>Geen geheimen in gedeelde of clientbestanden.<\/li>\n<li>Geen ongebruikte testbestanden vermeld in het manifest.<\/li>\n<li>Alle NUI-assets vermeld onder <code data-no-translation=\"\">files<\/code>.<\/li>\n<li>Afhankelijkheden gedocumenteerd in de README of productbeschrijving.<\/li>\n<li>Resource start schoon na een volledige serverherstart.<\/li>\n<\/ul>\n<\/section>\n<section data-fivemx-quality-wave=\"2026-07-01:162266\">\n<h2>Volgorde van afhankelijkheden is nog steeds belangrijk<\/h2>\n<p>Het manifest vertelt FXServer welke bestanden bij een resource horen, maar <code data-no-translation=\"\">server.cfg<\/code> bepaalt nog steeds de startvolgorde. Start gedeelde bibliotheken, frameworks en databaseafhankelijkheden v\u00f3\u00f3r scripts die ernaar verwijzen. Als een resource exportfouten genereert bij het opstarten, controleer dan de afhankelijkheidsnaam en -volgorde voordat u het script zelf bewerkt.<\/p>\n<pre data-no-translation=\"\"><code data-no-translation=\"\">ensure oxmysql\nensure ox_lib\nensure qb-core\nensure my-script<\/code><\/pre>\n<h2>Beoordeel voordat u een bron verzendt<\/h2>\n<p>Controleer of clientbestanden geen geheimen bevatten, serverbestanden niet naar de client worden verzonden, NUI-assets worden vermeld onder <code data-no-translation=\"\">files<\/code>, en afhankelijkheden exact zo worden benoemd als ze zijn ge\u00efnstalleerd. Een werkend manifest moet de resource begrijpelijk maken voor een andere ontwikkelaar zonder elk Lua-bestand te openen.<\/p>\n<p>Als een script framework-exports, databasebibliotheken of gedeelde configuratie gebruikt, documenteer dit dan in de README of productnotities. De meeste installatieproblemen komen voort uit ontbrekende afhankelijkheden of een onjuiste startvolgorde, niet uit de manifestsyntaxis zelf.<\/p>\n<p>Na het bewerken van het manifest, herstart de volledige server eenmaal. Hot reloads kunnen ontbrekende bestanden of volgorde problemen verbergen die alleen verschijnen bij een schone opstart.<\/p>\n<p>Als de schone opstart mislukt, lees dan de eerste fout, niet de laatste reeks fouten nadat de afhankelijkheden al verbroken zijn.<\/p>\n<\/section>\n<section data-fivemx-layout-content-perfection=\"2026-07-11\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.fivemx.com\/wp-content\/uploads\/2026\/07\/162266-fxmanifest-anatomy.webp\" alt=\"fxmanifest.lua layers for metadata, scripts, dependencies and files\" width=\"1600\" height=\"900\" title=\"\"><figcaption>A resource manifest declares metadata, executable scripts, dependencies and packaged files.<\/figcaption><\/figure>\n<h2>Read an fxmanifest in four layers<\/h2>\n<ul>\n<li><strong>Metadata:<\/strong> declare the FX version, supported game and useful author, description and version details.<\/li>\n<li><strong>Scripts:<\/strong> separate client, server and shared execution deliberately; do not expose server-only logic to clients.<\/li>\n<li><strong>Afhankelijkheden:<\/strong> state resources or runtime constraints that must exist before this resource can run.<\/li>\n<li><strong>Bestanden:<\/strong> include NUI and data assets that clients need. Cfx.re notes that a local <code data-no-translation=\"\">ui_page<\/code> and its dependencies must be referenced in <code data-no-translation=\"\">files<\/code>.<\/li>\n<\/ul>\n<p>The manifest is semi-declarative Lua executed separately from the resource scripts. Keep it explicit, remove obsolete entries, and verify every referenced path on a case-sensitive production filesystem.<\/p>\n<p><a href=\"https:\/\/docs.fivem.net\/docs\/scripting-reference\/resource-manifest\/\" rel=\"nofollow noopener\" target=\"_blank\">Cfx.re resource-manifest reference<\/a><\/p>\n<\/section>\n<p><!-- fivemx-blog-portfolio-wave2:2026-08-09:setting-up-fxmanifest-lua-fivem --><\/p>\n<h2>Editorial review and source policy<\/h2>\n<p>The manifest examples were retained because they match the current Cfx.re resource-manifest model. The official manifest reference is the authority for directives, and deprecated <code data-no-translation=\"\">__resource.lua<\/code> examples must not be introduced.<\/p>","protected":false},"excerpt":{"rendered":"<p>Fast answer: every FiveM resource needs an fxmanifest.lua file in the resource folder. It tells FXServer which game the resource supports, which scripts to load, and which files go to clients. Below are copy-paste examples for a standard script resource, shared\/client\/server scripts, NUI resources (ui_page + files), and maps (this_is_a_map &#8216;yes&#8217; with ymap streams), plus [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":162267,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2340,1899],"tags":[3001],"class_list":["post-162266","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lua-scripting","category-tutorials","tag-fivem-script"],"_links":{"self":[{"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/posts\/162266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/comments?post=162266"}],"version-history":[{"count":7,"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/posts\/162266\/revisions"}],"predecessor-version":[{"id":217315,"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/posts\/162266\/revisions\/217315"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/media\/162267"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/media?parent=162266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/categories?post=162266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemx.com\/nl\/wp-json\/wp\/v2\/tags?post=162266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}