Delete the old vetra-framework folder. Do not leave it beside the new one, under any name.
If more than one copy of vetra-framework is in garrysmod/addons/, the framework does not
start at all, and the server console names every copy it found and the version each one
declares:
[Vetra] ERROR boot: 2 copies of Vetra Framework are installed, so none of them was started.[Vetra] addons/vetra-framework 1.0.0 (API 1)[Vetra] addons/vetra-framework-old 0.9.0 (API 1)[Vetra] Keep the one folder you mean to run, normally the newest, delete the others, and restart the server.[Vetra] Vetra Blueprints and every other Vetra product stay stopped until then. Your data in garrysmod/data/vetra/ is untouched.
It prints this when the server starts and again once the map has loaded. Until you fix it,
Blueprints does not open and its commands, vetra_license_status included, do not exist.It refuses rather than picking one because Garry’s Mod merges every addon into one file
system: two copies are two copies of the same files, and no copy can prove that the files it
would load are its own. Quietly running the wrong mix would be worse than not running.Delete the extra folder and restart. Nothing else is needed.
Should still say ONLINE, with no reactivation and no new slot consumed.Open Blueprints and check the Adapters screen: every adapter you expect should be listed
and available.
An adapter records, in every Version, the format of the data it was writing. When something
later wants to act on a historical Version, Blueprints checks that the installed build of
that adapter can still read that format.If it cannot, that domain is blocked in the plan with a message naming both numbers,
rather than being interpreted incorrectly. The Version itself is never altered and never
loses records.This applies to third-party adapters as much as to the ones Vetra ships. See
Compatibility and data versions if you maintain one.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Vetra","description":"Documentation for the Vetra suite of Garry's Mod addons. Vetra Blueprints versions, migrates and deploys a server's managed setup, and the Adapter SDK lets any addon take part.","colors":{"primary":"#8fa343","light":"#c5e258","dark":"#8fa343"},"logo":{"light":"https://mintcdn.com/vetra/aE1YWFG_rv2nLo9f/logo/light.svg?fit=max\u0026auto=format\u0026n=aE1YWFG_rv2nLo9f\u0026q=85\u0026s=8badc512ca33228edb6d702138d0bb4a","dark":"https://mintcdn.com/vetra/aE1YWFG_rv2nLo9f/logo/dark.svg?fit=max\u0026auto=format\u0026n=aE1YWFG_rv2nLo9f\u0026q=85\u0026s=72230eb900ca97d5dfdf75675bb036d8","href":"/"},"favicon":"https://mintcdn.com/vetra/aE1YWFG_rv2nLo9f/favicon.svg?fit=max\u0026auto=format\u0026n=aE1YWFG_rv2nLo9f\u0026q=85\u0026s=747c5fa33d0dc6bf8a4ec7755955a8ee","appearance":{"default":"dark"},"navbar":{"links":[{"href":"/sdk/overview","label":"Adapter SDK"}],"primary":{"type":"button","label":"Install Blueprints","href":"/blueprints/installation"}},"footer":{"links":[{"header":"Blueprints","items":[{"label":"Overview","href":"/blueprints/overview"},{"label":"Installation","href":"/blueprints/installation"},{"label":"Supported objects","href":"/blueprints/supported-objects"}]},{"header":"Developers","items":[{"label":"Adapter SDK","href":"/sdk/overview"},{"label":"Quickstart","href":"/sdk/quickstart"},{"label":"API reference","href":"/sdk/api-reference"}]},{"header":"Support","items":[{"label":"Troubleshooting","href":"/support/troubleshooting"},{"label":"Licensing","href":"/support/licensing"},{"label":"Get help","href":"/support/getting-support"}]}]},"search":{"prompt":"Search the Vetra documentation"},"seo":{"metatags":{"og:site_name":"Vetra Documentation","og:type":"website","twitter:card":"summary_large_image"},"indexing":"all"},"fonts":{"heading":{"family":"IBM Plex Sans Condensed","weight":600},"body":{"family":"IBM Plex Sans"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":"min-dark"},"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vetra","hasAudioNarration":false,"actualSubdomain":"vetra","customDomains":["docs.vetrasuite.com"],"gitSource":{"type":"github","owner":"lhnfe","repo":"vetra-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aa2cdb530737d4552c0ae53","collectionId":"501b6eb9-b36b-420c-9434-ea0a0a1e08ea","liveDeploymentHistoryId":"6aa2cdb530737d4552c0ae53","schemaVersion":"v3"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"}},"buildId":"6aa2cdb530737d4552c0ae53","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Adapter SDK","count":20},{"language":"default","tag":"Blueprints","count":18},{"language":"default","tag":"Start here","count":8},{"language":"default","tag":"Support","count":8},{"language":"default","tag":"World operations","count":6},{"language":"default","tag":"Core workflow","count":5},{"language":"default","tag":"The contracts","count":5},{"language":"default","tag":"Shipping an adapter","count":5},{"language":"default","tag":"Help","count":4},{"language":"default","tag":"What it manages","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"blueprints/updating","slug":"/blueprints/updating","pageMetadata":{"title":"Updating","description":"Replace two folders and restart. Your data lives elsewhere and is not touched.","href":"/blueprints/updating"},"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: \"Replace two folders and restart. Your data lives elsewhere and is not touched.\"\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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Heading,Step,Steps,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(Steps,{children:[_jsx(Step,{title:`Download the new version from GmodStore`}),_jsxs(Step,{title:`Delete the old folders`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-dark min-dark`,style:{backgroundColor:`#1f1f1f`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#b392f0`,\"--shiki-dark\":`#b392f0`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`garrysmod/addons/vetra-framework/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`garrysmod/addons/vetra-blueprints/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(_components.p,{children:`Delete them, do not copy over them. A leftover file from an older build is the one\nfailure mode this step exists to prevent.`})]}),_jsx(Step,{title:`Copy the new ones in`}),_jsx(Step,{title:`Restart the server`})]}),`\n`,_jsx(Heading,{level:`2`,id:`your-data-is-not-in-those-folders`,children:`Your data is not in those folders`}),`\n`,_jsx(_components.p,{children:`Your Versions, groups, migrations, restores, deployments and packages live in:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-dark min-dark`,style:{backgroundColor:`#1f1f1f`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#b392f0`,\"--shiki-dark\":`#b392f0`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`garrysmod/data/vetra/blueprints/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Leave that alone and everything is where you left it, `,_jsx(_components.strong,{children:`including your activation`}),`. The\nserver does not re-activate and does not consume another slot.`]}),`\n`,_jsx(Heading,{level:`2`,id:`never-run-two-copies-at-once`,children:`Never run two copies at once`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Delete the old `,_jsx(_components.code,{children:`vetra-framework`}),` folder. Do not leave it beside the new one, under any name.`]})}),`\n`,_jsxs(_components.p,{children:[`If more than one copy of `,_jsx(_components.code,{children:`vetra-framework`}),` is in `,_jsx(_components.code,{children:`garrysmod/addons/`}),`, `,_jsx(_components.strong,{children:`the framework does not\nstart at all`}),`, and the server console names every copy it found and the version each one\ndeclares:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-dark min-dark`,style:{backgroundColor:`#1f1f1f`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#b392f0`,\"--shiki-dark\":`#b392f0`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`[Vetra] ERROR boot: 2 copies of Vetra Framework are installed, so none of them was started.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`[Vetra] addons/vetra-framework 1.0.0 (API 1)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`[Vetra] addons/vetra-framework-old 0.9.0 (API 1)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`[Vetra] Keep the one folder you mean to run, normally the newest, delete the others, and restart the server.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`[Vetra] Vetra Blueprints and every other Vetra product stay stopped until then. Your data in garrysmod/data/vetra/ is untouched.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`It prints this when the server starts and again once the map has loaded. Until you fix it,\nBlueprints does not open and its commands, `,_jsx(_components.code,{children:`vetra_license_status`}),` included, do not exist.`]}),`\n`,_jsx(_components.p,{children:`It refuses rather than picking one because Garry’s Mod merges every addon into one file\nsystem: two copies are two copies of the same files, and no copy can prove that the files it\nwould load are its own. Quietly running the wrong mix would be worse than not running.`}),`\n`,_jsx(_components.p,{children:`Delete the extra folder and restart. Nothing else is needed.`}),`\n`,_jsx(Heading,{level:`2`,id:`after-the-restart`,children:`After the restart`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-dark min-dark`,style:{backgroundColor:`#1f1f1f`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#b392f0`,\"--shiki-dark\":`#b392f0`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`vetra_license_status`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Should still say `,_jsx(_components.strong,{children:`ONLINE`}),`, with no reactivation and no new slot consumed.`]}),`\n`,_jsxs(_components.p,{children:[`Open Blueprints and check the `,_jsx(_components.strong,{children:`Adapters`}),` screen: every adapter you expect should be listed\nand available.`]}),`\n`,_jsx(Heading,{level:`2`,id:`adapter-compatibility-across-an-update`,children:`Adapter compatibility across an update`}),`\n`,_jsx(_components.p,{children:`An adapter records, in every Version, the format of the data it was writing. When something\nlater wants to act on a historical Version, Blueprints checks that the installed build of\nthat adapter can still read that format.`}),`\n`,_jsxs(_components.p,{children:[`If it cannot, that domain is `,_jsx(_components.strong,{children:`blocked`}),` in the plan with a message naming both numbers,\nrather than being interpreted incorrectly. The Version itself is never altered and never\nloses records.`]}),`\n`,_jsxs(_components.p,{children:[`This applies to third-party adapters as much as to the ones Vetra ships. See\n`,_jsx(_components.a,{href:`/sdk/compatibility`,children:`Compatibility and data versions`}),` if you maintain one.`]})]})}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":{"codeStyling":{"theme":"min-dark"},"config":{},"pageMetadata":{"title":"Updating","description":"Replace two folders and restart. Your data lives elsewhere and is not touched.","href":"/blueprints/updating"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Your data is not in those folders","slug":"your-data-is-not-in-those-folders","depth":2,"children":[]},{"title":"Never run two copies at once","slug":"never-run-two-copies-at-once","depth":2,"children":[]},{"title":"After the restart","slug":"after-the-restart","depth":2,"children":[]},{"title":"Adapter compatibility across an update","slug":"adapter-compatibility-across-an-update","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"vetra","siteName":"Vetra","title":"Updating - Vetra","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-10T13:23:49.907Z","originalFileLocation":"blueprints/updating.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=\"dark\"}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=\"Replace two folders and restart. Your data lives elsewhere and is not touched.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vetra\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vetra/eqM5jWinqfsvrg8a/_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/vetra/eqM5jWinqfsvrg8a/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vetra/eqM5jWinqfsvrg8a/_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/vetra/eqM5jWinqfsvrg8a/_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/vetra/eqM5jWinqfsvrg8a/_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/vetra/eqM5jWinqfsvrg8a/_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/vetra/eqM5jWinqfsvrg8a/_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/vetra/eqM5jWinqfsvrg8a/_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/vetra/eqM5jWinqfsvrg8a/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Updating - Vetra\">\u003cmeta data-mint-head property=\"og:description\" content=\"Replace two folders and restart. Your data lives elsewhere and is not touched.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vetra Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vetrasuite.com/blueprints/updating\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vetra.mintlify.app/_mintlify/api/og/v2?division=Running+it\u0026amp;title=Updating\u0026amp;description=Replace+two+folders+and+restart.+Your+data+lives+elsewhere+and+is+not+touched.\u0026amp;theme=cca15c7ac5e8640f3bfab9da\u0026amp;signature=ebcf71aadff3d39017b9bbbb2746e8488ad96dd30124083c2c2b830833bff4e1\">\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=\"Updating - Vetra\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Replace two folders and restart. Your data lives elsewhere and is not touched.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vetra.mintlify.app/_mintlify/api/og/v2?division=Running+it\u0026amp;title=Updating\u0026amp;description=Replace+two+folders+and+restart.+Your+data+lives+elsewhere+and+is+not+touched.\u0026amp;theme=cca15c7ac5e8640f3bfab9da\u0026amp;signature=ebcf71aadff3d39017b9bbbb2746e8488ad96dd30124083c2c2b830833bff4e1\">\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/vetra/eqM5jWinqfsvrg8a/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vetra\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#8fa343\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vetrasuite.com/blueprints/updating\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/blueprints/updating.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vetrasuite.com/#organization\",\"name\":\"Vetra\",\"url\":\"https://docs.vetrasuite.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vetra/aE1YWFG_rv2nLo9f/logo/light.svg?fit=max\u0026auto=format\u0026n=aE1YWFG_rv2nLo9f\u0026q=85\u0026s=8badc512ca33228edb6d702138d0bb4a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vetrasuite.com#website\",\"name\":\"Vetra\",\"url\":\"https://docs.vetrasuite.com\",\"publisher\":{\"@id\":\"https://docs.vetrasuite.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vetrasuite.com/blueprints/updating#webpage\",\"url\":\"https://docs.vetrasuite.com/blueprints/updating\",\"name\":\"Updating\",\"description\":\"Replace two folders and restart. Your data lives elsewhere and is not touched.\",\"dateModified\":\"2026-09-10T13:23:49.907Z\",\"isPartOf\":{\"@id\":\"https://docs.vetrasuite.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vetrasuite.com/blueprints/updating#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vetrasuite.com/blueprints/updating#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Vetra\",\"item\":\"https://docs.vetrasuite.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Updating\",\"item\":\"https://docs.vetrasuite.com/blueprints/updating\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.vetrasuite.com/blueprints/updating#article\",\"headline\":\"Updating\",\"name\":\"Updating\",\"description\":\"Replace two folders and restart. Your data lives elsewhere and is not touched.\",\"url\":\"https://docs.vetrasuite.com/blueprints/updating\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vetrasuite.com/blueprints/updating#webpage\"},\"dateModified\":\"2026-09-10T13:23:49.907Z\",\"publisher\":{\"@id\":\"https://docs.vetrasuite.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vetrasuite.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vetra\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vetra","nav":{"global":null,"tabs":[{"tab":"Blueprints","icon":"layers","groups":[{"group":"Start here","pages":[{"title":"Vetra Blueprints","sidebarTitle":"Home","href":""},{"title":"Overview","href":"/blueprints/overview"},{"title":"Installation","href":"/blueprints/installation"},{"title":"Opening Blueprints","href":"/blueprints/opening"},{"title":"Quick start","href":"/blueprints/quickstart"}]},{"group":"Core workflow","pages":[{"title":"Core concepts","href":"/blueprints/concepts"},{"title":"Versions, history and diff","href":"/blueprints/versions"},{"title":"Groups, anchors and pivots","href":"/blueprints/groups"},{"title":"Migration Assistant","href":"/blueprints/migration"},{"title":"Restore and rollback","href":"/blueprints/restore"}]},{"group":"Between servers","pages":[{"title":"Export and import","href":"/blueprints/packages"},{"title":"DEV to PROD","href":"/blueprints/deploy"},{"title":"Remote Deploy","href":"/blueprints/remote-deploy"}]},{"group":"What it manages","pages":[{"title":"Supported objects and integrations","href":"/blueprints/supported-objects"},{"title":"DarkRP job spawns","href":"/blueprints/darkrp"},{"title":"MalboroDEV PermaProps","description":"Blueprints versions the props MalboroDEV PermaProps has saved, through the saved record rather than the prop in the world, so a change survives a restart.","href":"/blueprints/permaprops"}]},{"group":"Running it","pages":[{"title":"Updating","href":"/blueprints/updating"},{"title":"Uninstalling","description":"Delete two folders. Your data stays until you delete it, and your exported packages are plain files you keep.","href":"/blueprints/uninstalling"}]}]},{"tab":"Adapter SDK","icon":"plug","pages":[{"title":"Adapter SDK","href":"/sdk/overview"}]},{"tab":"Support","icon":"life-buoy","pages":[{"title":"Support","href":"/support/licensing"}]}]},"title":"Updating - Vetra","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}