[{"data":1,"prerenderedAt":721},["ShallowReactive",2],{"/docs/jobs/firejob/setup/permissions":3,"/docs/jobs/firejob/setup/permissions-surround":709,"/docs/jobs/firejob/setup/permissions-implemented-suggestions":720},{"id":4,"title":5,"body":6,"description":699,"extension":700,"head":701,"implementedSuggestions":701,"meta":702,"navigation":703,"path":704,"schemaOrg":701,"seo":705,"sitemap":706,"stem":707,"__hash__":708},"docs/1.docs/0.jobs/3.firejob/2.setup/4.permissions.md","Permissions",{"type":7,"value":8,"toc":685},"minimark",[9,35,40,59,410,416,438,445,451,455,460,469,473,482,485,493,497,503,507,514,518,525,584,590,597,603,609,617,621,665,669,672,681],[10,11,12],"warning",{},[13,14,15,19,20,25,26,30,31,34],"p",{},[16,17,18],"strong",{},"Admin command not working?"," Make sure the ",[21,22,24],"a",{"href":23},"/docs/installation#permissions-bootstrap","bootstrap ACEs"," are present in your ",[27,28,29],"code",{},"server.cfg"," and your player is in ",[27,32,33],{},"group.admin",". Sky wires every per-command permission to ACE automatically.",[36,37,39],"h2",{"id":38},"how-sky-checks-command-permissions","How Sky checks command permissions",[13,41,42,43,46,47,50,51,54,55,58],{},"Administrator commands and protected features are gated by ",[27,44,45],{},"Config.CommandPermissions"," in ",[27,48,49],{},"sky_firejob/config/config.lua",". At server start, ",[27,52,53],{},"sky_base"," reads that table and emits one ",[27,56,57],{},"add_ace"," per command and group.",[60,61,66],"pre",{"className":62,"code":63,"filename":49,"language":64,"meta":65,"style":65},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Config.CommandPermissions = {\n    skyfire = { \"god\", \"superadmin\", \"admin\" },\n    skyfiremenu = { \"god\", \"superadmin\", \"admin\" },\n    skyfirestop = { \"god\", \"superadmin\", \"admin\" },\n    skyfirestopnear = { \"god\", \"superadmin\", \"admin\" },\n    skyfireclear = { \"god\", \"superadmin\", \"admin\" },\n    skyfirelist = { \"god\", \"superadmin\", \"admin\" },\n    skyfiredebug = { \"god\", \"superadmin\", \"admin\" },\n    skyfiredecal = { \"god\", \"superadmin\", \"admin\" },\n    skyfirescenariocreator = { \"god\", \"superadmin\", \"admin\" },\n}\n","lua","",[27,67,68,88,132,166,200,234,268,302,336,370,404],{"__ignoreMap":65},[69,70,73,77,81,85],"span",{"class":71,"line":72},"line",1,[69,74,76],{"class":75},"sTEyZ","Config.",[69,78,80],{"class":79},"sBMFI","CommandPermissions",[69,82,84],{"class":83},"sMK4o"," =",[69,86,87],{"class":75}," {\n",[69,89,91,94,97,100,103,107,109,112,114,117,119,121,123,126,129],{"class":71,"line":90},2,[69,92,93],{"class":75},"    skyfire ",[69,95,96],{"class":83},"=",[69,98,99],{"class":75}," { ",[69,101,102],{"class":83},"\"",[69,104,106],{"class":105},"sfazB","god",[69,108,102],{"class":83},[69,110,111],{"class":75},", ",[69,113,102],{"class":83},[69,115,116],{"class":105},"superadmin",[69,118,102],{"class":83},[69,120,111],{"class":75},[69,122,102],{"class":83},[69,124,125],{"class":105},"admin",[69,127,128],{"class":83},"\" ",[69,130,131],{"class":75},"},\n",[69,133,135,138,140,142,144,146,148,150,152,154,156,158,160,162,164],{"class":71,"line":134},3,[69,136,137],{"class":75},"    skyfiremenu ",[69,139,96],{"class":83},[69,141,99],{"class":75},[69,143,102],{"class":83},[69,145,106],{"class":105},[69,147,102],{"class":83},[69,149,111],{"class":75},[69,151,102],{"class":83},[69,153,116],{"class":105},[69,155,102],{"class":83},[69,157,111],{"class":75},[69,159,102],{"class":83},[69,161,125],{"class":105},[69,163,128],{"class":83},[69,165,131],{"class":75},[69,167,169,172,174,176,178,180,182,184,186,188,190,192,194,196,198],{"class":71,"line":168},4,[69,170,171],{"class":75},"    skyfirestop ",[69,173,96],{"class":83},[69,175,99],{"class":75},[69,177,102],{"class":83},[69,179,106],{"class":105},[69,181,102],{"class":83},[69,183,111],{"class":75},[69,185,102],{"class":83},[69,187,116],{"class":105},[69,189,102],{"class":83},[69,191,111],{"class":75},[69,193,102],{"class":83},[69,195,125],{"class":105},[69,197,128],{"class":83},[69,199,131],{"class":75},[69,201,203,206,208,210,212,214,216,218,220,222,224,226,228,230,232],{"class":71,"line":202},5,[69,204,205],{"class":75},"    skyfirestopnear ",[69,207,96],{"class":83},[69,209,99],{"class":75},[69,211,102],{"class":83},[69,213,106],{"class":105},[69,215,102],{"class":83},[69,217,111],{"class":75},[69,219,102],{"class":83},[69,221,116],{"class":105},[69,223,102],{"class":83},[69,225,111],{"class":75},[69,227,102],{"class":83},[69,229,125],{"class":105},[69,231,128],{"class":83},[69,233,131],{"class":75},[69,235,237,240,242,244,246,248,250,252,254,256,258,260,262,264,266],{"class":71,"line":236},6,[69,238,239],{"class":75},"    skyfireclear ",[69,241,96],{"class":83},[69,243,99],{"class":75},[69,245,102],{"class":83},[69,247,106],{"class":105},[69,249,102],{"class":83},[69,251,111],{"class":75},[69,253,102],{"class":83},[69,255,116],{"class":105},[69,257,102],{"class":83},[69,259,111],{"class":75},[69,261,102],{"class":83},[69,263,125],{"class":105},[69,265,128],{"class":83},[69,267,131],{"class":75},[69,269,271,274,276,278,280,282,284,286,288,290,292,294,296,298,300],{"class":71,"line":270},7,[69,272,273],{"class":75},"    skyfirelist ",[69,275,96],{"class":83},[69,277,99],{"class":75},[69,279,102],{"class":83},[69,281,106],{"class":105},[69,283,102],{"class":83},[69,285,111],{"class":75},[69,287,102],{"class":83},[69,289,116],{"class":105},[69,291,102],{"class":83},[69,293,111],{"class":75},[69,295,102],{"class":83},[69,297,125],{"class":105},[69,299,128],{"class":83},[69,301,131],{"class":75},[69,303,305,308,310,312,314,316,318,320,322,324,326,328,330,332,334],{"class":71,"line":304},8,[69,306,307],{"class":75},"    skyfiredebug ",[69,309,96],{"class":83},[69,311,99],{"class":75},[69,313,102],{"class":83},[69,315,106],{"class":105},[69,317,102],{"class":83},[69,319,111],{"class":75},[69,321,102],{"class":83},[69,323,116],{"class":105},[69,325,102],{"class":83},[69,327,111],{"class":75},[69,329,102],{"class":83},[69,331,125],{"class":105},[69,333,128],{"class":83},[69,335,131],{"class":75},[69,337,339,342,344,346,348,350,352,354,356,358,360,362,364,366,368],{"class":71,"line":338},9,[69,340,341],{"class":75},"    skyfiredecal ",[69,343,96],{"class":83},[69,345,99],{"class":75},[69,347,102],{"class":83},[69,349,106],{"class":105},[69,351,102],{"class":83},[69,353,111],{"class":75},[69,355,102],{"class":83},[69,357,116],{"class":105},[69,359,102],{"class":83},[69,361,111],{"class":75},[69,363,102],{"class":83},[69,365,125],{"class":105},[69,367,128],{"class":83},[69,369,131],{"class":75},[69,371,373,376,378,380,382,384,386,388,390,392,394,396,398,400,402],{"class":71,"line":372},10,[69,374,375],{"class":75},"    skyfirescenariocreator ",[69,377,96],{"class":83},[69,379,99],{"class":75},[69,381,102],{"class":83},[69,383,106],{"class":105},[69,385,102],{"class":83},[69,387,111],{"class":75},[69,389,102],{"class":83},[69,391,116],{"class":105},[69,393,102],{"class":83},[69,395,111],{"class":75},[69,397,102],{"class":83},[69,399,125],{"class":105},[69,401,128],{"class":83},[69,403,131],{"class":75},[69,405,407],{"class":71,"line":406},11,[69,408,409],{"class":75},"}\n",[13,411,412,413,415],{},"For the snippet above, ",[27,414,53],{}," creates permissions such as:",[60,417,421],{"className":418,"code":419,"language":420,"meta":65,"style":65},"language-cfg shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","add_ace group.god        sky_firejob.skyfire allow\nadd_ace group.superadmin sky_firejob.skyfire allow\nadd_ace group.admin      sky_firejob.skyfire allow\n","cfg",[27,422,423,428,433],{"__ignoreMap":65},[69,424,425],{"class":71,"line":72},[69,426,427],{},"add_ace group.god        sky_firejob.skyfire allow\n",[69,429,430],{"class":71,"line":90},[69,431,432],{},"add_ace group.superadmin sky_firejob.skyfire allow\n",[69,434,435],{"class":71,"line":134},[69,436,437],{},"add_ace group.admin      sky_firejob.skyfire allow\n",[13,439,440,441,444],{},"At runtime each command resolves with a single ",[27,442,443],{},"IsPlayerAceAllowed(src, \"sky_firejob.\u003Ccommand>\")",".",[13,446,447,448,450],{},"If a command is not listed in ",[27,449,45],{},", only the server console can use it.",[36,452,454],{"id":453},"framework-setup","Framework setup",[456,457,459],"h3",{"id":458},"qbox","QBox",[60,461,463],{"className":418,"code":462,"filename":29,"language":420,"meta":65,"style":65},"add_principal identifier.license:\u003Clicense> group.admin\n",[27,464,465],{"__ignoreMap":65},[69,466,467],{"class":71,"line":72},[69,468,462],{},[456,470,472],{"id":471},"qbcore","QBCore",[60,474,476],{"className":418,"code":475,"filename":29,"language":420,"meta":65,"style":65},"add_principal identifier.license:\u003Clicense> qbcore.admin\n",[27,477,478],{"__ignoreMap":65},[69,479,480],{"class":71,"line":72},[69,481,475],{},[13,483,484],{},"Or, if an existing administrator is already online:",[60,486,491],{"className":487,"code":489,"language":490,"meta":65},[488],"language-text","/addpermission 1 god\n","text",[27,492,489],{"__ignoreMap":65},[456,494,496],{"id":495},"esx-legacy","ESX Legacy",[60,498,501],{"className":499,"code":500,"language":490,"meta":65},[488],"/setgroup 1 admin\n",[27,502,500],{"__ignoreMap":65},[456,504,506],{"id":505},"vrp","vRP",[13,508,509,510,513],{},"Assign the player's group through your vRP admin tooling, then ensure the matching ",[27,511,512],{},"group.\u003Cname>"," principal is registered.",[36,515,517],{"id":516},"custom-groups","Custom groups",[13,519,520,521,524],{},"To allow another group such as ",[27,522,523],{},"supporter"," to use one command, add it to the relevant entry:",[60,526,528],{"className":62,"code":527,"filename":49,"language":64,"meta":65,"style":65},"Config.CommandPermissions = {\n    skyfire = { \"god\", \"superadmin\", \"admin\", \"supporter\" },\n}\n",[27,529,530,540,580],{"__ignoreMap":65},[69,531,532,534,536,538],{"class":71,"line":72},[69,533,76],{"class":75},[69,535,80],{"class":79},[69,537,84],{"class":83},[69,539,87],{"class":75},[69,541,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578],{"class":71,"line":90},[69,543,93],{"class":75},[69,545,96],{"class":83},[69,547,99],{"class":75},[69,549,102],{"class":83},[69,551,106],{"class":105},[69,553,102],{"class":83},[69,555,111],{"class":75},[69,557,102],{"class":83},[69,559,116],{"class":105},[69,561,102],{"class":83},[69,563,111],{"class":75},[69,565,102],{"class":83},[69,567,125],{"class":105},[69,569,102],{"class":83},[69,571,111],{"class":75},[69,573,102],{"class":83},[69,575,523],{"class":105},[69,577,128],{"class":83},[69,579,131],{"class":75},[69,581,582],{"class":71,"line":134},[69,583,409],{"class":75},[13,585,586,587,444],{},"Then grant the player the matching principal and restart ",[27,588,589],{},"sky_firejob",[36,591,593,594],{"id":592},"activating-boss-permissions-with-setboss","Activating boss permissions with ",[27,595,596],{},"/setboss",[13,598,599,600,602],{},"Once your admin group is set, run ",[27,601,596],{}," to grant every permission to a specific job grade:",[60,604,607],{"className":605,"code":606,"language":490,"meta":65},[488],"/setboss firefighter 4\n",[27,608,606],{"__ignoreMap":65},[13,610,611,612,616],{},"See the ",[21,613,615],{"href":614},"../reference/commands","Commands"," page for the full admin command list.",[36,618,620],{"id":619},"troubleshooting","Troubleshooting",[622,623,624,637,646,652],"accordion",{},[625,626,628],"accordion-item",{"label":627},"Command says 'No permission'",[13,629,630,631,633,634,636],{},"The player is not in any of the groups listed for that command in ",[27,632,45],{},", or the ",[21,635,24],{"href":23}," are missing.",[625,638,640],{"label":639},"I granted the group but still no access",[13,641,642,643,645],{},"The player must reconnect after the change. After ",[27,644,29],{}," edits, reload permissions or restart the server.",[625,647,649],{"label":648},"I added a custom group",[13,650,651],{},"Add the group string to the relevant command array, grant the matching principal, and restart the resource.",[625,653,655],{"label":654},"Unknown command: /setboss",[13,656,657,660,661,46,663,444],{},[27,658,659],{},"sky_jobs_base"," is not running. It must start before ",[27,662,589],{},[27,664,29],{},[36,666,668],{"id":667},"support","Support",[13,670,671],{},"Need help? Our support team is always ready to assist.",[673,674],"u-button",{"color":675,"icon":676,"label":677,"target":678,"to":679,"variant":680},"neutral","i-simple-icons-discord","Join Discord","_blank","https://discord.gg/sky-systems","subtle",[682,683,684],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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":65,"searchDepth":72,"depth":90,"links":686},[687,688,694,695,697,698],{"id":38,"depth":90,"text":39},{"id":453,"depth":90,"text":454,"children":689},[690,691,692,693],{"id":458,"depth":134,"text":459},{"id":471,"depth":134,"text":472},{"id":495,"depth":134,"text":496},{"id":505,"depth":134,"text":506},{"id":516,"depth":90,"text":517},{"id":592,"depth":90,"text":696},"Activating boss permissions with /setboss",{"id":619,"depth":90,"text":620},{"id":667,"depth":90,"text":668},"Configure ACE-backed administrator access for Sky Fire Job commands and protected features.","md",null,{},true,"/docs/jobs/firejob/setup/permissions",{"title":5,"description":699},{"loc":704},"1.docs/0.jobs/3.firejob/2.setup/4.permissions","oS8YQmTHB3qUZ02XGOuNAHy5HzZhOmcyTzA6580SVgc",[710,715],{"title":711,"path":712,"stem":713,"description":714,"children":-1},"Station Setup","/docs/jobs/firejob/setup/station-setup","1.docs/0.jobs/3.firejob/2.setup/3.station-setup","Prepare the firefighter station flow, job access, vehicles, storage, and operational points.",{"title":716,"path":717,"stem":718,"description":719,"children":-1},"Fire and Hose System","/docs/jobs/firejob/features/fire-and-hose-system","1.docs/0.jobs/3.firejob/3.features/1.fire-and-hose-system","Core firefighting gameplay, suppression flow, hose supply, and runtime fire behavior.",[],1783877502981]