[{"data":1,"prerenderedAt":1189},["ShallowReactive",2],{"/blog/fivem-framework-setup-de":3,"blog-post-metadata":1157},{"id":4,"title":5,"authors":6,"badge":12,"body":14,"date":1130,"description":1131,"extension":1132,"head":1133,"image":1145,"language":1143,"meta":1147,"navigation":374,"path":1148,"schemaOrg":1149,"seo":1152,"sitemap":1153,"stem":1154,"translationKey":1155,"__hash__":1156},"posts/3.blog/fivem-framework-setup-de.md","ESX, QBCore und Qbox: Framework einrichten und Jobs anlegen",[7],{"name":8,"to":9,"avatar":10},"Alec S.","/",{"src":11},"/web/pb3.webp",{"label":13},"Framework-Einrichtung",{"type":15,"value":16,"toc":1121},"minimark",[17,26,31,52,88,106,110,130,209,229,233,236,316,323,516,530,539,567,583,587,597,760,778,784,788,801,941,955,972,976,998,1005,1026,1037,1040,1094,1098,1111,1117],[18,19,20,21,25],"p",{},"Ein funktionierendes Framework ist die Grundlage deines FiveM-Servers. Bevor Garagen, Tablets oder Unternehmen dazukommen, sollten Charaktererstellung, Datenbank und Jobzuweisung laufen. Dieser Guide führt durch eine frische Installation und einen kleinen Beispieljob in ",[22,23,24],"strong",{},"ESX Legacy, QBCore oder Qbox",". Folge dem Abschnitt für dein Framework; alle drei gleichzeitig zu installieren gehört nicht zum Setup.",[27,28,30],"h2",{"id":29},"mit-einer-sauberen-installation-starten","Mit einer sauberen Installation starten",[18,32,33,34,37,38,45,46,51],{},"Du brauchst ein Cfx.re-Konto, einen Server-Registrierungsschlüssel, ein passendes FXServer-Artifact und einen laufenden ",[22,35,36],{},"MariaDB","-Dienst. Nutze eine Datenbankversion, die dein Framework unterstützt; Qbox verlangt ausdrücklich MariaDB und unterstützt weder MySQL noch XAMPP. Bei einem Gameserver-Hoster verwendest du dessen Server- und txAdmin-Verwaltung. Siehe die ",[39,40,44],"a",{"href":41,"rel":42},"https://docs.fivem.net/docs/server-manual/setting-up-a-server-txadmin/",[43],"nofollow","offizielle FiveM-Serveranleitung"," und die ",[39,47,50],{"href":48,"rel":49},"https://docs.qbox.re/installation",[43],"Qbox-Voraussetzungen",".",[53,54,55,59,79,82,85],"ol",{},[56,57,58],"li",{},"Öffne txAdmin und wähle eine neue Recipe-Installation in einem neuen Serverdaten-Verzeichnis.",[56,60,61,62,67,68,73,74,51],{},"Wähle die offizielle Recipe deines Frameworks: ",[39,63,66],{"href":64,"rel":65},"https://github.com/esx-framework/esx-recipes",[43],"ESX Legacy",", ",[39,69,72],{"href":70,"rel":71},"https://github.com/qbcore-fivem/txAdminRecipe",[43],"QBCore"," oder ",[39,75,78],{"href":76,"rel":77},"https://github.com/Qbox-project/txAdminRecipe",[43],"Qbox",[56,80,81],{},"Trage den Serverschlüssel und die richtigen MariaDB-Zugangsdaten ein. Verwende einen eigenen Datenbankbenutzer mit Zugriff auf die Datenbank dieses Servers.",[56,83,84],{},"Führe die Recipe aus, prüfe die erzeugte Konfiguration und starte den Server. Behalte die Abhängigkeiten und Ressourcen-Reihenfolge der Recipe bei.",[56,86,87],{},"Verbinde dich, erstelle einen Charakter und verbinde dich erneut. Prüfe zuerst, ob dein Charakter wieder geladen wird, bevor weitere Ressourcen dazukommen.",[18,89,90,91,67,96,101,102,51],{},"Recipes laden Ressourcen herunter und führen deren Installations-SQL aus. Importiere danach kein zweites vollständiges Framework-Schema und installiere keine frische Recipe über einen bestehenden Server. Sichere vor späteren Änderungen sowohl Dateien als auch Datenbank. Die einzelnen Installationsschritte findest du in der ",[39,92,95],{"href":93,"rel":94},"https://docs.esx-framework.org/en/tutorial/install",[43],"ESX-Installationsanleitung",[39,97,100],{"href":98,"rel":99},"https://qbcore.org/docs/guides/windows-installation",[43],"QBCore-Anleitung für Windows"," beziehungsweise ",[39,103,105],{"href":48,"rel":104},[43],"Qbox-Installationsanleitung",[27,107,109],{"id":108},"verstehen-woraus-ein-job-besteht","Verstehen, woraus ein Job besteht",[18,111,112,113,116,117,121,122,125,126,129],{},"Jeder Job hat einen ",[22,114,115],{},"internen Schlüssel",", einen Anzeigenamen und nummerierte Ränge. Wir verwenden durchgehend ",[118,119,120],"code",{},"sky_example"," mit den Rängen ",[118,123,124],{},"0"," und ",[118,127,128],{},"1",". Dieser Schlüssel muss im Framework, Jobskript und allen Integrationen identisch sein. Ein Label wie „Example Company“ ist lediglich der Name, den Spieler sehen.",[131,132,133,149],"table",{},[134,135,136],"thead",{},[137,138,139,143,146],"tr",{},[140,141,142],"th",{},"Framework",[140,144,145],{},"Jobdefinitionen",[140,147,148],{},"Rangschlüssel in diesem Guide",[150,151,152,173,191],"tbody",{},[137,153,154,157,166],{},[155,156,66],"td",{},[155,158,159,160,125,163],{},"MariaDB: ",[118,161,162],{},"jobs",[118,164,165],{},"job_grades",[155,167,168,169,67,171],{},"SQL-Werte ",[118,170,124],{},[118,172,128],{},[137,174,175,177,182],{},[155,176,72],{},[155,178,179],{},[118,180,181],{},"qb-core/shared/jobs.lua",[155,183,184,185,67,188],{},"Strings: ",[118,186,187],{},"['0']",[118,189,190],{},"['1']",[137,192,193,195,200],{},[155,194,78],{},[155,196,197],{},[118,198,199],{},"qbx_core/shared/jobs.lua",[155,201,202,203,67,206],{},"Zahlen: ",[118,204,205],{},"[0]",[118,207,208],{},"[1]",[18,210,211,212,217,218,223,224,51],{},"Durch die Registrierung kennt das Framework den Job. Für Spielmechaniken, Garagen, Lager, Bossmenüs und Geschäftskonten brauchst du eigene kompatible Ressourcen und deren Konfiguration. Ein Framework-Job ist noch kein fertiger Betrieb. Die Speicherorte entsprechen dem ",[39,213,216],{"href":214,"rel":215},"https://github.com/esx-framework/esx_core/blob/main/%5BSQL%5D/legacy.sql",[43],"ESX-Schema",", der ",[39,219,222],{"href":220,"rel":221},"https://github.com/qbcore-fivem/qb-core/blob/main/shared/jobs.lua",[43],"QBCore-Jobdatei"," und der ",[39,225,228],{"href":226,"rel":227},"https://github.com/Qbox-project/qbx_core/blob/main/shared/jobs.lua",[43],"Qbox-Jobdatei",[27,230,232],{"id":231},"esx-legacy-job-in-mariadb-anlegen","ESX Legacy: Job in MariaDB anlegen",[18,234,235],{},"Öffne die Datenbank, die für diesen Server konfiguriert ist, nicht die eines anderen Servers. Prüfe zunächst, ob der Beispielschlüssel bereits existiert:",[237,238,244],"pre",{"className":239,"code":240,"filename":241,"language":242,"meta":243,"style":243},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","SELECT name FROM jobs WHERE name = 'sky_example';\nSELECT grade FROM job_grades WHERE job_name = 'sky_example';\n","Check existing jobs","sql","",[118,245,246,286],{"__ignoreMap":243},[247,248,251,255,258,261,265,268,270,274,277,280,283],"span",{"class":249,"line":250},"line",1,[247,252,254],{"class":253},"sbssI","SELECT",[247,256,257],{"class":253}," name",[247,259,260],{"class":253}," FROM",[247,262,264],{"class":263},"sTEyZ"," jobs ",[247,266,267],{"class":253},"WHERE",[247,269,257],{"class":253},[247,271,273],{"class":272},"sMK4o"," =",[247,275,276],{"class":272}," '",[247,278,120],{"class":279},"sfazB",[247,281,282],{"class":272},"'",[247,284,285],{"class":263},";\n",[247,287,289,291,294,297,300,302,305,308,310,312,314],{"class":249,"line":288},2,[247,290,254],{"class":253},[247,292,293],{"class":263}," grade ",[247,295,296],{"class":253},"FROM",[247,298,299],{"class":263}," job_grades ",[247,301,267],{"class":253},[247,303,304],{"class":263}," job_name ",[247,306,307],{"class":272},"=",[247,309,276],{"class":272},[247,311,120],{"class":279},[247,313,282],{"class":272},[247,315,285],{"class":263},[18,317,318,319,322],{},"Führe die folgenden Inserts nur aus, wenn ",[22,320,321],{},"beide Prüfungen keine Zeilen liefern",". Existiert der Job bereits, prüfe und bearbeite seine vorhandenen Einträge, statt Duplikate einzufügen.",[237,324,327],{"className":239,"code":325,"filename":326,"language":242,"meta":243,"style":243},"INSERT INTO jobs (name, label)\nVALUES ('sky_example', 'Example Company');\n\nINSERT INTO job_grades\n    (job_name, grade, name, label, salary, skin_male, skin_female)\nVALUES\n    ('sky_example', 0, 'employee', 'Employee', 100, '{}', '{}'),\n    ('sky_example', 1, 'boss', 'Manager', 200, '{}', '{}');\n","Create the example job",[118,328,329,343,369,376,384,395,401,460],{"__ignoreMap":243},[247,330,331,334,337,340],{"class":249,"line":250},[247,332,333],{"class":253},"INSERT INTO",[247,335,336],{"class":263}," jobs (",[247,338,339],{"class":253},"name",[247,341,342],{"class":263},", label)\n",[247,344,345,348,351,353,355,357,359,361,364,366],{"class":249,"line":288},[247,346,347],{"class":253},"VALUES",[247,349,350],{"class":263}," (",[247,352,282],{"class":272},[247,354,120],{"class":279},[247,356,282],{"class":272},[247,358,67],{"class":263},[247,360,282],{"class":272},[247,362,363],{"class":279},"Example Company",[247,365,282],{"class":272},[247,367,368],{"class":263},");\n",[247,370,372],{"class":249,"line":371},3,[247,373,375],{"emptyLinePlaceholder":374},true,"\n",[247,377,379,381],{"class":249,"line":378},4,[247,380,333],{"class":253},[247,382,383],{"class":263}," job_grades\n",[247,385,387,390,392],{"class":249,"line":386},5,[247,388,389],{"class":263},"    (job_name, grade, ",[247,391,339],{"class":253},[247,393,394],{"class":263},", label, salary, skin_male, skin_female)\n",[247,396,398],{"class":249,"line":397},6,[247,399,400],{"class":253},"VALUES\n",[247,402,404,407,409,411,413,415,417,419,421,424,426,428,430,433,435,437,440,442,444,447,449,451,453,455,457],{"class":249,"line":403},7,[247,405,406],{"class":263},"    (",[247,408,282],{"class":272},[247,410,120],{"class":279},[247,412,282],{"class":272},[247,414,67],{"class":263},[247,416,124],{"class":253},[247,418,67],{"class":263},[247,420,282],{"class":272},[247,422,423],{"class":279},"employee",[247,425,282],{"class":272},[247,427,67],{"class":263},[247,429,282],{"class":272},[247,431,432],{"class":279},"Employee",[247,434,282],{"class":272},[247,436,67],{"class":263},[247,438,439],{"class":253},"100",[247,441,67],{"class":263},[247,443,282],{"class":272},[247,445,446],{"class":279},"{}",[247,448,282],{"class":272},[247,450,67],{"class":263},[247,452,282],{"class":272},[247,454,446],{"class":279},[247,456,282],{"class":272},[247,458,459],{"class":263},"),\n",[247,461,463,465,467,469,471,473,475,477,479,482,484,486,488,491,493,495,498,500,502,504,506,508,510,512,514],{"class":249,"line":462},8,[247,464,406],{"class":263},[247,466,282],{"class":272},[247,468,120],{"class":279},[247,470,282],{"class":272},[247,472,67],{"class":263},[247,474,128],{"class":253},[247,476,67],{"class":263},[247,478,282],{"class":272},[247,480,481],{"class":279},"boss",[247,483,282],{"class":272},[247,485,67],{"class":263},[247,487,282],{"class":272},[247,489,490],{"class":279},"Manager",[247,492,282],{"class":272},[247,494,67],{"class":263},[247,496,497],{"class":253},"200",[247,499,67],{"class":263},[247,501,282],{"class":272},[247,503,446],{"class":279},[247,505,282],{"class":272},[247,507,67],{"class":263},[247,509,282],{"class":272},[247,511,446],{"class":279},[247,513,282],{"class":272},[247,515,368],{"class":263},[18,517,518,521,522,525,526,529],{},[118,519,520],{},"job_name"," ordnet jeden Rang seinem Job zu. Die Spalte ",[118,523,524],{},"grade"," bestimmt den Rang für die Jobzuweisung; die automatische Zeilen-ID ",[118,527,528],{},"id"," ist nicht der Rang. Jobs ohne Ränge werden ignoriert. Lade den Jobkatalog über die Serverkonsole neu:",[237,531,537],{"className":532,"code":534,"filename":535,"language":536,"meta":243},[533],"language-text","refreshjobs\n","Server console","text",[118,538,534],{"__ignoreMap":243},[18,540,541,542,545,546,549,550,553,554,556,557,45,562,51],{},"Aktuelles ESX Legacy startet ",[118,543,544],{},"oxmysql",", danach ",[118,547,548],{},"esx_lib"," und anschließend ",[118,551,552],{},"es_extended","; in älteren Tutorials fehlt ",[118,555,548],{}," teilweise. Behalte die Abhängigkeiten deiner Recipe bei. Siehe die ",[39,558,561],{"href":559,"rel":560},"https://github.com/esx-framework/esx-recipes/blob/legacy/server.cfg",[43],"aktuelle Recipe-Konfiguration",[39,563,566],{"href":564,"rel":565},"https://github.com/esx-framework/esx_core/blob/main/%5Bcore%5D/es_extended/server/modules/jobs/registry.lua",[43],"Implementierung des Jobkatalogs",[18,568,569,570,573,574,576,577,582],{},"Bei einer Integration mit ",[118,571,572],{},"esx_society"," wird der interne Rangname ",[118,575,481],{}," von dessen Standardkonfiguration als Boss erkannt. Der sichtbare Titel „Manager“ allein vergibt keine Rechte. Society-Registrierung, Konten und Startreihenfolge bleiben eigene Einrichtungsschritte. Folge der ",[39,578,581],{"href":579,"rel":580},"https://docs.esx-framework.org/en/esx_addons/esx_society",[43],"Society-Dokumentation",", wenn dein Jobskript diese Integration verwendet.",[27,584,586],{"id":585},"qbcore-eintrag-in-der-jobtabelle-ergänzen","QBCore: Eintrag in der Jobtabelle ergänzen",[18,588,589,590,592,593,596],{},"Öffne ",[118,591,181],{},". Füge den Eintrag ",[22,594,595],{},"innerhalb der vorhandenen Jobtabelle"," neben den anderen Jobs und vor deren schließender Klammer ein. Behalte die vorhandene Tabellendeklaration und alle bestehenden Jobs bei; dieses Beispiel ist ein Eintrag, keine Ersatzdatei.",[237,598,602],{"className":599,"code":600,"filename":181,"language":601,"meta":243,"style":243},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","['sky_example'] = {\n    label = 'Example Company',\n    defaultDuty = false,\n    offDutyPay = false,\n    grades = {\n        ['0'] = { name = 'Employee', payment = 100 },\n        ['1'] = { name = 'Manager', payment = 200, isboss = true },\n    },\n},\n","lua",[118,603,604,623,639,651,662,671,708,749,754],{"__ignoreMap":243},[247,605,606,609,611,613,615,618,620],{"class":249,"line":250},[247,607,608],{"class":263},"[",[247,610,282],{"class":272},[247,612,120],{"class":279},[247,614,282],{"class":272},[247,616,617],{"class":263},"] ",[247,619,307],{"class":272},[247,621,622],{"class":263}," {\n",[247,624,625,628,630,632,634,636],{"class":249,"line":288},[247,626,627],{"class":263},"    label ",[247,629,307],{"class":272},[247,631,276],{"class":272},[247,633,363],{"class":279},[247,635,282],{"class":272},[247,637,638],{"class":263},",\n",[247,640,641,644,646,649],{"class":249,"line":371},[247,642,643],{"class":263},"    defaultDuty ",[247,645,307],{"class":272},[247,647,648],{"class":272}," false",[247,650,638],{"class":263},[247,652,653,656,658,660],{"class":249,"line":378},[247,654,655],{"class":263},"    offDutyPay ",[247,657,307],{"class":272},[247,659,648],{"class":272},[247,661,638],{"class":263},[247,663,664,667,669],{"class":249,"line":386},[247,665,666],{"class":263},"    grades ",[247,668,307],{"class":272},[247,670,622],{"class":263},[247,672,673,676,678,680,682,684,686,689,691,693,695,697,700,702,705],{"class":249,"line":397},[247,674,675],{"class":263},"        [",[247,677,282],{"class":272},[247,679,124],{"class":279},[247,681,282],{"class":272},[247,683,617],{"class":263},[247,685,307],{"class":272},[247,687,688],{"class":263}," { name ",[247,690,307],{"class":272},[247,692,276],{"class":272},[247,694,432],{"class":279},[247,696,282],{"class":272},[247,698,699],{"class":263},", payment ",[247,701,307],{"class":272},[247,703,704],{"class":253}," 100",[247,706,707],{"class":263}," },\n",[247,709,710,712,714,716,718,720,722,724,726,728,730,732,734,736,739,742,744,747],{"class":249,"line":403},[247,711,675],{"class":263},[247,713,282],{"class":272},[247,715,128],{"class":279},[247,717,282],{"class":272},[247,719,617],{"class":263},[247,721,307],{"class":272},[247,723,688],{"class":263},[247,725,307],{"class":272},[247,727,276],{"class":272},[247,729,490],{"class":279},[247,731,282],{"class":272},[247,733,699],{"class":263},[247,735,307],{"class":272},[247,737,738],{"class":253}," 200",[247,740,741],{"class":263},", isboss ",[247,743,307],{"class":272},[247,745,746],{"class":272}," true",[247,748,707],{"class":263},[247,750,751],{"class":249,"line":462},[247,752,753],{"class":263},"    },\n",[247,755,757],{"class":249,"line":756},9,[247,758,759],{"class":263},"},\n",[18,761,762,763,770,771,773,774,777],{},"Behalte die Rangschlüssel als Strings bei, auch Rang null. Prüfe Kommas und Klammern an den benachbarten Einträgen, speichere und führe dann einen geplanten vollständigen Serverneustart durch. So laden abhängige Ressourcen dieselben Definitionen. Der FiveM-Befehl ",[39,764,767],{"href":765,"rel":766},"https://docs.fivem.net/docs/server-manual/server-commands/#refresh",[43],[118,768,769],{},"refresh"," scannt Ressourcen und Manifeste neu; er lädt keine laufende Lua-Jobtabelle neu. Lege für QBCore keine ESX-artigen ",[118,772,162],{},"-SQL-Einträge an. Seine ",[39,775,145],{"href":220,"rel":776},[43]," stehen in Lua; Charakterdaten verwenden weiterhin die Datenbank.",[18,779,780,783],{},[118,781,782],{},"isboss"," kennzeichnet den Leitungsrang; dadurch erhältst du keine Framework-Adminrechte für Befehle. Eine kompatible Verwaltungsressource muss das eigentliche Menü und dessen Position trotzdem bereitstellen und konfigurieren.",[27,785,787],{"id":786},"qbox-eigene-jobdatei-und-numerische-ränge-verwenden","Qbox: Eigene Jobdatei und numerische Ränge verwenden",[18,789,589,790,792,793,800],{},[118,791,199],{}," und füge diesen Eintrag ",[22,794,795,796,799],{},"innerhalb der von ",[118,797,798],{},"return { ... }"," zurückgegebenen Tabelle"," vor der letzten schließenden Klammer ein. Behalte die anderen Einträge bei. Qbox verwendet hier numerische Rangschlüssel; übernimm QBCores String-Schlüssel daher nicht unverändert.",[237,802,804],{"className":599,"code":803,"filename":199,"language":601,"meta":243,"style":243},"['sky_example'] = {\n    label = 'Example Company',\n    defaultDuty = false,\n    offDutyPay = false,\n    grades = {\n        [0] = { name = 'Employee', payment = 100 },\n        [1] = { name = 'Manager', payment = 200, isboss = true, bankAuth = true },\n    },\n},\n",[118,805,806,822,836,846,856,864,892,933,937],{"__ignoreMap":243},[247,807,808,810,812,814,816,818,820],{"class":249,"line":250},[247,809,608],{"class":263},[247,811,282],{"class":272},[247,813,120],{"class":279},[247,815,282],{"class":272},[247,817,617],{"class":263},[247,819,307],{"class":272},[247,821,622],{"class":263},[247,823,824,826,828,830,832,834],{"class":249,"line":288},[247,825,627],{"class":263},[247,827,307],{"class":272},[247,829,276],{"class":272},[247,831,363],{"class":279},[247,833,282],{"class":272},[247,835,638],{"class":263},[247,837,838,840,842,844],{"class":249,"line":371},[247,839,643],{"class":263},[247,841,307],{"class":272},[247,843,648],{"class":272},[247,845,638],{"class":263},[247,847,848,850,852,854],{"class":249,"line":378},[247,849,655],{"class":263},[247,851,307],{"class":272},[247,853,648],{"class":272},[247,855,638],{"class":263},[247,857,858,860,862],{"class":249,"line":386},[247,859,666],{"class":263},[247,861,307],{"class":272},[247,863,622],{"class":263},[247,865,866,868,870,872,874,876,878,880,882,884,886,888,890],{"class":249,"line":397},[247,867,675],{"class":263},[247,869,124],{"class":253},[247,871,617],{"class":263},[247,873,307],{"class":272},[247,875,688],{"class":263},[247,877,307],{"class":272},[247,879,276],{"class":272},[247,881,432],{"class":279},[247,883,282],{"class":272},[247,885,699],{"class":263},[247,887,307],{"class":272},[247,889,704],{"class":253},[247,891,707],{"class":263},[247,893,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,927,929,931],{"class":249,"line":403},[247,895,675],{"class":263},[247,897,128],{"class":253},[247,899,617],{"class":263},[247,901,307],{"class":272},[247,903,688],{"class":263},[247,905,307],{"class":272},[247,907,276],{"class":272},[247,909,490],{"class":279},[247,911,282],{"class":272},[247,913,699],{"class":263},[247,915,307],{"class":272},[247,917,738],{"class":253},[247,919,741],{"class":263},[247,921,307],{"class":272},[247,923,746],{"class":272},[247,925,926],{"class":263},", bankAuth ",[247,928,307],{"class":272},[247,930,746],{"class":272},[247,932,707],{"class":263},[247,934,935],{"class":249,"line":462},[247,936,753],{"class":263},[247,938,939],{"class":249,"line":756},[247,940,759],{"class":263},[18,942,943,944,947,948,950,951,51],{},"Speichere und führe einen geplanten vollständigen Serverneustart durch. ",[118,945,946],{},"bankAuth"," ist von ",[118,949,782],{}," getrennt und wird von kompatiblen Banking-Integrationen verwendet; keines der Flags erstellt ein Konto oder Menü. Orientiere dich an den ",[39,952,954],{"href":226,"rel":953},[43],"offiziellen Qbox-Jobdefinitionen",[18,956,957,958,961,962,125,967,51],{},"Qbox enthält ein Multijob-System. Das Joblimit und die Frage, ob ",[118,959,960],{},"/setjob"," eine Mitgliedschaft ersetzt oder hinzufügt, sind konfigurierbar. Nutze bei mehreren Jobs die dafür vorgesehenen Verwaltungsbefehle; setze nicht voraus, dass ein externes QBCore-Multijob-Skript kompatibel ist. Siehe die ",[39,963,966],{"href":964,"rel":965},"https://docs.qbox.re/resources/qbx_core/commands",[43],"Qbox-Befehle",[39,968,971],{"href":969,"rel":970},"https://docs.qbox.re/resources/qbx_core/convars",[43],"Multijob-Konfiguration",[27,973,975],{"id":974},"zuweisen-testen-und-erneut-verbinden","Zuweisen, testen und erneut verbinden",[18,977,978,979,982,983,986,987,989,990,993,994,997],{},"Verbinde dich mit einem Testcharakter und verwende einen Account mit den erforderlichen Framework-/ACE-Befehlsrechten. Ein txAdmin-Login allein vergibt diese Rechte nicht. Ist bei Qbox ",[118,980,981],{},"requireOptIn"," aktiviert, verwende vor Adminbefehlen ",[118,984,985],{},"/optin",". Ersetze ",[118,988,128],{}," unten durch die ",[22,991,992],{},"aktuelle Server-ID deines verbundenen Testcharakters","; ",[118,995,996],{},"/job"," zeigt den Job des Spielers an, der den Befehl eingibt:",[237,999,1003],{"className":1000,"code":1001,"filename":1002,"language":536,"meta":243},[533],"/setjob 1 sky_example 0\n/job\n/setjob 1 sky_example 1\n/job\n","In-game chat",[118,1004,1001],{"__ignoreMap":243},[18,1006,1007,1008,67,1013,125,1017,1020,1021,51],{},"Prüfe, ob bei beiden Rängen der erwartete Job und Rang angezeigt werden. Die Zuweisungssyntax ist für ",[39,1009,1012],{"href":1010,"rel":1011},"https://docs.esx-framework.org/en/esx_core/es_extended/commands",[43],"ESX",[39,1014,72],{"href":1015,"rel":1016},"https://github.com/qbcore-fivem/qb-core/blob/main/server/commands.lua",[43],[39,1018,78],{"href":964,"rel":1019},[43]," dokumentiert; die bedingte Opt-in-Prüfung steht in der ",[39,1022,1025],{"href":1023,"rel":1024},"https://github.com/Qbox-project/qbx_core/blob/main/server/commands.lua",[43],"Qbox-Befehlsimplementierung",[18,1027,1028,1029,1032,1033,1036],{},"Bei QBCore und Qbox startet dieses Beispiel außer Dienst und deaktiviert Zahlungen außerhalb des Dienstes. Nutze den Dienstwechsel deines installierten Jobskripts; einen universellen ",[118,1030,1031],{},"/duty","-Befehl darfst du nicht voraussetzen. Einstellungen beim Login beeinflussen außerdem, ob der gespeicherte Dienststatus oder ",[118,1034,1035],{},"defaultDuty"," gilt. Verbinde dich anschließend erneut und prüfe den gespeicherten Job, Rang und gewünschten Dienststatus.",[18,1038,1039],{},"Bevor du den Job für Spieler öffnest, teste seine Rechte mit beiden Rängen. Ein Mitarbeiter sollte keine Funktionen verwenden können, die der Leitung vorbehalten sind. Warte auf dein eingestelltes Gehaltsintervall, statt direkt nach der Zuweisung eine Zahlung zu erwarten; die Beispielbeträge sind Platzhalter für deine Wirtschaft. Schlägt eine Prüfung fehl, lies den ersten passenden Konsolenfehler und behebe ihn, bevor eine weitere Ressource dazukommt.",[131,1041,1042,1052],{},[134,1043,1044],{},[137,1045,1046,1049],{},[140,1047,1048],{},"Symptom",[140,1050,1051],{},"Zuerst prüfen",[150,1053,1054,1062,1070,1078,1086],{},[137,1055,1056,1059],{},[155,1057,1058],{},"Job lässt sich nicht zuweisen",[155,1060,1061],{},"Exakter Schlüssel, vorhandener Rang und geladene Definitionen",[137,1063,1064,1067],{},[155,1065,1066],{},"Befehl verweigert",[155,1068,1069],{},"Framework-Rechte und ACE-Konfiguration",[137,1071,1072,1075],{},[155,1073,1074],{},"Ressource startet nach Lua-Änderung nicht",[155,1076,1077],{},"Erster Konsolenfehler, Kommas und Klammern",[137,1079,1080,1083],{},[155,1081,1082],{},"Richtiger Job, aber kein Menü",[155,1084,1085],{},"Jobressource, konfigurierte Position, Rang und Dienststatus",[137,1087,1088,1091],{},[155,1089,1090],{},"Falsche Gehaltszahlung",[155,1092,1093],{},"Ranggehalt, Dienstregeln und Gehalts-/Kontokonfiguration",[27,1095,1097],{"id":1096},"deinen-sky-job-anschließend-verbinden","Deinen Sky-Job anschließend verbinden",[18,1099,1100,1101,1105,1106,1110],{},"Sobald die Framework-Zuweisung funktioniert, folge der ",[39,1102,1104],{"href":1103},"/docs/installation","Sky-Installationsanleitung"," und konfiguriere deine installierte Jobressource mit demselben Framework-Schlüssel und den passenden Rängen. Die ",[39,1107,1109],{"href":1108},"/docs/base/jobs-base/features","gemeinsamen Jobs-Base-Funktionen"," erklären die jeweiligen gemeinsamen Einstellungen. Richte ein Off-Duty-Jobpaar nur ein, wenn dein gewähltes Sky-Setup eines verwendet, und lege beide Jobs mit allen benötigten Rängen an.",[18,1112,1113,1116],{},[22,1114,1115],{},"Zuletzt geprüft: 25. Oktober 2026."," Die Quellen oben sind die offiziellen Framework-Dokumentationen, gepflegten Recipes und GitHub-Implementierungen. Prüfe deine installierte Version, bevor du Beispiele aus einer neueren Veröffentlichung übernimmst.",[1118,1119,1120],"style",{},"html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":243,"searchDepth":250,"depth":288,"links":1122},[1123,1124,1125,1126,1127,1128,1129],{"id":29,"depth":288,"text":30},{"id":108,"depth":288,"text":109},{"id":231,"depth":288,"text":232},{"id":585,"depth":288,"text":586},{"id":786,"depth":288,"text":787},{"id":974,"depth":288,"text":975},{"id":1096,"depth":288,"text":1097},"2026-10-25T00:00:00.000Z","Der praktische FiveM-Einstieg: Framework installieren, Jobs und Ränge richtig anlegen, Dienststatus und Bossrechte verstehen und gespeicherte Daten prüfen.","md",{"script":1134},[1135],{"type":1136,"key":1137,"data-nuxt-schema-org":374,"nodes":1138},"application/ld+json","schema-org-graph",[1139],{"headline":5,"author":1140,"datePublished":1142,"inLanguage":1143,"@type":1144},{"name":8,"@type":1141},"Person","2026-10-25","de","BlogPosting",{"src":1146},"/blog/framework-setup-esx-qbcore-qbox.webp",{},"/blog/fivem-framework-setup-de",[1150],{"headline":5,"author":1151,"datePublished":1142,"inLanguage":1143,"@type":1144},{"name":8,"@type":1141},{"title":5,"description":1131},{"loc":1148},"3.blog/fivem-framework-setup-de","fivem-framework-setup","AOsuizo689hwsxS5gpOUD3uu8HjqYWSwisXzSV6wDLw",[1158,1163,1164,1170,1175,1180,1185],{"title":1159,"description":1160,"path":1161,"date":1130,"language":1162,"translationKey":1155},"ESX, QBCore and Qbox: Set Up Your Framework and Create Jobs","A practical FiveM starter guide: install your framework, create jobs and grades correctly, understand duty and boss access, and check that everything saves.","/blog/fivem-framework-setup","en",{"title":5,"description":1131,"path":1148,"date":1130,"language":1143,"translationKey":1155},{"title":1165,"description":1166,"path":1167,"date":1168,"language":1169,"translationKey":1169},"FiveM Screen Effects List – All GTA V Post FX with Examples (2026)","Complete FiveM screen effects list with preview images and ready-to-copy StartScreenEffect examples. Covers all GTA V post-processing FX, usage tips, performance notes, and best practices for FiveM servers.","/blog/fivem_screen_effects","2026-01-08T00:00:00.000Z",null,{"title":1171,"description":1172,"path":1173,"date":1174,"language":1169,"translationKey":1169},"Using GitHub Desktop to Simplify FiveM Updates and Spot Every Change","A no-command-line guide for FiveM server owners: use GitHub Desktop to see exactly what changed in an update, keep your own config edits, and roll back instantly when something breaks.","/blog/git_for_server_updates","2026-06-15T00:00:00.000Z",{"title":1176,"description":1177,"path":1178,"date":1179,"language":1169,"translationKey":1169},"Why All-in-One Police Systems for FiveM Are More Cost-Effective","A practical market price check for FiveM police systems. We compare the cost of buying similar police features individually versus choosing one integrated package, using a regular lifetime price of EUR 80 as the benchmark.","/blog/price_check","2026-04-01T00:00:00.000Z",{"title":1181,"description":1182,"path":1183,"date":1184,"language":1169,"translationKey":1169},"How to Update FiveM Server Artifacts in 2025 (Easy Step-by-Step Guide)","Learn how to safely update your FiveM server artifacts with this up-to-date guide. Improve server stability, access new features, and stay secure in 2025.","/blog/update_artifacts","2025-07-21T00:00:00.000Z",{"title":1186,"description":1187,"path":1188,"date":1130,"language":1169,"translationKey":1169},"How to Sync Windows Server Time for the Sky Mission Hub","Sync the Windows clock on your FiveM server, verify the time source, and fix Mission Hub requests rejected because their timestamp is out of date.","/blog/windows-server-time-sync",1792936612341]