A Version in a file. Move a build between servers over FTP or your control panel, with nothing sent to Vetra.
A package is one Version written out as a portable file, with its provenance. It is how
a build crosses a server boundary without the Vetra service being involved at all.
From Versions, select a Version and press Export.The file is written to your own server:
garrysmod/data/vetra/blueprints/packages/exports/
Fetch it however you normally move files: FTP, your control panel, a file manager, a USB
stick. It is an ordinary file, it is yours, and you can keep or archive it independently of
Blueprints and independently of Vetra.A package is canonicalised and carries an integrity digest, so a truncated or altered file
is detected on import rather than half-applied.
Put the file in the import folder on the target server:
garrysmod/data/vetra/blueprints/packages/imports/
Then open Versions and press Import. Blueprints lists what it finds in that folder,
validates each candidate, and tells you what it thinks of it before you commit.
Import lives inside Versions rather than as its own nav entry, because a package has no
meaning except as a Version you are about to have.
Files beyond the scan budget are still listed, with a verdict saying they were not
opened. Silently hiding a file you can see in your own folder would be worse than saying
why it was skipped.
Restore it. That is refused.The reason is identity. The object ids inside an imported Version belong to the server that
captured it, and the same id means something different here: map creation ids and database
row ids are numbered from the same 1 on both machines. Restoring one would address real
local objects that have nothing to do with the ones recorded.Importing data is not permission to apply it. Deploy exists to apply it correctly, by
building an explicit source-to-target mapping instead of assuming ids line up.Cloning an imported Version does not launder its origin either: the copy is still foreign
and still cannot be restored.
A package carries every adapter’s records, including from adapters that are not
installed on the importing server.
They import intact, they survive a re-export, and the package stays a faithful artifact.
What is unavailable is the operation, not the data. A Version does not quietly lose a
domain because you happened to import it on a machine without that addon.
{"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/packages","slug":"/blueprints/packages","pageMetadata":{"title":"Export and import","description":"A Version in a file. Move a build between servers over FTP or your control panel, with nothing sent to Vetra.","href":"/blueprints/packages"},"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: \"A Version in a file. Move a build between servers over FTP or your control panel, with nothing sent to Vetra.\"\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`,em:`em`,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},{Check,CodeBlock,Heading,Icon,Note,Table}=_components;if(!Check)_missingMdxReference(`Check`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Icon)_missingMdxReference(`Icon`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`package`}),` is one Version written out as a portable file, with its provenance. It is how\na build crosses a server boundary without the Vetra service being involved at all.`]}),`\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:`\u003cname>_\u003cshort id>.vetra.json`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`export`,children:`Export`}),`\n`,_jsxs(_components.p,{children:[`From `,_jsx(_components.strong,{children:`Versions`}),`, select a Version and press `,_jsx(_components.strong,{children:`Export`}),`.`]}),`\n`,_jsx(_components.p,{children:`The file is written to your own server:`}),`\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/packages/exports/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Fetch it however you normally move files: FTP, your control panel, a file manager, a USB\nstick. It is an ordinary file, it is yours, and you can keep or archive it independently of\nBlueprints and independently of Vetra.`}),`\n`,_jsx(_components.p,{children:`A package is canonicalised and carries an integrity digest, so a truncated or altered file\nis detected on import rather than half-applied.`}),`\n`,_jsx(Heading,{level:`2`,id:`import`,children:`Import`}),`\n`,_jsx(_components.p,{children:`Put the file in the import folder on the target server:`}),`\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/packages/imports/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Then open `,_jsx(_components.strong,{children:`Versions`}),` and press `,_jsx(_components.strong,{children:`Import`}),`. Blueprints lists what it finds in that folder,\nvalidates each candidate, and tells you what it thinks of it before you commit.`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Import lives inside Versions rather than as its own nav entry, because a package has no\nmeaning except as a Version you are about to have.`})}),`\n`,_jsx(Heading,{level:`3`,id:`limits`,children:`Limits`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Limit`}),_jsx(_components.th,{children:`Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Largest package file`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`8 MB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Files one listing will open and parse`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`24`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Bytes one listing will parse in total`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`24 MB`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Files beyond the scan budget are still `,_jsx(_components.strong,{children:`listed`}),`, with a verdict saying they were not\nopened. Silently hiding a file you can see in your own folder would be worse than saying\nwhy it was skipped.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-an-imported-version-can-and-cannot-do`,children:`What an imported Version can and cannot do`}),`\n`,_jsxs(_components.p,{children:[_jsx(Check,{children:`Inspect it, and compare it against any other Version on the same map.`}),`\n`,_jsxs(Check,{children:[`Use it as a source for `,_jsx(_components.a,{href:`/blueprints/migration`,children:`Migration`}),`.`]}),`\n`,_jsxs(Check,{children:[`Apply it with `,_jsx(_components.a,{href:`/blueprints/deploy`,children:`Deploy`}),`.`]}),`\n`,_jsx(Icon,{icon:`x`,color:`#da624d`}),` `,_jsx(_components.strong,{children:`Restore it.`}),` That is refused.`]}),`\n`,_jsx(_components.p,{children:`The reason is identity. The object ids inside an imported Version belong to the server that\ncaptured it, and the same id means something different here: map creation ids and database\nrow ids are numbered from the same 1 on both machines. Restoring one would address real\nlocal objects that have nothing to do with the ones recorded.`}),`\n`,_jsxs(_components.p,{children:[`Importing data is not permission to apply it. Deploy exists to apply it `,_jsx(_components.em,{children:`correctly`}),`, by\nbuilding an explicit source-to-target mapping instead of assuming ids line up.`]}),`\n`,_jsx(_components.p,{children:`Cloning an imported Version does not launder its origin either: the copy is still foreign\nand still cannot be restored.`}),`\n`,_jsx(Heading,{level:`2`,id:`records-your-adapter-does-not-understand`,children:`Records your adapter does not understand`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`A package carries `,_jsx(_components.strong,{children:`every`}),` adapter’s records, including from adapters that are not\ninstalled on the importing server.`]})}),`\n`,_jsxs(_components.p,{children:[`They import intact, they survive a re-export, and the package stays a faithful artifact.\nWhat is unavailable is the `,_jsx(_components.em,{children:`operation`}),`, not the data. A Version does not quietly lose a\ndomain because you happened to import it on a machine without that addon.`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-this-instead-of-remote-deploy`,children:`When to use this instead of Remote Deploy`}),`\n`,_jsx(_components.p,{children:`Always, if you want to. Export and import is the route that:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`needs `,_jsx(_components.strong,{children:`no internet connection`}),`;`]}),`\n`,_jsxs(_components.li,{children:[`sends `,_jsx(_components.strong,{children:`nothing`}),` to Vetra;`]}),`\n`,_jsx(_components.li,{children:`works if the Vetra service is unavailable, and keeps working if Vetra is ever\ndiscontinued.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/blueprints/remote-deploy`,children:`Remote Deploy`}),` is the same outcome without touching FTP. It is\na convenience, never a requirement.`]})]})}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":"Export and import","description":"A Version in a file. Move a build between servers over FTP or your control panel, with nothing sent to Vetra.","href":"/blueprints/packages"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Export","slug":"export","depth":2,"children":[]},{"title":"Import","slug":"import","depth":2,"children":[{"title":"Limits","slug":"limits","depth":3,"children":[]}]},{"title":"What an imported Version can and cannot do","slug":"what-an-imported-version-can-and-cannot-do","depth":2,"children":[]},{"title":"Records your adapter does not understand","slug":"records-your-adapter-does-not-understand","depth":2,"children":[]},{"title":"When to use this instead of Remote Deploy","slug":"when-to-use-this-instead-of-remote-deploy","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"vetra","siteName":"Vetra","title":"Export and import - Vetra","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-10T13:23:49.900Z","originalFileLocation":"blueprints/packages.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=\"A Version in a file. Move a build between servers over FTP or your control panel, with nothing sent to Vetra.\">\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=\"Export and import - Vetra\">\u003cmeta data-mint-head property=\"og:description\" content=\"A Version in a file. Move a build between servers over FTP or your control panel, with nothing sent to Vetra.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vetra Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vetrasuite.com/blueprints/packages\">\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=Between+servers\u0026amp;title=Export+and+import\u0026amp;description=A+Version+in+a+file.+Move+a+build+between+servers+over+FTP+or+your+control+panel%2C+with+nothing+sent+to+Vetra.\u0026amp;theme=cca15c7ac5e8640f3bfab9da\u0026amp;signature=6b4a099b6fcf0c5e940b512d5d92714cdefc58c10dcfc19e77a7c76610de00d5\">\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=\"Export and import - Vetra\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"A Version in a file. Move a build between servers over FTP or your control panel, with nothing sent to Vetra.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vetra.mintlify.app/_mintlify/api/og/v2?division=Between+servers\u0026amp;title=Export+and+import\u0026amp;description=A+Version+in+a+file.+Move+a+build+between+servers+over+FTP+or+your+control+panel%2C+with+nothing+sent+to+Vetra.\u0026amp;theme=cca15c7ac5e8640f3bfab9da\u0026amp;signature=6b4a099b6fcf0c5e940b512d5d92714cdefc58c10dcfc19e77a7c76610de00d5\">\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/packages\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/blueprints/packages.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/packages#webpage\",\"url\":\"https://docs.vetrasuite.com/blueprints/packages\",\"name\":\"Export and import\",\"description\":\"A Version in a file. Move a build between servers over FTP or your control panel, with nothing sent to Vetra.\",\"dateModified\":\"2026-09-10T13:23:49.900Z\",\"isPartOf\":{\"@id\":\"https://docs.vetrasuite.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vetrasuite.com/blueprints/packages#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vetrasuite.com/blueprints/packages#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Vetra\",\"item\":\"https://docs.vetrasuite.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Export and import\",\"item\":\"https://docs.vetrasuite.com/blueprints/packages\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.vetrasuite.com/blueprints/packages#article\",\"headline\":\"Export and import\",\"name\":\"Export and import\",\"description\":\"A Version in a file. Move a build between servers over FTP or your control panel, with nothing sent to Vetra.\",\"url\":\"https://docs.vetrasuite.com/blueprints/packages\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vetrasuite.com/blueprints/packages#webpage\"},\"dateModified\":\"2026-09-10T13:23:49.900Z\",\"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","description":"Return the managed world toward an earlier Version. The full plan is shown first, a recovery Version is written before anything destructive, and a failed restore rolls back and verifies the rollback.","href":"/blueprints/restore"}]},{"group":"Between servers","pages":[{"title":"Export and import","href":"/blueprints/packages"},{"title":"DEV to PROD","description":"Build on a development server, deploy to production. The production server always decides what happens to its own world.","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","href":"/blueprints/permaprops"}]},{"group":"Running it","pages":[{"title":"Updating","href":"/blueprints/updating"},{"title":"Uninstalling","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":"Export and import - Vetra","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}