{"id":157927,"date":"2024-09-22T11:27:07","date_gmt":"2024-09-22T09:27:07","guid":{"rendered":"https:\/\/hifivem.com\/?p=157927"},"modified":"2026-07-23T09:28:35","modified_gmt":"2026-07-23T07:28:35","slug":"einrichten-von-qbcore-skripten","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/de\/setting-up-qbcore-scripts\/","title":{"rendered":"So installierst und testest du QBCore-Skripte"},"content":{"rendered":"<p>Richte QBCore-Skripte mit einem klaren Manifest und einer eindeutigen Abh\u00e4ngigkeitsliste ein. Teste vor dem Produktiveinsatz Konfiguration, Spracheinstellungen, Startreihenfolge und serverseitige Event-Pr\u00fcfungen.<\/p>\n<h2 id=\"declare-the-resource-boundary\">Deklariere die Ressourcengrenze<\/h2>\n<p>Lies Paket-README und Release Notes, bevor du etwas \u00e4nderst. \u00dcbernimm Ressourcenordner, Abh\u00e4ngigkeiten, Konfigurationspfade und m\u00f6gliche Datenbankmigrationen aus dieser Dokumentation und f\u00fchre nur dokumentierte Migrationen im Staging aus. Das folgende Manifest ist ein Strukturbeispiel und ersetzt die Paketanleitung nicht.<\/p>\n<pre data-no-translation=\"\" translate=\"no\"><code data-no-translation=\"\" translate=\"no\">fx_version 'cerulean'\ngame 'gta5'\n\ndependency 'qb-core'\nshared_script 'config.lua'\nshared_script 'locales\/en.lua'\nclient_script 'client\/main.lua'\nserver_script 'server\/main.lua'<\/code><\/pre>\n<h2 id=\"customize-configuration-and-locales-safely\">Passe Konfiguration und Locales sicher an<\/h2>\n<p>Pr\u00fcfe config.lua und mitgelieferte Locale-Dateien vor dem ersten Start. Halte serverspezifische Werte in der Konfiguration, \u00fcbernimm nur dokumentierte Locale-Keys und bewahre den Upstream-Standard als Vergleichspunkt. \u00dcbernimm eine \u00c4nderung nur, wenn eine Person daf\u00fcr verantwortlich ist, sie ein Upstream-Update ohne Core-Patch \u00fcbersteht und sie vor Production im Staging getestet wurde.<\/p>\n<h2 id=\"start-dependencies-first\">Starte Abh\u00e4ngigkeiten zuerst<\/h2>\n<p>Starte in server.cfg qb-core vor dem Skript, das davon abh\u00e4ngt. Installiere den Datenbankadapter, den deine genaue qb-core-Version ben\u00f6tigt, vor qb-core; der Upstream-Core deklariert oxmysql. Pr\u00fcfe zus\u00e4tzliche Ressourcenabh\u00e4ngigkeiten separat. Starte jede weitere dokumentierte Abh\u00e4ngigkeit zuerst und nutze ensure erst, nachdem du jeden Ressourcen-Ordnernamen \u00fcberpr\u00fcft hast.<\/p>\n<pre data-no-translation=\"\" translate=\"no\"><code data-no-translation=\"\" translate=\"no\">ensure qb-core\nensure your-resource<\/code><\/pre>\n<h2 id=\"validate-events-on-the-server\">Validiere Events auf dem Server<\/h2>\n<p>Behandle Client-Eingaben als nicht vertrauensw\u00fcrdig. Nutze Network-Events nur, wenn Daten zwischen Client- und Server-Kontext wechseln m\u00fcssen, und validiere Berechtigungen, Eigentum, Position, Inventar, Geld und Zustand mit serverseitigen Daten, bevor etwas Wertvolles ge\u00e4ndert wird. Lasse einen Client ohne Server-Pr\u00fcfungen keine Belohnung, keinen Preis, keinen Zielspieler und keine privilegierte Aktion w\u00e4hlen.<\/p>\n<h2 id=\"stage-every-change\">Teste jede \u00c4nderung im Staging<\/h2>\n<p>Nutze einen Staging-Server mit repr\u00e4sentativer Konfiguration und einer entbehrlichen Datenbank. Starte die Ressource aus einem sauberen Neustart, teste ihren Hauptspielerablauf mit einem autorisierten und einem nicht privilegierten Konto, pr\u00fcfe Serverfehler und wiederhole nach einem Ressourcen-Neustart. Halte vor Production exakte Version und Konfigurationsdelta fest.<\/p>\n<p>Prim\u00e4rquellen: aktueller qb-core-Quellcode, Cfx-Ressourcenmanifest-Dokumentation und Cfx-Leitfaden zur Serversicherheit.<\/p>\n<h2 id=\"reference-documentation\">Referenzdokumentation<\/h2>\n<p><a href=\"https:\/\/github.com\/qbcore-fivem\/qb-core\">Quelle: qbcore-fivem\/qb-core<\/a> \u00b7 <a href=\"https:\/\/docs.fivem.net\/docs\/scripting-reference\/resource-manifest\/\">Cfx.re \u2014 Ressourcenmanifest<\/a> \u00b7 <a href=\"https:\/\/docs.fivem.net\/docs\/developers\/server-security\/\">Cfx.re \u2014 Serversicherheit<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Richte QBCore-Skripte mit einem klaren Manifest und einer eindeutigen Abh\u00e4ngigkeitsliste ein. Teste vor dem Produktiveinsatz Konfiguration, Spracheinstellungen, Startreihenfolge und serverseitige Event-Pr\u00fcfungen.<\/p>","protected":false},"author":1,"featured_media":157928,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2877,1899],"tags":[3001,2859],"class_list":["post-157927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free-fivem-job-scripts","category-tutorials","tag-fivem-script","tag-qbcore"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts\/157927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/comments?post=157927"}],"version-history":[{"count":4,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts\/157927\/revisions"}],"predecessor-version":[{"id":214033,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts\/157927\/revisions\/214033"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/media\/157928"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/media?parent=157927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/categories?post=157927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/tags?post=157927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}