Every /firsthour subcommand for players and admins, with permissions and console support.
FirstHour has one command, /firsthour, with the alias /fh. Using it at all needs firsthour.use, which everyone has by default./firsthour help (or any unknown subcommand) lists the commands. Admins with firsthour.admin see the admin list.
Player commands
Command
Permission
Console
What it does
/firsthour
firsthour.use
Prints help
Your current goal, its hint, and the time to your next timed reward
/firsthour skip
firsthour.skip
No
Skip the new-player goals. This also ends your timed and come-back rewards
/firsthour greet <player>
firsthour.veteran
No
Greet a new player for a reward. PRO
/firsthour pro
firsthour.use
Yes
What PRO adds, with a link. On PRO, confirms everything is unlocked
/firsthour help
firsthour.use
Yes
The command list
/firsthour start is what the chat welcome’s [Start] button runs. It shows your current goal with a title and a sound. You don’t need to type it.What /firsthour replies with depends on where you are:
On the path: Goal 2/6 │ Craft a crafting table, then the hint
Finished: You finished every goal.
Skipped, or a veteran from before FirstHour: You skipped the new-player goals.
No path for you: There are no goals for you right now.
Admin commands
All admin commands need firsthour.admin (op by default).
Command
Console
What it does
/firsthour stats
Yes
Open the retention menu and print the chat summary. The console gets the chat summary
/firsthour stats chat
Yes
The chat summary only
/firsthour stats cohorts
Yes
The last 14 join dates: new players, Day-1, Day-7, finished. PRO
/firsthour stats export
Yes
Write the last 30 days to a CSV in plugins/FirstHour/exports/. PRO
/firsthour preset <name>
Yes
Replace paths.yml with survival, economysmp or lifesteal, keeping the old file as paths.yml.bak. Economy SMP and Lifesteal are PRO
/firsthour reset <player>
Yes
Wipe a player’s FirstHour data. Online players start over as brand-new players
/firsthour reload
Yes
Reload config.yml, messages.yml and paths.yml
stats
See Retention dashboard for what each number means. On Lite, cohorts and export reply that they’re PRO features.
preset
/firsthour preset economysmp
Replies with the step count, the backup file name and the warning count. See Presets.
reset
/firsthour reset <player> deletes the player’s row in players.db.
Online players start over at once as brand-new players: welcome screen, path, step rewards, timed and come-back rewards. Use this to test the new-player flow on your own account.
Offline players are looked up by the last name FirstHour saw. On their next join, FirstHour treats them like a player it has never seen, so the veteran rule applies: with 30 or more minutes of playtime, they come back as a veteran. Reset them while they’re online to give them the path again.
A player who starts over counts as a new player again in your stats, from the moment they restart.
reload
Reloads config.yml, messages.yml and paths.yml, then re-checks every online player against the new paths. Bad values fall back to their defaults. If anything was rejected, chat says Reloaded with N warning(s); see the console./firsthour reload does not re-check the PRO licence key. Change the key, then restart.
Tab completion
Players see skip, greet, pro and help. Admins also see stats, reset, reload and preset, plus preset names, stats views and player names.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Baconz Plugins","colors":{"primary":"#3b82f6","light":"#60a5fa","dark":"#2563eb"},"logo":{"light":"https://mintcdn.com/mbcz/pW1QC8DNZmc-lHy6/logo/logo.png?fit=max\u0026auto=format\u0026n=pW1QC8DNZmc-lHy6\u0026q=85\u0026s=b0dc190c4ff6372d2327e17433d42c84","dark":"https://mintcdn.com/mbcz/pW1QC8DNZmc-lHy6/logo/logo.png?fit=max\u0026auto=format\u0026n=pW1QC8DNZmc-lHy6\u0026q=85\u0026s=b0dc190c4ff6372d2327e17433d42c84"},"favicon":"https://mintcdn.com/mbcz/Th-Nqtp8RL3Hvoc2/favicon.ico?fit=max\u0026auto=format\u0026n=Th-Nqtp8RL3Hvoc2\u0026q=85\u0026s=cf0046569e9c64f4c21b65b2b5cb5247","styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mbcz","hasAudioNarration":false,"actualSubdomain":"mbcz","customDomains":[],"gitSource":{"type":"github","owner":"mattbaconz","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6af849cd7fd385b08ebc7235","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"Usage","count":63},{"language":"default","tag":"Features","count":51},{"language":"default","tag":"General","count":45},{"language":"default","tag":"3TSpawner","count":16},{"language":"default","tag":"Rep","count":16},{"language":"default","tag":"Raid Bases","count":15},{"language":"default","tag":"Smply","count":15},{"language":"default","tag":"Stonkz SMP","count":15},{"language":"default","tag":"Gamesmith","count":14},{"language":"default","tag":"FirstHour","count":13}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"firsthour/commands","slug":"/firsthour/commands","pageMetadata":{"title":"Commands","description":"Every /firsthour subcommand for players and admins, with permissions and console support.","href":"/firsthour/commands"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Every /firsthour subcommand for players and admins, with permissions and console support.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`FirstHour has one command, `,_jsx(_components.code,{children:`/firsthour`}),`, with the alias `,_jsx(_components.code,{children:`/fh`}),`. Using it at all needs `,_jsx(_components.code,{children:`firsthour.use`}),`, which everyone has by default.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/firsthour help`}),` (or any unknown subcommand) lists the commands. Admins with `,_jsx(_components.code,{children:`firsthour.admin`}),` see the admin list.`]}),`\n`,_jsx(Heading,{level:`2`,id:`player-commands`,children:`Player commands`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Command`}),_jsx(_components.th,{children:`Permission`}),_jsx(_components.th,{children:`Console`}),_jsx(_components.th,{children:`What it does`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`firsthour.use`})}),_jsx(_components.td,{children:`Prints help`}),_jsx(_components.td,{children:`Your current goal, its hint, and the time to your next timed reward`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour skip`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`firsthour.skip`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Skip the new-player goals. This also ends your timed and come-back rewards`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour greet \u003cplayer>`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`firsthour.veteran`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`Greet a new player for a reward. `,_jsx(_components.strong,{children:`PRO`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour pro`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`firsthour.use`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`What PRO adds, with a link. On PRO, confirms everything is unlocked`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour help`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`firsthour.use`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`The command list`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/firsthour start`}),` is what the chat welcome’s `,_jsx(_components.strong,{children:`[Start]`}),` button runs. It shows your current goal with a title and a sound. You don’t need to type it.`]}),`\n`,_jsxs(_components.p,{children:[`What `,_jsx(_components.code,{children:`/firsthour`}),` replies with depends on where you are:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`On the path: `,_jsx(_components.code,{children:`Goal 2/6 │ Craft a crafting table`}),`, then the hint`]}),`\n`,_jsxs(_components.li,{children:[`Finished: `,_jsx(_components.code,{children:`You finished every goal.`})]}),`\n`,_jsxs(_components.li,{children:[`Skipped, or a veteran from before FirstHour: `,_jsx(_components.code,{children:`You skipped the new-player goals.`})]}),`\n`,_jsxs(_components.li,{children:[`No path for you: `,_jsx(_components.code,{children:`There are no goals for you right now.`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`admin-commands`,children:`Admin commands`}),`\n`,_jsxs(_components.p,{children:[`All admin commands need `,_jsx(_components.code,{children:`firsthour.admin`}),` (op by default).`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Command`}),_jsx(_components.th,{children:`Console`}),_jsx(_components.th,{children:`What it does`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour stats`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Open the retention menu and print the chat summary. The console gets the chat summary`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour stats chat`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`The chat summary only`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour stats cohorts`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The last 14 join dates: new players, Day-1, Day-7, finished. `,_jsx(_components.strong,{children:`PRO`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour stats export`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`Write the last 30 days to a CSV in `,_jsx(_components.code,{children:`plugins/FirstHour/exports/`}),`. `,_jsx(_components.strong,{children:`PRO`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour preset \u003cname>`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`Replace `,_jsx(_components.code,{children:`paths.yml`}),` with `,_jsx(_components.code,{children:`survival`}),`, `,_jsx(_components.code,{children:`economysmp`}),` or `,_jsx(_components.code,{children:`lifesteal`}),`, keeping the old file as `,_jsx(_components.code,{children:`paths.yml.bak`}),`. Economy SMP and Lifesteal are `,_jsx(_components.strong,{children:`PRO`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour reset \u003cplayer>`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Wipe a player’s FirstHour data. Online players start over as brand-new players`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`/firsthour reload`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`Reload `,_jsx(_components.code,{children:`config.yml`}),`, `,_jsx(_components.code,{children:`messages.yml`}),` and `,_jsx(_components.code,{children:`paths.yml`})]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`stats`,children:`stats`}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/firsthour/dashboard`,children:`Retention dashboard`}),` for what each number means. On Lite, `,_jsx(_components.code,{children:`cohorts`}),` and `,_jsx(_components.code,{children:`export`}),` reply that they’re PRO features.`]}),`\n`,_jsx(Heading,{level:`3`,id:`preset`,children:`preset`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/firsthour preset economysmp`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Replies with the step count, the backup file name and the warning count. See `,_jsx(_components.a,{href:`/firsthour/paths#presets`,children:`Presets`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`reset`,children:`reset`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/firsthour reset \u003cplayer>`}),` deletes the player’s row in `,_jsx(_components.code,{children:`players.db`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Online players`}),` start over at once as brand-new players: welcome screen, path, step rewards, timed and come-back rewards. Use this to test the new-player flow on your own account.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Offline players`}),` are looked up by the last name FirstHour saw. On their next join, FirstHour treats them like a player it has never seen, so the `,_jsx(_components.a,{href:`/firsthour/configuration#new-players`,children:`veteran rule`}),` applies: with 30 or more minutes of playtime, they come back as a veteran. Reset them while they’re online to give them the path again.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`A player who starts over counts as a new player again in your stats, from the moment they restart.`})}),`\n`,_jsx(Heading,{level:`3`,id:`reload`,children:`reload`}),`\n`,_jsxs(_components.p,{children:[`Reloads `,_jsx(_components.code,{children:`config.yml`}),`, `,_jsx(_components.code,{children:`messages.yml`}),` and `,_jsx(_components.code,{children:`paths.yml`}),`, then re-checks every online player against the new paths. Bad values fall back to their defaults. If anything was rejected, chat says `,_jsx(_components.code,{children:`Reloaded with N warning(s); see the console.`})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/firsthour reload`}),` does not re-check the PRO licence key. Change the key, then restart.`]}),`\n`,_jsx(Heading,{level:`2`,id:`tab-completion`,children:`Tab completion`}),`\n`,_jsxs(_components.p,{children:[`Players see `,_jsx(_components.code,{children:`skip`}),`, `,_jsx(_components.code,{children:`greet`}),`, `,_jsx(_components.code,{children:`pro`}),` and `,_jsx(_components.code,{children:`help`}),`. Admins also see `,_jsx(_components.code,{children:`stats`}),`, `,_jsx(_components.code,{children:`reset`}),`, `,_jsx(_components.code,{children:`reload`}),` and `,_jsx(_components.code,{children:`preset`}),`, plus preset names, `,_jsx(_components.code,{children:`stats`}),` views and player names.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Commands","description":"Every /firsthour subcommand for players and admins, with permissions and console support.","href":"/firsthour/commands"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Player commands","slug":"player-commands","depth":2,"children":[]},{"title":"Admin commands","slug":"admin-commands","depth":2,"children":[{"title":"stats","slug":"stats","depth":3,"children":[]},{"title":"preset","slug":"preset","depth":3,"children":[]},{"title":"reset","slug":"reset","depth":3,"children":[]},{"title":"reload","slug":"reload","depth":3,"children":[]}]},{"title":"Tab completion","slug":"tab-completion","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"mbcz","siteName":"Baconz Plugins","title":"Commands - Baconz Plugins","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-14T11:45:24.208Z","originalFileLocation":"firsthour/commands.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Every /firsthour subcommand for players and admins, with permissions and console support.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Baconz Plugins\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Commands - Baconz Plugins\">\u003cmeta data-mint-head property=\"og:description\" content=\"Every /firsthour subcommand for players and admins, with permissions and console support.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Baconz Plugins\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://mbcz.mintlify.app/firsthour/commands\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mbcz.mintlify.site/_mintlify/api/og/v2?division=Usage\u0026amp;title=Commands\u0026amp;description=Every+%2Ffirsthour+subcommand+for+players+and+admins%2C+with+permissions+and+console+support.\u0026amp;theme=0d7afe4f472d524efd1d92d4\u0026amp;signature=63a1d77195b84d5b5c57ce2ae6a92d81e5b35332477baddd6fac30f4341c8c55\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Commands - Baconz Plugins\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Every /firsthour subcommand for players and admins, with permissions and console support.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mbcz.mintlify.site/_mintlify/api/og/v2?division=Usage\u0026amp;title=Commands\u0026amp;description=Every+%2Ffirsthour+subcommand+for+players+and+admins%2C+with+permissions+and+console+support.\u0026amp;theme=0d7afe4f472d524efd1d92d4\u0026amp;signature=63a1d77195b84d5b5c57ce2ae6a92d81e5b35332477baddd6fac30f4341c8c55\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/mbcz/gdW_OlqrEQxHvC4X/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Baconz Plugins\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3b82f6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://mbcz.mintlify.app/firsthour/commands\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/firsthour/commands.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://mbcz.mintlify.app/#organization\",\"name\":\"Baconz Plugins\",\"url\":\"https://mbcz.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mbcz/pW1QC8DNZmc-lHy6/logo/logo.png?fit=max\u0026auto=format\u0026n=pW1QC8DNZmc-lHy6\u0026q=85\u0026s=b0dc190c4ff6372d2327e17433d42c84\"}},{\"@type\":\"WebSite\",\"@id\":\"https://mbcz.mintlify.app#website\",\"name\":\"Baconz Plugins\",\"url\":\"https://mbcz.mintlify.app\",\"publisher\":{\"@id\":\"https://mbcz.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://mbcz.mintlify.app/firsthour/commands#webpage\",\"url\":\"https://mbcz.mintlify.app/firsthour/commands\",\"name\":\"Commands\",\"description\":\"Every /firsthour subcommand for players and admins, with permissions and console support.\",\"dateModified\":\"2026-11-14T11:45:24.208Z\",\"isPartOf\":{\"@id\":\"https://mbcz.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://mbcz.mintlify.app/firsthour/commands#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://mbcz.mintlify.app/firsthour/commands#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Baconz Plugins\",\"item\":\"https://mbcz.mintlify.app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Commands\",\"item\":\"https://mbcz.mintlify.app/firsthour/commands\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://mbcz.mintlify.app/firsthour/commands#article\",\"headline\":\"Commands\",\"name\":\"Commands\",\"description\":\"Every /firsthour subcommand for players and admins, with permissions and console support.\",\"url\":\"https://mbcz.mintlify.app/firsthour/commands\",\"mainEntityOfPage\":{\"@id\":\"https://mbcz.mintlify.app/firsthour/commands#webpage\"},\"dateModified\":\"2026-11-14T11:45:24.208Z\",\"publisher\":{\"@id\":\"https://mbcz.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://mbcz.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Baconz Plugins\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Baconz Plugins\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/firsthour/commands.md","siteName":"Baconz Plugins","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"SeasonManager","pages":[{"title":"SeasonManager","href":"/seasonmanager"}]},{"tab":"Pyramid","pages":[{"title":"Pyramid","href":"/pyramid"}]},{"tab":"Evolve+","pages":[{"title":"Evolve+","href":"/evolveplus"}]},{"tab":"OmniSync","pages":[{"title":"OmniSync","href":"/omnisync"}]},{"tab":"Pledge","pages":[{"title":"Pledge","href":"/pledge"}]},{"tab":"Rep","pages":[{"title":"Rep","href":"/rep"}]},{"tab":"3TSpawner","pages":[{"title":"3TSpawner","href":"/3tspawner"}]},{"tab":"Smply","pages":[{"title":"Smply","href":"/smply"}]},{"tab":"CauseChain","pages":[{"title":"CauseChain","href":"/causechain"}]},{"tab":"Halt","pages":[{"title":"Halt","href":"/halt"}]},{"tab":"Relics SMP","pages":[{"title":"Relics SMP","href":"/relics-smp"}]},{"tab":"FirstHour","groups":[{"group":"General","pages":[{"title":"FirstHour","href":"/firsthour"},{"title":"Installation","href":"/firsthour/installation"},{"title":"Lite vs PRO","href":"/firsthour/lite-vs-pro"},{"title":"FAQ","description":"Live servers, veterans, Vault, networks, resets, the welcome screen, licence keys and versions.","href":"/firsthour/faq"}]},{"group":"Usage","pages":[{"title":"Commands","href":"/firsthour/commands"},{"title":"Permissions","description":"The four FirstHour permission nodes, their defaults, and what each one unlocks.","href":"/firsthour/permissions"},{"title":"Configuration","href":"/firsthour/configuration"},{"title":"Placeholders","href":"/firsthour/placeholders"}]},{"group":"Features","pages":[{"title":"Welcome and goals","href":"/firsthour/welcome-and-goals"},{"title":"Paths and step types","href":"/firsthour/paths"},{"title":"Rewards","href":"/firsthour/rewards"},{"title":"Veterans say hi","href":"/firsthour/veterans"},{"title":"Retention dashboard","href":"/firsthour/dashboard"}]}]},{"tab":"Gamesmith","pages":[{"title":"Gamesmith","href":"/gamesmith"}]},{"tab":"Raid Bases","pages":[{"title":"Raid Bases","href":"/raidbases"}]},{"tab":"Stonkz SMP","pages":[{"title":"Stonkz SMP","href":"/stonkz-smp"}]}]},"basePath":"","title":"Commands - Baconz Plugins","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":[],"chunks":[]}