Snapshot your Discord server — channels, roles, settings, emojis, bans, member roles and messages — and restore it here or into another server you manage.
Server Backup saves your Discord server itself into an encrypted snapshot: channels, roles, permissions, server settings, emojis, stickers, bans, members’ nicknames and roles, and the recent messages of every channel. Restore it into this server after a mistake, or into another server you manage.
Available on every plan, including Starter. Your plan decides how many backups you keep, how much of the server each one holds, and which of the advanced tools — attachments, change tracking, Time Machine, import — you can use. See Limits by plan.
This is not Vetox Backup. Vetox Backup saves the settings Vetox holds for your server — your Auto-Mod rules, Welcomer, Tickets and the rest. Server Backup saves the Discord server — the channels, roles and messages themselves. They are separate pages, separate snapshots and separate plans. Most servers want both.
Open it at Backup → Server Backup in your server’s dashboard, or run /backup in Discord.
What is captured depends on the options you choose and your plan. Everything below is optional except the first row.
Group
What is stored
Plan
Server settings
Name, description, icon, banner and invite backgrounds, verification level, content filter, notification default, AFK, system, rules, updates and safety channels, server language, boost progress bar, welcome screen
All plans
Roles
Name, colours, hoist, mentionable, permissions, position and icon for every role
All plans
Channels
Every channel type — category, text, voice, announcement, stage, forum, media — with topic, slowmode, bitrate, user limit, forum tags and every permission overwrite
All plans
Emojis and stickers
Name, image and role restrictions
All plans
Threads and forum posts
Active and archived public threads with their starter message and applied tags
Basic and above
Bans
Banned user IDs and ban reasons
Basic and above
Members
Nickname and roles, for members who have one or the other
Basic and above
Messages
The most recent messages of each channel — author, text, embeds, attachments, pins and timestamps
Basic and above
Attachments
The actual files from those messages, downloaded and stored with the backup
Basic and above
Private threads are never captured. Their membership cannot be reproduced, so restoring one would create a private thread with the wrong people in it. Public threads and forum posts are captured normally.
These belong to Discord or to other apps, and Vetox will not recreate them. Restoring a backup does not bring them back:Invites · the audit log · other apps’ integrations and webhooks · scheduled events · the soundboard · onboarding prompts · Discord AutoMod rules · boosts
Roles managed by another app or by an integration — a bot’s own role, a Twitch subscriber role, the Nitro Booster role — are recorded in the snapshot but are never created or edited. Discord owns them.
It is the primary action at the top right of the list.
2
Name it (optional)
A name makes it findable later. Without one the backup shows as Untitled with its ID.
3
Choose messages per channel
How many recent messages to keep from every channel. More messages mean a larger backup and a slower restore. Starter stores none.
4
Choose what else to include
Threads, Member data, Bans, Attachments, Emojis and Stickers. Options above your plan are shown but disabled.
5
Press Create backup
The job runs in the background. You can leave the page — progress is waiting when you come back.
A server can create one manual backup every 10 minutes, and can only run one backup or restore job at a time. Both are per server, not per person. While the cooldown runs, the Create backup button’s tooltip tells you when the next one is possible.
With Attachments on, Vetox downloads each captured message’s files from Discord and stores the bytes with the backup, so a restore re-posts the real files.With it off — and always on Starter — only the Discord link is kept. Those links expire, so an old backup restores the message text with the file names, not the files.
Attachment storage is capped per backup and per file (see Limits by plan). Once a backup passes its cap the capture continues and the remaining files are kept as links, with the warning “Some attachments were kept as links because this backup reached your plan’s storage limit.”
A capture is never abandoned for being big. When it reaches your plan’s size ceiling, Vetox stops adding to the section it is on, records that section under Cut short by your plan on the backup, and finishes. You get a usable backup that is missing part of its largest section — usually messages.
Category, channel, role, message, member, ban and attachment counts
Size
The stored snapshot size
Each row’s menu offers Restore…, Details and Delete. Clicking the row opens the Snapshot Viewer.A Servers / Channels filter switches between whole-server snapshots and channel backups.
Safety copies are the automatic pre-restore snapshots described below. They do not count against your backup limit, and they disappear on their own after 7 days.
If your plan changes and you now hold more backups than it allows, nothing is deleted. The extras are locked: they stay visible with an amber lock, and the tooltip reads “This backup is beyond your current plan’s limit. Upgrade to restore it again.” Delete a newer backup or upgrade, and they unlock.
Loading a backup replaces this server’s channels and roles with the ones in the backup. Members are never kicked, but anything created since the backup was taken will be gone.
1
Pick a backup and choose Restore…
From the row menu, the Snapshot Viewer, or My Backups for a backup from another server.
2
Read the plan
Vetox reads your live server and tells you exactly how many channels and roles will be deleted and how many will be created before anything happens. If any roles sit above Vetox’s own role, the plan says so: those roles can be neither deleted nor recreated, so move Vetox’s role to the top of the role list first, or continue without them. If the backup holds announcement or stage channels and this server is not a Community server, the plan says how many are being left out. It also lists what this server cannot take exactly as the backup has it — roles or channels past Discord’s limits, emojis and stickers beyond its free slots, and anything its boost level or features do not unlock. See When this server differs from the backup.
3
Choose a preset, then adjust
Three presets set every switch at once. Change any individual switch afterwards. Delete existing roles works only while Roles is on, and Delete existing channels only while Channels is on — turning either off also turns off and locks its delete switch.
4
Type the server name
The confirmation field must match your server’s name exactly. This is the last point at which nothing has been changed.
5
Watch the progress card
Phase, count, elapsed time and any warnings, with a Cancel button throughout.
Additive is the safe one. It creates the backup’s roles and channels alongside what you already have and deletes nothing. Use it to pull a category back from an old snapshot without touching the rest of the server.
Restores and reverts are rationed daily: 10 per server and 20 per person across all of your servers. A restore, a channel load and a revert each count; resuming a failed restore does not. Both budgets reset 24 hours after the first counted action, and they are separate from the 10-minute creation cooldown.A third, shorter brake also applies: 3 restores per 10 minutes per server. Hitting it returns a rate-limit error long before the daily budget is spent, so space out repeated attempts.
A restore never kicks, bans or removes anybody. Members stay exactly where they are.With Member roles and nicknames on, members who are still in the server get back the roles and nickname they had when the backup was taken. Members who have left are skipped. With it off, members keep whatever they have now.
Before a restore deletes anything, Vetox takes a snapshot of the server as it is right now — channels, roles, settings, emojis and stickers, plus threads on Basic and above. No messages, members or bans. Enough to undo the restore, small enough to finish before it starts.
If the safety copy fails, the restore never starts. Nothing is deleted. Safety copies are kept for 7 days, do not count against your backup limit, and appear in the list with the type Safety.
A restore records a checkpoint as it goes. If it stops — Vetox restarted, the connection dropped, Vetox lost its permissions, Discord kept failing, or Discord’s creation limit was reached — the progress card offers Resume, and the job picks up at the step it stopped on rather than starting over.A refusal that concerns a single item does not stop a restore. An emoji file Discord will not accept, a channel type this server cannot hold, a setting it rejects: that item is skipped, the restore carries on, and the finished job lists it as a warning.
Resuming never duplicates. Anything already recreated is recognised and skipped, and messages continue from the exact point they stopped.
Server Backup is only available to the server owner and members with Administrator — viewing and exporting included. A member with Manage Server but not Administrator cannot open it in the dashboard or use its commands in Discord, and neither Access Control nor a command’s role settings can grant it.Restoring replaces channels and roles, so it is deliberately narrower than viewing. One setting, Settings → Permissions, decides who may do what — the same three levels Xenon users know:
Level
Create backups, channel backups, imports and Time Machine snapshots
Restore, load a channel backup, revert a change, resume a stopped restore, delete or purge backups
Admins can use all commands
Owner and administrators
Owner and administrators
Admins can not take destructive actions(default)
Owner and administrators
The owner alone
Only the owner can use the relevant commands
The owner alone
The owner alone
Changing the schedule or turning change tracking on or off counts as creating. Cancelling a running job counts as the job itself: cancelling a backup is creating, cancelling a restore, channel load or revert is destructive.Only the server owner can change the level — a setting that the people it restricts could rewrite would gate nothing. The /backup and /chatlog commands in Discord follow the same level, and the dashboard disables or hides every action the level does not allow you, with a note saying what is left to the owner. On a server that uses Access Control, an administrator also needs its Backup section.A backup created on another server carries one more rule: only the person who created it can restore it, wherever it goes. Deleting a backup — from My Backups too — follows the permission level of the server it was taken on.
Give Vetox Administrator before a restore, and make sure its role sits above every role it has to recreate.Without Administrator, Vetox needs all eleven of Manage Server, Manage Channels, Manage Roles, Manage Webhooks, Ban Members, Manage Nicknames, Create Expressions, Manage Expressions, Manage Messages, Read Message History and View Channel.
Discord will not let a bot grant a permission it does not hold itself. Where that happens the restore does not fail — it creates the role without those permissions and warns “Some permissions could not be granted because Vetox does not have them itself.” Roles sitting above Vetox in the list are reported and left untouched.
Restored roles keep the order they had in the backup. Vetox creates them one at a time from the top of the list down, so each lands below the one before it, then checks the result against the backup and moves any role that ended up out of place.Discord only lets a bot arrange roles below its own highest role. When Vetox’s role is too low to put every role back, the restore still completes, with the warning “Some roles could not be put back in their original order…”. Drag Vetox’s role to the top of the role list before restoring, and every role can go back where it was.
A backup records the server it was taken from. The server you restore into can have a lower boost level, no Community, a fuller role list or fewer free emoji slots. Vetox restores everything this server can hold and adapts the rest instead of stopping: the plan lists each adjustment before you confirm, and the finished job repeats it as a warning.
In the backup
What limits it
What the restore does
Roles
A server holds at most 250
Creates them from the top of the list down until the server is full, so the lowest roles are the ones left out
Channels
A server holds at most 500, and a category at most 50
Creates categories first, then channels until the server is full. A channel whose category is full is created outside it
Emojis and stickers
Free slots, which grow with the boost level — static emojis, animated emojis and stickers each have their own
Uploads what fits and leaves the rest out
Role icons
Boost Level 2
Creates the roles without their icon
Gradient role colours
Enhanced Role Styles
Gives the roles their main colour only
Voice channel audio quality
The boost level
Lowers it to the highest this server allows
An animated server icon, a server banner or an invite background
The boost level
Leaves the image out
A Server Discovery background
Server Discovery
Leaves it out
Community settings — rules and updates channels, welcome screen
A Community server
Leaves them out
Announcement and stage channels
A Community server
Leaves them out — see below
Lottie stickers
Verified or partnered servers only
Leaves them out
Some refusals only come once Vetox tries: Discord can reject one particular emoji file, or stop a server uploading emojis and stickers for a while. Those items are skipped with a warning, and everything else carries on.
Discord only allows announcement and stage channels in a Community server. If yours is not one, Vetox leaves those channels out of the restore rather than trying and failing on each — the plan tells you how many before you confirm, and the finished job repeats it as a warning.
Turn Community on under Server Settings → Enable Community in Discord, then restore again, and those channels are created with everything else. Nothing else about the restore changes either way.
A backup taken before September 2026 does not record how many of its channels are announcement or stage ones, so its plan cannot subtract them in advance. The restore still leaves them out and still warns — you simply see the count afterwards rather than before. A new backup of the same server carries the count.
Discord lets a bot create at most 250 roles or 500 channels on one server within 48 hours. A large restore — or several restores in a row — can hit it. This is not the same as how much a server can hold, which a restore adapts to and carries on.This limit is Discord’s, not Vetox’s. Cancelling the restore, deleting the objects again, or removing and re-inviting Vetox does not lift it. If a restore hits it, the job stops with “Discord allows a bot to create only 250 roles or 500 channels…”, keeps its checkpoint, and Vetox records when Discord said the limit lifts.
While the limit is active the Server Backup page shows an amber Discord’s creation limit is active band with the time it lifts, the failed job’s card says “Discord lifts the limit …”, and /backup status in Discord reports the same countdown. You then have two choices: wait and press Resume once the window reopens, or restore again with Roles, Delete existing roles, Channels and Delete existing channels turned off (in Discord: options:!delete-roles !roles) so that nothing has to be created.
4 hours to 7 days. Intervals shorter than your plan allows are disabled
Messages per channel
What each automatic backup stores from every channel
Kept
How many automatic backups are retained, set by your plan
Automatic backups rotate: when a new one lands, the oldest automatic backups beyond the number your plan keeps are deleted. Manual backups are never rotated away.
The schedule shows Next run and Last run so you can confirm it is working.
Change tracking and revert require Basic or above. Turn it on under Settings → Track server changes.
With tracking on, Vetox records every structural change to the server as it happens — channels, threads, roles, emojis, stickers and server settings, created, edited or deleted — together with the Discord user who made it, read from your audit log.The Changes tab lists them newest first, filtered by type, by who made the change, and by date. View changes shows a before-and-after diff of exactly which fields moved.
Change records never contain message content. They hold server structure and the actor’s user ID and name. Nothing else.
Revert undoes a single change without restoring a whole backup:
The change was
Reverting
Created
Deletes it again
Edited
Puts the recorded values back
Deleted
Recreates it from what was recorded
A revert runs as a job like a restore — progress, warnings, cancel — and counts as a destructive action under the permission level, because it changes your server.
If something newer has changed the same object since, Vetox refuses and tells you: “Something newer has changed the same thing since. Confirm to revert anyway.” Choosing Revert anyway also undoes that newer change.
Change tracking has an hourly ceiling per server. A storm of changes — a mass rename, a raid — records “Too many changes at once” and stops recording until the hour turns. Nothing else is affected, and your scheduled backups still cover the period.
Time Machine rebuilds how your server was set up at any moment you pick, by taking the newest backup from before that moment and replaying every tracked change up to it.
1
Pick a moment
Anywhere inside your change history window. The page shows the earliest instant you can reach.
2
Preview
The reconstructed channels and roles, plus a comparison against your server as it is right now.
3
Create snapshot
Turns the reconstruction into a real backup you can browse, export and restore like any other.
Time Machine starts at your first backup. Ask for a moment before it and Vetox answers “There is no backup from before that moment, so it cannot be reconstructed.” It needs a backup to build on — the change log alone is not enough.
The preview compares channels, roles, emojis and server settings only. Threads and stickers are shown in the reconstruction but are never counted as added, removed or changed, because the live server reading behind the comparison caps threads at the newest 25 and carries no stickers at all — so there is nothing honest to report for those two. Settings compare on the server’s name and icon.
A gap is something the change log did not record — a change lost to the hourly ceiling, or one that happened while tracking was off. Vetox fills it from the closest backup it has and tells you how many gaps a reconstruction contains. A snapshot created from that point carries the same warning.
Gaps are a fact of the change log’s coverage, not a fault. The way to close one going forward is a fresh backup.
Clicking a backup opens it. Nothing here changes your server — it is a reader.
Tab
Shows
Overview
Counts, the options it was captured with, warnings, size, type and source server
Channels
The captured channel tree; pick one to read its messages with authors, embeds and files
Roles
Name, colour, options, permission count and position
Settings
Every captured server setting, with the stored icon and banner images
Bans
Banned user IDs and reasons, searchable
Members
Nicknames and roles, searchable by user ID or nickname
Stored attachments are downloadable from the message that carried them. Files are always served as downloads, never opened in the page.
A backup can only be browsed once its capture has finished. A backup still running, or one that failed before its snapshot was written, says so instead.
Available on every plan. Export downloads the backup as a .json file in Discord’s own server format: the server object, roles, channels with their permission overwrites, emojis and stickers.
Messages, members and bans are not in an export. They are not part of Discord’s server format, and they are the privacy-sensitive half of a backup. To move those, restore the backup rather than exporting it.
Importing a backup file requires Basic or above. Applying a Discord server template is free on every plan, and so is Export.
Import turns a Discord-format server file into a backup you can preview and restore. Files are limited to 5 MB.The Import dialog also accepts a Discord server template — paste the link Discord gives under Server Settings → Server Template (https://discord.new/…) or the template’s code. Vetox fetches the template and turns its channels, roles and settings into a backup, which you then restore into this server like any other. That is how you load a template into an existing server, something Discord itself only offers for new ones.
The file must genuinely follow Discord’s server format. A file that does not is rejected outright, naming the first field that failed — Vetox never half-applies one. This applies to files produced by other tools and to hand-written or AI-generated ones.
A channel backup stores the most recent messages of one channel or thread, with their attachments, so you can post them into any channel of any server you manage.
1
Back up a channel
From the Backups tab, or with /chatlog create in Discord. Pick the channel and how many messages to keep. Text, announcement, forum and thread channels are supported.
2
Optionally start further back
Start before this message takes a message ID and stores the messages before it — the way to continue where an earlier channel backup stopped.
3
Restore into a channel
Pick the destination. Messages are posted oldest first, with their pins.
A channel restore deletes nothing. The stored messages are added to whatever is already in the channel. Large channel backups take a while to post — the progress card shows the count.A message that has nothing Discord can re-send — no text, no files and no embeds, such as a system notice or a sticker-only post — is skipped, and the job’s warnings say how many were: “Some messages had nothing to re-post (no text, files or embeds) and were skipped.”
Channel backups have their own limits and their own count, separate from whole-server backups, and they appear under the Channels filter.
In Discord they have their own command, /chatlog, with six subcommands — create, list, info, load, delete and purge. /chatlog purge removes only chatlogs; your server backups are untouched.
Every number here is enforced by Vetox. A dash means the feature is not available on that plan.
Limit
Starter
Basic
Max
Black
Backups stored
15
50
100
250
Messages per channel
—
50
100
250
Member entries per backup
—
5,000
25,000
100,000
Shortest automatic interval
24 hours
12 hours
8 hours
4 hours
Automatic backups kept
1
2
4
8
Backup size
5 MB
25 MB
50 MB
100 MB
Stored attachments per backup
—
100 MB
500 MB
2 GB
Largest single stored file
—
10 MB
25 MB
100 MB
Change history kept
—
30 days
90 days
365 days
Messages per channel backup
—
250
500
1,000
Channel backups stored
—
25
50
100
Feature
Starter
Basic
Max
Black
Create, restore, delete
Yes
Yes
Yes
Yes
Snapshot Viewer, My Backups
Yes
Yes
Yes
Yes
Export
Yes
Yes
Yes
Yes
Threads and forum posts
—
Yes
Yes
Yes
Bans
—
Yes
Yes
Yes
Member nicknames and roles
—
Yes
Yes
Yes
Messages
—
Yes
Yes
Yes
Stored attachments
—
Yes
Yes
Yes
Change tracking and revert
—
Yes
Yes
Yes
Import a backup file
—
Yes
Yes
Yes
Apply a Discord template
Yes
Yes
Yes
Yes
Time Machine
—
—
Yes
Yes
Starter keeps the parts that matter most: you can back up your channels, roles and settings, restore them, browse a snapshot and export it. What premium adds is depth — messages, members, bans, attachments, history — and frequency.
The rule is lock, do not delete. Nothing is ever removed because a subscription ended.
Your schedule and tracking settings come back when you upgrade again. A downgrade limits the automatic interval, messages per channel and change tracking to what the lower plan allows, and Vetox keeps your own values. An upgrade restores them as far as the new plan permits. If you change one of these settings while on the lower plan, your new choice replaces the kept value. The number of automatic backups kept always follows your current plan.Your backups are unaffected: over-limit ones lock, and unlock the moment you are back within the limit.
Backups are your server’s data, held by Vetox on the server owner’s behalf.
What
How long it is kept
Manual backups
Until someone deletes them. They do not expire
Automatic backups
Until rotated out by newer ones, per your plan
Safety copies
7 days
Tracked changes
Your plan’s change history window
After Vetox leaves a server
30 days, then everything for that server is permanently deleted
Snapshots and stored files are encrypted at rest with AES-256-GCM. Each backup has its own key, protected by master keys Vetox holds. They live on infrastructure Vetox operates and are never uploaded to a third-party storage service. A backup is sealed when created and never edited afterwards.
Vetox staff do not open the contents of backups. The one exception is a support request from the server owner: with the owner’s consent, staff work through the owner’s own dashboard views, and every such access is recorded in the audit log.
If you ask Vetox to delete your personal data, you are removed as the creator of any backups and as the recorded actor of any tracked change. Because a backup is never edited after it is created, messages you wrote that an administrator captured in their server’s backup stay inside it until that backup is deleted — the same as they would in any copy of the server’s data held by its owner. Ask that server’s administrators if you need a specific backup removed.
A server can create one manual backup every 10 minutes. Automatic backups are unaffected. Wait, or use the backup you just made.
Today's limit for restores and reverts has been reached
This server or your account has spent its daily allowance of 10 per server / 20 per person. Try again tomorrow.
Another backup job is already running on this server
One backup or restore at a time, per server. Wait for the running job, or cancel it from its progress card.
You have reached your plan's backup limit
Delete a backup you no longer need, or upgrade. Safety copies do not count towards the limit.
This backup is beyond your plan's limit
You hold more backups than your current plan allows, so the oldest extras are locked. Delete a newer backup or upgrade to unlock them.
Server Backup is only available to the server owner and members with the Administrator permission
Every part of Server Backup, viewing included, needs Administrator — Manage Server is not enough, and neither Access Control nor a command’s role settings can grant it. Ask the server owner for a role with Administrator, or ask an administrator to do it for you. See Permissions.
Only people allowed by the server's backup permissions can do this
The server’s permission level leaves this action to the owner. Either the owner performs it, or the owner changes the level under Settings → Permissions.
Only the server owner can create backups here
The permission level is Only the owner can use the relevant commands. Ask the owner to take the backup, or to relax the level.
The server name you typed does not match
The confirmation field must match the server’s current name exactly, including capitals and emoji. Copy it from the dialog’s prompt.
Vetox is missing the permissions it needs
Give Vetox Administrator, or all eleven permissions listed under What Vetox needs to restore, and drag its role above the roles being restored.
Some roles sit above Vetox in the role list
Those roles were reported and left untouched — Discord does not let a bot edit a role above its own. Move Vetox’s role higher and restore again.
Some roles could not be put back in their original order
Discord only lets a bot arrange roles below its own highest role. Drag Vetox’s role to the top of the role list, then drag the affected roles into place or restore again. See Role order.
Announcement and stage channels were left out
Discord only allows those in a Community server. Turn Community on under Server Settings and restore again to include them — see Announcement and stage channels. Everything else in the backup restores either way.
Some parts of the backup were adapted to what this server supports
This server lacks a boost level or feature the backup’s server had, so Vetox restored those parts the way this server allows — roles without their icon or gradient, voice channels at its highest audio quality — and left out the server images, Community settings or Lottie stickers it cannot take. The warning names which. See When this server differs from the backup.
Discord's limit for this server was reached, so some items were skipped
A server holds at most 250 roles and 500 channels, and a category at most 50 channels. Vetox created what fit: the lowest roles in the list are the ones left out, and a channel whose category was full was created outside it. The plan shows the count before you confirm. To fit everything, make room first, or use Full replace, which removes the server’s current roles and channels before creating the backup’s.
Discord allows a bot to create only 250 roles or 500 channels within 48 hours
You have reached Discord’s creation allowance for this server. Deleting things, cancelling, or re-inviting Vetox does not refund it. The page and /backup status show when it lifts; wait for that and press Resume, or restore again with roles and channels turned off. See Discord’s channel and role limits.
This server has no emoji or sticker slots left
Emoji and sticker slots depend on your server’s boost level, and static emojis, animated emojis and stickers each have their own. The rest of the restore completed; the extras were skipped. The plan shows how many will not fit before you confirm.
Discord refused some emojis or stickers
Discord would not accept those files — for example an image larger than it allows. They were skipped, and the rest of the restore carried on.
Discord's upload limit for emojis and stickers was reached
Discord limits how many emojis and stickers a server can upload in a short time. The rest were skipped so the restore could finish. Restore the backup again later with only Emojis and Stickers switched on — what is already on the server is recognised and not uploaded twice.
This server is larger than your plan's backup size
Capture fewer messages per channel, turn off attachments, or upgrade for a larger ceiling.
That interval is shorter than your plan allows
Pick a longer interval, or upgrade. The refusal names your plan’s minimum.
That backup could not be read, or failed its integrity check
The stored file is damaged or missing and cannot be restored. The record is kept so you can see it happened. Create a fresh backup, and contact support if it recurs.
Vetox could not be reached, or lost its connection
The bot was restarting or offline. Nothing further was changed. Try again in a moment; a restore that had already started offers Resume.
Server Backup is temporarily unavailable
The feature is paused for maintenance. Your backups are untouched and nothing has been deleted.
Every subcommand, option and the load options grammar.
My Backups
Your backups across every server, and restoring into another one.
Vetox Backup
The separate snapshot of Vetox’s own configuration.
Access Control
Choose which administrators can open the Backup section.
Feature limits
Every tier limit in one table.
Permissions
Role hierarchy and what Vetox needs.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vetox","description":"Official documentation for Vetox — the all-in-one Discord bot for moderation, automation, leveling, tickets, giveaways, notifications and more. Trusted by over 1,000,000 servers.","colors":{"primary":"#0086FF","light":"#4DA9FF","dark":"#0067CC"},"logo":{"light":"https://vetox.io/logo.svg","dark":"https://vetox.io/logo.svg","href":"https://vetox.io"},"favicon":"https://vetox.io/logo.svg","appearance":{"default":"dark"},"navbar":{"links":[{"href":"https://vetox.io/commands","label":"Commands"},{"href":"https://discord.gg/vetox","label":"Support"}],"primary":{"type":"button","label":"Add to Discord","href":"https://discord.com/oauth2/authorize?client_id=707333425685856316\u0026permissions=8\u0026integration_type=0\u0026scope=bot"}},"footer":{"socials":{"x":"https://x.com/VetoxBot","discord":"https://discord.gg/vetox","website":"https://vetox.io"},"links":[{"header":"Product","items":[{"label":"Commands","href":"https://vetox.io/commands"},{"label":"Server Premium","href":"https://vetox.io/pricing/premium"},{"label":"Membership","href":"https://vetox.io/pricing/membership"},{"label":"Profile","href":"https://vetox.io/dashboard/overview"}]},{"header":"Support","items":[{"label":"Support Server","href":"https://discord.gg/vetox"},{"label":"Report Issue","href":"https://discord.gg/vetox"},{"label":"Contact Us","href":"https://vetox.io/contact"},{"label":"About Us","href":"https://vetox.io/about"}]},{"header":"Vito API","items":[{"label":"Documentation","href":"https://docs.vetox.io/en/members/vito-api"},{"label":"Terms","href":"https://vetox.io/vito-api-terms"}]},{"header":"Policies","items":[{"label":"Privacy Policy","href":"https://vetox.io/policy"},{"label":"Terms of Services","href":"https://vetox.io/tos"},{"label":"Refund Terms","href":"https://vetox.io/refunds"}]}]},"search":{"prompt":"Search Vetox documentation..."},"seo":{"metatags":{"og:image":"https://vetox.io/brand/vetox-header-04.png","twitter:image":"https://vetox.io/brand/vetox-header-04.png"},"indexing":"navigable"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":"en"},{"language":"ar","href":"ar"},{"language":"zh-CN","href":"zh-CN"},{"language":"fr","href":"fr"},{"language":"de","href":"de"},{"language":"ja","href":"ja"},{"language":"ru","href":"ru"},{"language":"es","href":"es"},{"language":"tr","href":"tr"},{"language":"nl","href":"nl"},{"language":"pt","href":"pt"},{"language":"it","href":"it"},{"language":"pl","href":"pl"},{"language":"id","href":"id"},{"language":"hi","href":"hi"},{"language":"ko","href":"ko"},{"language":"vi","href":"vi"},{"language":"uk","href":"uk"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vetox-ec2a2bcb","hasAudioNarration":false,"actualSubdomain":"vetox-ec2a2bcb","customDomains":["docs.vetox.io"],"gitSource":{"type":"github","owner":"iryodev","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ac502d78f50001bddeb2024","collectionId":"31530db3-a223-4486-9cd7-7a855d38e78e","liveDeploymentHistoryId":"6ac502d78f50001bddeb2024","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac502d78f50001bddeb2024","clientVersion":"0.0.3952","searchFilterCounts":[{"language":"ar","tag":"لوحة تحكم الخادم","count":52},{"language":"de","tag":"Server-Dashboard","count":52},{"language":"en","tag":"Server Dashboard","count":52},{"language":"es","tag":"Panel del servidor","count":52},{"language":"fr","tag":"Tableau de bord serveur","count":52},{"language":"hi","tag":"सर्वर डैशबोर्ड","count":52},{"language":"id","tag":"Dasbor Server","count":52},{"language":"it","tag":"Pannello del server","count":52},{"language":"ja","tag":"サーバーダッシュボード","count":52},{"language":"ko","tag":"서버 대시보드","count":52},{"language":"nl","tag":"Serverdashboard","count":52},{"language":"pl","tag":"Panel serwera","count":52},{"language":"pt","tag":"Painel do servidor","count":52},{"language":"ru","tag":"Панель сервера","count":52},{"language":"tr","tag":"Sunucu Paneli","count":52},{"language":"uk","tag":"Панель сервера","count":52},{"language":"vi","tag":"Bảng điều khiển máy chủ","count":52},{"language":"zh-CN","tag":"服务器控制台","count":52},{"language":"ar","tag":"حسابك","count":21},{"language":"de","tag":"Dein Konto","count":21},{"language":"en","tag":"Your Account","count":21},{"language":"es","tag":"Tu cuenta","count":21},{"language":"fr","tag":"Votre compte","count":21},{"language":"hi","tag":"आपका खाता","count":21},{"language":"id","tag":"Akun Anda","count":21},{"language":"it","tag":"Il tuo account","count":21},{"language":"ja","tag":"アカウント","count":21},{"language":"ko","tag":"내 계정","count":21},{"language":"nl","tag":"Jouw account","count":21},{"language":"pl","tag":"Twoje konto","count":21},{"language":"pt","tag":"Sua conta","count":21},{"language":"ru","tag":"Ваш аккаунт","count":21},{"language":"tr","tag":"Hesabınız","count":21},{"language":"uk","tag":"Ваш обліковий запис","count":21},{"language":"vi","tag":"Tài khoản của bạn","count":21},{"language":"zh-CN","tag":"你的账户","count":21},{"language":"ar","tag":"التوثيق","count":11},{"language":"de","tag":"Dokumentation","count":11},{"language":"en","tag":"Documentation","count":11},{"language":"es","tag":"Documentación","count":11},{"language":"fr","tag":"Documentation","count":11},{"language":"hi","tag":"दस्तावेज़","count":11},{"language":"id","tag":"Dokumentasi","count":11},{"language":"it","tag":"Documentazione","count":11},{"language":"ja","tag":"ドキュメント","count":11},{"language":"ko","tag":"문서","count":11},{"language":"nl","tag":"Documentatie","count":11},{"language":"pl","tag":"Dokumentacja","count":11},{"language":"pt","tag":"Documentação","count":11},{"language":"ru","tag":"Документация","count":11},{"language":"tr","tag":"Dokümantasyon","count":11},{"language":"uk","tag":"Документація","count":11},{"language":"vi","tag":"Tài liệu","count":11},{"language":"zh-CN","tag":"文档","count":11},{"language":"ar","tag":"المجتمع","count":9},{"language":"ar","tag":"الإشعارات","count":9},{"language":"de","tag":"Community","count":9},{"language":"de","tag":"Benachrichtigungen","count":9},{"language":"en","tag":"Community","count":9},{"language":"en","tag":"Notifications","count":9},{"language":"es","tag":"Comunidad","count":9},{"language":"es","tag":"Notificaciones","count":9},{"language":"fr","tag":"Communauté","count":9},{"language":"fr","tag":"Notifications","count":9},{"language":"hi","tag":"समुदाय","count":9},{"language":"hi","tag":"सूचनाएँ","count":9},{"language":"id","tag":"Komunitas","count":9},{"language":"id","tag":"Notifikasi","count":9},{"language":"it","tag":"Comunità","count":9},{"language":"it","tag":"Notifiche","count":9},{"language":"ja","tag":"コミュニティ","count":9},{"language":"ja","tag":"通知","count":9},{"language":"ko","tag":"커뮤니티","count":9},{"language":"ko","tag":"알림","count":9},{"language":"nl","tag":"Community","count":9},{"language":"nl","tag":"Meldingen","count":9},{"language":"pl","tag":"Społeczność","count":9},{"language":"pl","tag":"Powiadomienia","count":9},{"language":"pt","tag":"Comunidade","count":9},{"language":"pt","tag":"Notificações","count":9},{"language":"ru","tag":"Сообщество","count":9},{"language":"ru","tag":"Уведомления","count":9},{"language":"tr","tag":"Topluluk","count":9},{"language":"tr","tag":"Bildirimler","count":9},{"language":"uk","tag":"Спільнота","count":9},{"language":"uk","tag":"Сповіщення","count":9},{"language":"vi","tag":"Cộng đồng","count":9},{"language":"vi","tag":"Thông báo","count":9},{"language":"zh-CN","tag":"社区","count":9},{"language":"zh-CN","tag":"通知","count":9},{"language":"ar","tag":"الرئيسية","count":8},{"language":"ar","tag":"الإدارة","count":8},{"language":"de","tag":"Hauptbereich","count":8},{"language":"de","tag":"Verwaltung","count":8},{"language":"en","tag":"Main","count":8},{"language":"en","tag":"Administration","count":8},{"language":"es","tag":"Principal","count":8},{"language":"es","tag":"Administración","count":8},{"language":"fr","tag":"Principal","count":8},{"language":"fr","tag":"Administration","count":8},{"language":"hi","tag":"मुख्य","count":8},{"language":"hi","tag":"प्रशासन","count":8},{"language":"id","tag":"Utama","count":8},{"language":"id","tag":"Administrasi","count":8},{"language":"it","tag":"Principale","count":8},{"language":"it","tag":"Amministrazione","count":8},{"language":"ja","tag":"メイン","count":8},{"language":"ja","tag":"管理","count":8},{"language":"ko","tag":"메인","count":8},{"language":"ko","tag":"관리","count":8},{"language":"nl","tag":"Hoofd","count":8},{"language":"nl","tag":"Beheer","count":8},{"language":"pl","tag":"Główne","count":8},{"language":"pl","tag":"Administracja","count":8},{"language":"pt","tag":"Principal","count":8},{"language":"pt","tag":"Administração","count":8},{"language":"ru","tag":"Основное","count":8},{"language":"ru","tag":"Администрирование","count":8},{"language":"tr","tag":"Ana","count":8},{"language":"tr","tag":"Yönetim","count":8},{"language":"uk","tag":"Головне","count":8},{"language":"uk","tag":"Адміністрування","count":8},{"language":"vi","tag":"Chính","count":8},{"language":"vi","tag":"Quản trị","count":8},{"language":"zh-CN","tag":"主要","count":8},{"language":"zh-CN","tag":"管理","count":8},{"language":"ar","tag":"الأوامر","count":7},{"language":"de","tag":"Befehle","count":7},{"language":"en","tag":"Commands","count":7},{"language":"es","tag":"Comandos","count":7},{"language":"fr","tag":"Commandes","count":7},{"language":"hi","tag":"कमांड","count":7},{"language":"id","tag":"Perintah","count":7},{"language":"it","tag":"Comandi","count":7},{"language":"ja","tag":"コマンド","count":7},{"language":"ko","tag":"명령어","count":7},{"language":"nl","tag":"Commando's","count":7},{"language":"pl","tag":"Polecenia","count":7},{"language":"pt","tag":"Comandos","count":7},{"language":"ru","tag":"Команды","count":7},{"language":"tr","tag":"Komutlar","count":7},{"language":"uk","tag":"Команди","count":7},{"language":"vi","tag":"Lệnh","count":7},{"language":"zh-CN","tag":"命令","count":7},{"language":"ar","tag":"بريميوم","count":6},{"language":"ar","tag":"التواصل","count":6},{"language":"de","tag":"Premium","count":6},{"language":"de","tag":"Kommunikation","count":6},{"language":"en","tag":"Premium","count":6},{"language":"en","tag":"Communication","count":6},{"language":"es","tag":"Premium","count":6},{"language":"es","tag":"Comunicación","count":6},{"language":"fr","tag":"Premium","count":6},{"language":"fr","tag":"Communication","count":6},{"language":"hi","tag":"प्रीमियम","count":6},{"language":"hi","tag":"संचार","count":6},{"language":"id","tag":"Premium","count":6},{"language":"id","tag":"Komunikasi","count":6},{"language":"it","tag":"Premium","count":6},{"language":"it","tag":"Comunicazione","count":6},{"language":"ja","tag":"プレミアム","count":6},{"language":"ja","tag":"コミュニケーション","count":6},{"language":"ko","tag":"프리미엄","count":6},{"language":"ko","tag":"커뮤니케이션","count":6},{"language":"nl","tag":"Premium","count":6},{"language":"nl","tag":"Communicatie","count":6},{"language":"pl","tag":"Premium","count":6},{"language":"pl","tag":"Komunikacja","count":6},{"language":"pt","tag":"Premium","count":6},{"language":"pt","tag":"Comunicação","count":6},{"language":"ru","tag":"Премиум","count":6},{"language":"ru","tag":"Общение","count":6},{"language":"tr","tag":"Premium","count":6},{"language":"tr","tag":"İletişim","count":6},{"language":"uk","tag":"Преміум","count":6},{"language":"uk","tag":"Комунікація","count":6},{"language":"vi","tag":"Premium","count":6},{"language":"vi","tag":"Giao tiếp","count":6},{"language":"zh-CN","tag":"高级版","count":6},{"language":"zh-CN","tag":"沟通","count":6}]},"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":false},"customCss":[],"page":{"pagePath":"en/server-management/server-backup","slug":"/en/server-management/server-backup","pageMetadata":{"title":"Server Backup","description":"Snapshot your Discord server — channels, roles, settings, emojis, bans, member roles and messages — and restore it here or into another server you manage.","icon":"server","sidebarTitle":"Server Backup","keywords":["server backup","snapshot","restore","time machine","change tracking","channel backup"],"href":"/en/server-management/server-backup"},"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: \"Snapshot your Discord server — channels, roles, settings, emojis, bans, member roles and messages — and restore it here or into another server you manage.\"\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`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Heading,Info,Note,Step,Steps,Table,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Server Backup saves your `,_jsx(_components.strong,{children:`Discord server itself`}),` into an encrypted snapshot: channels, roles, permissions, server settings, emojis, stickers, bans, members’ nicknames and roles, and the recent messages of every channel. Restore it into this server after a mistake, or into another server you manage.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Available on `,_jsx(_components.strong,{children:`every plan`}),`, including Starter. Your plan decides how many backups you keep, how much of the server each one holds, and which of the advanced tools — attachments, change tracking, Time Machine, import — you can use. See `,_jsx(_components.a,{href:`#limits-by-plan`,children:`Limits by plan`}),`.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`This is not `,_jsx(_components.a,{href:`/en/server-management/backup`,children:`Vetox Backup`}),`.`]}),` Vetox Backup saves the settings `,_jsx(_components.em,{children:`Vetox`}),` holds for your server — your Auto-Mod rules, Welcomer, Tickets and the rest. Server Backup saves the `,_jsx(_components.em,{children:`Discord`}),` server — the channels, roles and messages themselves. They are separate pages, separate snapshots and separate plans. Most servers want both.`]})}),`\n`,_jsxs(_components.p,{children:[`Open it at `,_jsx(_components.strong,{children:`Backup → Server Backup`}),` in your server’s dashboard, or run `,_jsx(_components.a,{href:`/en/commands/backup`,children:_jsx(_components.code,{children:`/backup`})}),` in Discord.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-a-backup-contains`,children:`What a backup contains`}),`\n`,_jsx(_components.p,{children:`What is captured depends on the options you choose and your plan. Everything below is optional except the first row.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Group`}),_jsx(_components.th,{children:`What is stored`}),_jsx(_components.th,{children:`Plan`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Server settings`})}),_jsx(_components.td,{children:`Name, description, icon, banner and invite backgrounds, verification level, content filter, notification default, AFK, system, rules, updates and safety channels, server language, boost progress bar, welcome screen`}),_jsx(_components.td,{children:`All plans`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Roles`})}),_jsx(_components.td,{children:`Name, colours, hoist, mentionable, permissions, position and icon for every role`}),_jsx(_components.td,{children:`All plans`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Channels`})}),_jsx(_components.td,{children:`Every channel type — category, text, voice, announcement, stage, forum, media — with topic, slowmode, bitrate, user limit, forum tags and every permission overwrite`}),_jsx(_components.td,{children:`All plans`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Emojis and stickers`})}),_jsx(_components.td,{children:`Name, image and role restrictions`}),_jsx(_components.td,{children:`All plans`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Threads and forum posts`})}),_jsxs(_components.td,{children:[`Active and archived `,_jsx(_components.strong,{children:`public`}),` threads with their starter message and applied tags`]}),_jsx(_components.td,{children:`Basic and above`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Bans`})}),_jsx(_components.td,{children:`Banned user IDs and ban reasons`}),_jsx(_components.td,{children:`Basic and above`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Members`})}),_jsx(_components.td,{children:`Nickname and roles, for members who have one or the other`}),_jsx(_components.td,{children:`Basic and above`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Messages`})}),_jsx(_components.td,{children:`The most recent messages of each channel — author, text, embeds, attachments, pins and timestamps`}),_jsx(_components.td,{children:`Basic and above`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Attachments`})}),_jsx(_components.td,{children:`The actual files from those messages, downloaded and stored with the backup`}),_jsx(_components.td,{children:`Basic and above`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Private threads are never captured.`}),` Their membership cannot be reproduced, so restoring one would create a private thread with the wrong people in it. Public threads and forum posts are captured normally.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`what-is-never-captured`,children:`What is never captured`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`These belong to Discord or to other apps, and Vetox will not recreate them. Restoring a backup does `,_jsx(_components.strong,{children:`not`}),` bring them back:`]}),_jsx(_components.p,{children:`Invites · the audit log · other apps’ integrations and webhooks · scheduled events · the soundboard · onboarding prompts · Discord AutoMod rules · boosts`})]}),`\n`,_jsxs(_components.p,{children:[`Roles managed by another app or by an integration — a bot’s own role, a Twitch subscriber role, the Nitro Booster role — are recorded in the snapshot but are `,_jsx(_components.strong,{children:`never created or edited`}),`. Discord owns them.`]}),`\n`,_jsx(Heading,{level:`2`,id:`creating-a-backup`,children:`Creating a backup`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Backups tab and press Create backup`,children:_jsx(_components.p,{children:`It is the primary action at the top right of the list.`})}),_jsx(Step,{title:`Name it (optional)`,children:_jsxs(_components.p,{children:[`A name makes it findable later. Without one the backup shows as `,_jsx(_components.strong,{children:`Untitled`}),` with its ID.`]})}),_jsx(Step,{title:`Choose messages per channel`,children:_jsx(_components.p,{children:`How many recent messages to keep from every channel. More messages mean a larger backup and a slower restore. Starter stores none.`})}),_jsx(Step,{title:`Choose what else to include`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Threads`}),`, `,_jsx(_components.strong,{children:`Member data`}),`, `,_jsx(_components.strong,{children:`Bans`}),`, `,_jsx(_components.strong,{children:`Attachments`}),`, `,_jsx(_components.strong,{children:`Emojis`}),` and `,_jsx(_components.strong,{children:`Stickers`}),`. Options above your plan are shown but disabled.`]})}),_jsx(Step,{title:`Press Create backup`,children:_jsx(_components.p,{children:`The job runs in the background. You can leave the page — progress is waiting when you come back.`})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`A server can create one manual backup every `,_jsx(_components.strong,{children:`10 minutes`}),`, and can only run `,_jsx(_components.strong,{children:`one backup or restore job at a time`}),`. Both are per server, not per person. While the cooldown runs, the `,_jsx(_components.strong,{children:`Create backup`}),` button’s tooltip tells you when the next one is possible.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`attachments`,children:`Attachments`}),`\n`,_jsxs(_components.p,{children:[`With `,_jsx(_components.strong,{children:`Attachments`}),` on, Vetox downloads each captured message’s files from Discord and stores the bytes with the backup, so a restore re-posts the real files.`]}),`\n`,_jsx(_components.p,{children:`With it off — and always on Starter — only the Discord link is kept. Those links expire, so an old backup restores the message text with the file names, not the files.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Attachment storage is capped per backup and per file (see `,_jsx(_components.a,{href:`#limits-by-plan`,children:`Limits by plan`}),`). Once a backup passes its cap the capture `,_jsx(_components.strong,{children:`continues`}),` and the remaining files are kept as links, with the warning `,_jsx(_components.em,{children:`“Some attachments were kept as links because this backup reached your plan’s storage limit.”`})]})}),`\n`,_jsx(Heading,{level:`3`,id:`if-the-backup-is-too-large-for-your-plan`,children:`If the backup is too large for your plan`}),`\n`,_jsxs(_components.p,{children:[`A capture is never abandoned for being big. When it reaches your plan’s size ceiling, Vetox stops adding to the section it is on, records that section under `,_jsx(_components.strong,{children:`Cut short by your plan`}),` on the backup, and finishes. You get a usable backup that is missing part of its largest section — usually messages.`]}),`\n`,_jsx(Heading,{level:`2`,id:`the-backups-tab`,children:`The Backups tab`}),`\n`,_jsxs(_components.p,{children:[`Every snapshot of this server, newest first, with a `,_jsx(_components.strong,{children:`used of max`}),` count against your plan.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Shows`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Backup`})}),_jsxs(_components.td,{children:[`The name, or `,_jsx(_components.em,{children:`Untitled`}),`, plus the backup ID with a copy button`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Created`})}),_jsx(_components.td,{children:`When the capture finished`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Type`})}),_jsx(_components.td,{children:`Manual · Automatic · Safety · Time Machine · Imported · Channel`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Contents`})}),_jsx(_components.td,{children:`Category, channel, role, message, member, ban and attachment counts`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Size`})}),_jsx(_components.td,{children:`The stored snapshot size`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Each row’s menu offers `,_jsx(_components.strong,{children:`Restore…`}),`, `,_jsx(_components.strong,{children:`Details`}),` and `,_jsx(_components.strong,{children:`Delete`}),`. Clicking the row opens the `,_jsx(_components.a,{href:`#snapshot-viewer`,children:`Snapshot Viewer`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`Servers / Channels`}),` filter switches between whole-server snapshots and `,_jsx(_components.a,{href:`#channel-backups`,children:`channel backups`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Safety`}),` copies are the automatic pre-restore snapshots described below. They do not count against your backup limit, and they disappear on their own after 7 days.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`when-a-backup-is-locked`,children:`When a backup is locked`}),`\n`,_jsxs(_components.p,{children:[`If your plan changes and you now hold more backups than it allows, nothing is deleted. The extras are `,_jsx(_components.strong,{children:`locked`}),`: they stay visible with an amber lock, and the tooltip reads `,_jsx(_components.em,{children:`“This backup is beyond your current plan’s limit. Upgrade to restore it again.”`}),` Delete a newer backup or upgrade, and they unlock.`]}),`\n`,_jsx(Heading,{level:`2`,id:`restoring`,children:`Restoring`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:_jsx(_components.strong,{children:`Loading a backup replaces this server’s channels and roles with the ones in the backup. Members are never kicked, but anything created since the backup was taken will be gone.`})})}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Pick a backup and choose Restore…`,children:_jsxs(_components.p,{children:[`From the row menu, the Snapshot Viewer, or `,_jsx(_components.a,{href:`/en/members/my-backups`,children:`My Backups`}),` for a backup from another server.`]})}),_jsx(Step,{title:`Read the plan`,children:_jsxs(_components.p,{children:[`Vetox reads your live server and tells you exactly how many channels and roles will be `,_jsx(_components.strong,{children:`deleted`}),` and how many will be `,_jsx(_components.strong,{children:`created`}),` before anything happens. If any roles sit `,_jsx(_components.strong,{children:`above Vetox’s own role`}),`, the plan says so: those roles can be neither deleted nor recreated, so move Vetox’s role to the top of the role list first, or continue without them. If the backup holds `,_jsx(_components.strong,{children:`announcement or stage channels`}),` and this server is not a `,_jsx(_components.a,{href:`#announcement-and-stage-channels`,children:`Community server`}),`, the plan says how many are being left out. It also lists what this server cannot take exactly as the backup has it — roles or channels past Discord’s limits, emojis and stickers beyond its free slots, and anything its boost level or features do not unlock. See `,_jsx(_components.a,{href:`#when-this-server-differs-from-the-backup`,children:`When this server differs from the backup`}),`.`]})}),_jsx(Step,{title:`Choose a preset, then adjust`,children:_jsxs(_components.p,{children:[`Three presets set every switch at once. Change any individual switch afterwards. `,_jsx(_components.strong,{children:`Delete existing roles`}),` works only while `,_jsx(_components.strong,{children:`Roles`}),` is on, and `,_jsx(_components.strong,{children:`Delete existing channels`}),` only while `,_jsx(_components.strong,{children:`Channels`}),` is on — turning either off also turns off and locks its delete switch.`]})}),_jsx(Step,{title:`Type the server name`,children:_jsx(_components.p,{children:`The confirmation field must match your server’s name exactly. This is the last point at which nothing has been changed.`})}),_jsx(Step,{title:`Watch the progress card`,children:_jsxs(_components.p,{children:[`Phase, count, elapsed time and any warnings, with a `,_jsx(_components.strong,{children:`Cancel`}),` button throughout.`]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`presets`,children:`Presets`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Option`}),_jsx(_components.th,{children:`Full replace`}),_jsx(_components.th,{children:`Additive`}),_jsx(_components.th,{children:`Structure only`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Server settings`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Roles`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Delete existing roles`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Yes`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Yes`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Channels`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Delete existing channels`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Yes`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Yes`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Member roles and nicknames`}),_jsx(_components.td,{children:`Yes, if your plan allows`}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`No`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Bans`}),_jsx(_components.td,{children:`Yes, if your plan allows`}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`No`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Pinned messages`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`No`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Emojis`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Stickers`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Messages per channel`}),_jsx(_components.td,{children:`Your plan’s maximum`}),_jsx(_components.td,{children:`Your plan’s maximum`}),_jsx(_components.td,{children:`None`})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Additive is the safe one.`}),` It creates the backup’s roles and channels alongside what you already have and deletes nothing. Use it to pull a category back from an old snapshot without touching the rest of the server.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`how-often-you-can-restore`,children:`How often you can restore`}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[`Restores and reverts are rationed daily: `,_jsx(_components.strong,{children:`10 per server`}),` and `,_jsx(_components.strong,{children:`20 per person`}),` across all of your servers. A restore, a channel load and a revert each count; resuming a failed restore does not. Both budgets reset 24 hours after the first counted action, and they are separate from the 10-minute creation cooldown.`]}),_jsxs(_components.p,{children:[`A third, shorter brake also applies: `,_jsx(_components.strong,{children:`3 restores per 10 minutes per server`}),`. Hitting it returns a rate-limit error long before the daily budget is spent, so space out repeated attempts.`]})]}),`\n`,_jsx(Heading,{level:`3`,id:`what-happens-to-your-members`,children:`What happens to your members`}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`A restore never kicks, bans or removes anybody.`}),` Members stay exactly where they are.`]}),_jsxs(_components.p,{children:[`With `,_jsx(_components.strong,{children:`Member roles and nicknames`}),` on, members who are still in the server get back the roles and nickname they had when the backup was taken. Members who have left are skipped. With it off, members keep whatever they have now.`]})]}),`\n`,_jsx(Heading,{level:`3`,id:`the-safety-copy`,children:`The safety copy`}),`\n`,_jsxs(_components.p,{children:[`Before a restore deletes anything, Vetox takes a snapshot of the server as it is right now — channels, roles, settings, emojis and stickers, plus threads on Basic and above. `,_jsx(_components.strong,{children:`No messages, members or bans.`}),` Enough to undo the restore, small enough to finish before it starts.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If the safety copy fails, `,_jsx(_components.strong,{children:`the restore never starts`}),`. Nothing is deleted. Safety copies are kept for `,_jsx(_components.strong,{children:`7 days`}),`, do not count against your backup limit, and appear in the list with the type `,_jsx(_components.strong,{children:`Safety`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`if-a-restore-stops-partway`,children:`If a restore stops partway`}),`\n`,_jsxs(_components.p,{children:[`A restore records a checkpoint as it goes. If it stops — Vetox restarted, the connection dropped, Vetox lost its permissions, Discord kept failing, or Discord’s `,_jsx(_components.a,{href:`#discord%E2%80%99s-channel-and-role-limits`,children:`creation limit`}),` was reached — the progress card offers `,_jsx(_components.strong,{children:`Resume`}),`, and the job picks up at the step it stopped on rather than starting over.`]}),`\n`,_jsx(_components.p,{children:`A refusal that concerns a single item does not stop a restore. An emoji file Discord will not accept, a channel type this server cannot hold, a setting it rejects: that item is skipped, the restore carries on, and the finished job lists it as a warning.`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Resuming never duplicates. Anything already recreated is recognised and skipped, and messages continue from the exact point they stopped.`})}),`\n`,_jsx(Heading,{level:`3`,id:`permissions`,children:`Permissions`}),`\n`,_jsxs(_components.p,{children:[`Server Backup is only available to the server owner and members with `,_jsx(_components.strong,{children:`Administrator`}),` — viewing and exporting included. A member with Manage Server but not Administrator cannot open it in the dashboard or use its commands in Discord, and neither `,_jsx(_components.a,{href:`/en/server-management/dashboard-permissions`,children:`Access Control`}),` nor a command’s role settings can grant it.`]}),`\n`,_jsxs(_components.p,{children:[`Restoring replaces channels and roles, so it is deliberately narrower than viewing. One setting, `,_jsx(_components.strong,{children:`Settings → Permissions`}),`, decides who may do what — the same three levels Xenon users know:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Level`}),_jsx(_components.th,{children:`Create backups, channel backups, imports and Time Machine snapshots`}),_jsx(_components.th,{children:`Restore, load a channel backup, revert a change, resume a stopped restore, delete or purge backups`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Admins can use all commands`})}),_jsx(_components.td,{children:`Owner and administrators`}),_jsx(_components.td,{children:`Owner and administrators`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Admins can not take destructive actions`}),` `,_jsx(_components.em,{children:`(default)`})]}),_jsx(_components.td,{children:`Owner and administrators`}),_jsx(_components.td,{children:`The owner alone`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Only the owner can use the relevant commands`})}),_jsx(_components.td,{children:`The owner alone`}),_jsx(_components.td,{children:`The owner alone`})]})]})]}),`\n`,_jsx(_components.p,{children:`Changing the schedule or turning change tracking on or off counts as creating. Cancelling a running job counts as the job itself: cancelling a backup is creating, cancelling a restore, channel load or revert is destructive.`}),`\n`,_jsxs(_components.p,{children:[`Only the `,_jsx(_components.strong,{children:`server owner`}),` can change the level — a setting that the people it restricts could rewrite would gate nothing. The `,_jsx(_components.code,{children:`/backup`}),` and `,_jsx(_components.code,{children:`/chatlog`}),` commands in Discord follow the same level, and the dashboard disables or hides every action the level does not allow you, with a note saying what is left to the owner. On a server that uses `,_jsx(_components.a,{href:`/en/server-management/dashboard-permissions`,children:`Access Control`}),`, an administrator also needs its `,_jsx(_components.strong,{children:`Backup`}),` section.`]}),`\n`,_jsxs(_components.p,{children:[`A backup created on `,_jsx(_components.strong,{children:`another`}),` server carries one more rule: only the person who created it can restore it, wherever it goes. Deleting a backup — from `,_jsx(_components.a,{href:`/en/members/my-backups`,children:`My Backups`}),` too — follows the permission level of the server it was taken on.`]}),`\n`,_jsx(Heading,{level:`3`,id:`what-vetox-needs-to-restore`,children:`What Vetox needs to restore`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`Give Vetox `,_jsx(_components.strong,{children:`Administrator`}),` before a restore, and make sure its role sits `,_jsx(_components.strong,{children:`above`}),` every role it has to recreate.`]}),_jsx(_components.p,{children:`Without Administrator, Vetox needs all eleven of Manage Server, Manage Channels, Manage Roles, Manage Webhooks, Ban Members, Manage Nicknames, Create Expressions, Manage Expressions, Manage Messages, Read Message History and View Channel.`})]}),`\n`,_jsxs(_components.p,{children:[`Discord will not let a bot grant a permission it does not hold itself. Where that happens the restore does not fail — it creates the role without those permissions and warns `,_jsx(_components.em,{children:`“Some permissions could not be granted because Vetox does not have them itself.”`}),` Roles sitting above Vetox in the list are reported and left untouched.`]}),`\n`,_jsx(Heading,{level:`3`,id:`role-order`,children:`Role order`}),`\n`,_jsx(_components.p,{children:`Restored roles keep the order they had in the backup. Vetox creates them one at a time from the top of the list down, so each lands below the one before it, then checks the result against the backup and moves any role that ended up out of place.`}),`\n`,_jsxs(_components.p,{children:[`Discord only lets a bot arrange roles `,_jsx(_components.strong,{children:`below`}),` its own highest role. When Vetox’s role is too low to put every role back, the restore still completes, with the warning `,_jsx(_components.em,{children:`“Some roles could not be put back in their original order…”`}),`. Drag Vetox’s role to the top of the role list before restoring, and every role can go back where it was.`]}),`\n`,_jsx(Heading,{level:`3`,id:`when-this-server-differs-from-the-backup`,children:`When this server differs from the backup`}),`\n`,_jsx(_components.p,{children:`A backup records the server it was taken from. The server you restore into can have a lower boost level, no Community, a fuller role list or fewer free emoji slots. Vetox restores everything this server can hold and adapts the rest instead of stopping: the plan lists each adjustment before you confirm, and the finished job repeats it as a warning.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`In the backup`}),_jsx(_components.th,{children:`What limits it`}),_jsx(_components.th,{children:`What the restore does`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Roles`}),_jsxs(_components.td,{children:[`A server holds at most `,_jsx(_components.strong,{children:`250`})]}),_jsx(_components.td,{children:`Creates them from the top of the list down until the server is full, so the lowest roles are the ones left out`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Channels`}),_jsxs(_components.td,{children:[`A server holds at most `,_jsx(_components.strong,{children:`500`}),`, and a category at most `,_jsx(_components.strong,{children:`50`})]}),_jsx(_components.td,{children:`Creates categories first, then channels until the server is full. A channel whose category is full is created outside it`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Emojis and stickers`}),_jsx(_components.td,{children:`Free slots, which grow with the boost level — static emojis, animated emojis and stickers each have their own`}),_jsx(_components.td,{children:`Uploads what fits and leaves the rest out`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Role icons`}),_jsx(_components.td,{children:`Boost Level 2`}),_jsx(_components.td,{children:`Creates the roles without their icon`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Gradient role colours`}),_jsx(_components.td,{children:`Enhanced Role Styles`}),_jsx(_components.td,{children:`Gives the roles their main colour only`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Voice channel audio quality`}),_jsx(_components.td,{children:`The boost level`}),_jsx(_components.td,{children:`Lowers it to the highest this server allows`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`An animated server icon, a server banner or an invite background`}),_jsx(_components.td,{children:`The boost level`}),_jsx(_components.td,{children:`Leaves the image out`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A Server Discovery background`}),_jsx(_components.td,{children:`Server Discovery`}),_jsx(_components.td,{children:`Leaves it out`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Community settings — rules and updates channels, welcome screen`}),_jsx(_components.td,{children:`A Community server`}),_jsx(_components.td,{children:`Leaves them out`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Announcement and stage channels`}),_jsx(_components.td,{children:`A Community server`}),_jsx(_components.td,{children:`Leaves them out — see below`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Lottie stickers`}),_jsx(_components.td,{children:`Verified or partnered servers only`}),_jsx(_components.td,{children:`Leaves them out`})]})]})]}),`\n`,_jsx(_components.p,{children:`Some refusals only come once Vetox tries: Discord can reject one particular emoji file, or stop a server uploading emojis and stickers for a while. Those items are skipped with a warning, and everything else carries on.`}),`\n`,_jsx(Heading,{level:`3`,id:`announcement-and-stage-channels`,children:`Announcement and stage channels`}),`\n`,_jsxs(_components.p,{children:[`Discord only allows `,_jsx(_components.strong,{children:`announcement`}),` and `,_jsx(_components.strong,{children:`stage`}),` channels in a `,_jsx(_components.strong,{children:`Community server`}),`. If yours is not one, Vetox leaves those channels out of the restore rather than trying and failing on each — the plan tells you how many before you confirm, and the finished job repeats it as a warning.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Turn Community on under `,_jsx(_components.strong,{children:`Server Settings → Enable Community`}),` in Discord, then restore again, and those channels are created with everything else. Nothing else about the restore changes either way.`]})}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`A backup taken before September 2026 does not record how many of its channels are announcement or stage ones, so its plan cannot subtract them in advance. The restore still leaves them out and still warns — you simply see the count afterwards rather than before. A new backup of the same server carries the count.`})}),`\n`,_jsx(Heading,{level:`3`,id:`discord’s-channel-and-role-limits`,children:`Discord’s channel and role limits`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`Discord lets a bot create at most `,_jsx(_components.strong,{children:`250 roles or 500 channels on one server within 48 hours`}),`. A large restore — or several restores in a row — can hit it. This is not the same as how much a server can hold, which a restore `,_jsx(_components.a,{href:`#when-this-server-differs-from-the-backup`,children:`adapts to`}),` and carries on.`]}),_jsxs(_components.p,{children:[`This limit is Discord’s, not Vetox’s. Cancelling the restore, deleting the objects again, or removing and re-inviting Vetox does `,_jsx(_components.strong,{children:`not`}),` lift it. If a restore hits it, the job stops with `,_jsx(_components.em,{children:`“Discord allows a bot to create only 250 roles or 500 channels…”`}),`, keeps its checkpoint, and Vetox records when Discord said the limit lifts.`]})]}),`\n`,_jsxs(_components.p,{children:[`While the limit is active the Server Backup page shows an amber `,_jsx(_components.strong,{children:`Discord’s creation limit is active`}),` band with the time it lifts, the failed job’s card says `,_jsx(_components.em,{children:`“Discord lifts the limit …”`}),`, and `,_jsx(_components.code,{children:`/backup status`}),` in Discord reports the same countdown. You then have two choices: wait and press `,_jsx(_components.strong,{children:`Resume`}),` once the window reopens, or restore again with `,_jsx(_components.strong,{children:`Roles`}),`, `,_jsx(_components.strong,{children:`Delete existing roles`}),`, `,_jsx(_components.strong,{children:`Channels`}),` and `,_jsx(_components.strong,{children:`Delete existing channels`}),` turned off (in Discord: `,_jsx(_components.code,{children:`options:!delete-roles !roles`}),`) so that nothing has to be created.`]}),`\n`,_jsx(Heading,{level:`2`,id:`schedule`,children:`Schedule`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Schedule`}),` turns on automatic backups.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Control`}),_jsx(_components.th,{children:`What it does`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Back up automatically`})}),_jsx(_components.td,{children:`Turns the schedule on`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`How often`})}),_jsx(_components.td,{children:`4 hours to 7 days. Intervals shorter than your plan allows are disabled`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Messages per channel`})}),_jsx(_components.td,{children:`What each automatic backup stores from every channel`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Kept`})}),_jsx(_components.td,{children:`How many automatic backups are retained, set by your plan`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Automatic backups `,_jsx(_components.strong,{children:`rotate`}),`: when a new one lands, the oldest automatic backups beyond the number your plan keeps are deleted. Manual backups are never rotated away.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The schedule shows `,_jsx(_components.strong,{children:`Next run`}),` and `,_jsx(_components.strong,{children:`Last run`}),` so you can confirm it is working.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`settings`,children:`Settings`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Setting`}),_jsx(_components.th,{children:`Effect`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Permissions`})}),_jsxs(_components.td,{children:[`The three levels described under `,_jsx(_components.a,{href:`#permissions`,children:`Permissions`}),` — the owner alone can change it`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Track server changes`})}),_jsxs(_components.td,{children:[`Turns on `,_jsx(_components.a,{href:`#changes`,children:`change tracking`}),` — Basic and above`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Delete all backups`})}),_jsx(_components.td,{children:`Permanently deletes every backup of this server and every file stored with them`})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Delete all backups cannot be undone.`}),` It asks you to type the server name first, and it removes stored attachments along with the snapshots.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`changes`,children:`Changes`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Change tracking and revert require `,_jsx(_components.strong,{children:`Basic`}),` or above. Turn it on under `,_jsx(_components.strong,{children:`Settings → Track server changes`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`With tracking on, Vetox records every structural change to the server as it happens — `,_jsx(_components.strong,{children:`channels, threads, roles, emojis, stickers and server settings`}),`, created, edited or deleted — together with the Discord user who made it, read from your audit log.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Changes`}),` tab lists them newest first, filtered by type, by who made the change, and by date. `,_jsx(_components.strong,{children:`View changes`}),` shows a before-and-after diff of exactly which fields moved.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Change records never contain message content.`}),` They hold server structure and the actor’s user ID and name. Nothing else.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`reverting-one-change`,children:`Reverting one change`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Revert`}),` undoes a single change without restoring a whole backup:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`The change was`}),_jsx(_components.th,{children:`Reverting`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Created`})}),_jsx(_components.td,{children:`Deletes it again`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Edited`})}),_jsx(_components.td,{children:`Puts the recorded values back`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Deleted`})}),_jsx(_components.td,{children:`Recreates it from what was recorded`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`A revert runs as a job like a restore — progress, warnings, cancel — and counts as a destructive action under the `,_jsx(_components.a,{href:`#permissions`,children:`permission level`}),`, because it changes your server.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`If something newer has changed the same object since, Vetox refuses and tells you: `,_jsx(_components.em,{children:`“Something newer has changed the same thing since. Confirm to revert anyway.”`}),` Choosing `,_jsx(_components.strong,{children:`Revert anyway`}),` also undoes that newer change.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Change tracking has an hourly ceiling per server. A storm of changes — a mass rename, a raid — records `,_jsx(_components.em,{children:`“Too many changes at once”`}),` and stops recording until the hour turns. Nothing else is affected, and your scheduled backups still cover the period.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`time-machine`,children:`Time Machine`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Time Machine requires `,_jsx(_components.strong,{children:`Max`}),` or above.`]})}),`\n`,_jsxs(_components.p,{children:[`Time Machine rebuilds how your server was set up at `,_jsx(_components.strong,{children:`any moment you pick`}),`, by taking the newest backup from before that moment and replaying every tracked change up to it.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Pick a moment`,children:_jsx(_components.p,{children:`Anywhere inside your change history window. The page shows the earliest instant you can reach.`})}),_jsx(Step,{title:`Preview`,children:_jsx(_components.p,{children:`The reconstructed channels and roles, plus a comparison against your server as it is right now.`})}),_jsx(Step,{title:`Create snapshot`,children:_jsx(_components.p,{children:`Turns the reconstruction into a real backup you can browse, export and restore like any other.`})})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Time Machine starts at your first backup.`}),` Ask for a moment before it and Vetox answers `,_jsx(_components.em,{children:`“There is no backup from before that moment, so it cannot be reconstructed.”`}),` It needs a backup to build on — the change log alone is not enough.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The preview compares channels, roles, emojis and server settings only.`}),` Threads and stickers are shown in the reconstruction but are never counted as added, removed or changed, because the live server reading behind the comparison caps threads at the newest 25 and carries no stickers at all — so there is nothing honest to report for those two. Settings compare on the server’s name and icon.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`gaps`,children:`Gaps`}),`\n`,_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`gap`}),` is something the change log did not record — a change lost to the hourly ceiling, or one that happened while tracking was off. Vetox fills it from the closest backup it has and tells you how many gaps a reconstruction contains. A snapshot created from that point carries the same warning.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Gaps are a fact of the change log’s coverage, not a fault. The way to close one going forward is a fresh backup.`})}),`\n`,_jsx(Heading,{level:`2`,id:`snapshot-viewer`,children:`Snapshot Viewer`}),`\n`,_jsx(_components.p,{children:`Clicking a backup opens it. Nothing here changes your server — it is a reader.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tab`}),_jsx(_components.th,{children:`Shows`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Overview`})}),_jsx(_components.td,{children:`Counts, the options it was captured with, warnings, size, type and source server`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Channels`})}),_jsx(_components.td,{children:`The captured channel tree; pick one to read its messages with authors, embeds and files`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Roles`})}),_jsx(_components.td,{children:`Name, colour, options, permission count and position`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Settings`})}),_jsx(_components.td,{children:`Every captured server setting, with the stored icon and banner images`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Bans`})}),_jsx(_components.td,{children:`Banned user IDs and reasons, searchable`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Members`})}),_jsx(_components.td,{children:`Nicknames and roles, searchable by user ID or nickname`})]})]})]}),`\n`,_jsx(_components.p,{children:`Stored attachments are downloadable from the message that carried them. Files are always served as downloads, never opened in the page.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`A backup can only be browsed once its capture has `,_jsx(_components.strong,{children:`finished`}),`. A backup still running, or one that failed before its snapshot was written, says so instead.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`export-and-import`,children:`Export and import`}),`\n`,_jsx(Heading,{level:`3`,id:`export`,children:`Export`}),`\n`,_jsxs(_components.p,{children:[`Available on `,_jsx(_components.strong,{children:`every plan`}),`. Export downloads the backup as a `,_jsx(_components.code,{children:`.json`}),` file in `,_jsx(_components.strong,{children:`Discord’s own server format`}),`: the server object, roles, channels with their permission overwrites, emojis and stickers.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Messages, members and bans are not in an export.`}),` They are not part of Discord’s server format, and they are the privacy-sensitive half of a backup. To move those, restore the backup rather than exporting it.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`import`,children:`Import`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Importing a `,_jsx(_components.strong,{children:`backup file`}),` requires `,_jsx(_components.strong,{children:`Basic`}),` or above. Applying a `,_jsx(_components.strong,{children:`Discord server template`}),` is free on every plan, and so is Export.`]})}),`\n`,_jsxs(_components.p,{children:[`Import turns a Discord-format server file into a backup you can preview and restore. Files are limited to `,_jsx(_components.strong,{children:`5 MB`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The Import dialog also accepts a `,_jsx(_components.strong,{children:`Discord server template`}),` — paste the link Discord gives under `,_jsx(_components.em,{children:`Server Settings → Server Template`}),` (`,_jsx(_components.code,{children:`https://discord.new/…`}),`) or the template’s code. Vetox fetches the template and turns its channels, roles and settings into a backup, which you then restore into this server like any other. That is how you load a template into an `,_jsx(_components.strong,{children:`existing`}),` server, something Discord itself only offers for new ones.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The file must genuinely follow Discord’s server format. A file that does not is rejected outright, naming the first field that failed — Vetox never half-applies one. This applies to files produced by other tools and to hand-written or AI-generated ones.`})}),`\n`,_jsx(Heading,{level:`2`,id:`channel-backups`,children:`Channel backups`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Channel backups require `,_jsx(_components.strong,{children:`Basic`}),` or above.`]})}),`\n`,_jsxs(_components.p,{children:[`A channel backup stores the `,_jsx(_components.strong,{children:`most recent messages of one channel or thread`}),`, with their attachments, so you can post them into any channel of any server you manage.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Back up a channel`,children:_jsxs(_components.p,{children:[`From the Backups tab, or with `,_jsx(_components.a,{href:`/en/commands/backup#/chatlog-%E2%80%94-channel-backups`,children:_jsx(_components.code,{children:`/chatlog create`})}),` in Discord. Pick the channel and how many messages to keep. Text, announcement, forum and thread channels are supported.`]})}),_jsx(Step,{title:`Optionally start further back`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Start before this message`}),` takes a message ID and stores the messages before it — the way to continue where an earlier channel backup stopped.`]})}),_jsx(Step,{title:`Restore into a channel`,children:_jsx(_components.p,{children:`Pick the destination. Messages are posted oldest first, with their pins.`})})]}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`A channel restore deletes nothing.`}),` The stored messages are added to whatever is already in the channel. Large channel backups take a while to post — the progress card shows the count.`]}),_jsxs(_components.p,{children:[`A message that has nothing Discord can re-send — no text, no files and no embeds, such as a system notice or a sticker-only post — is skipped, and the job’s warnings say how many were: `,_jsx(_components.em,{children:`“Some messages had nothing to re-post (no text, files or embeds) and were skipped.”`})]})]}),`\n`,_jsxs(_components.p,{children:[`Channel backups have their own limits and their own count, separate from whole-server backups, and they appear under the `,_jsx(_components.strong,{children:`Channels`}),` filter.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`In Discord they have their own command, `,_jsx(_components.a,{href:`/en/commands/backup#/chatlog-%E2%80%94-channel-backups`,children:_jsx(_components.code,{children:`/chatlog`})}),`, with six subcommands — create, list, info, load, delete and purge. `,_jsx(_components.code,{children:`/chatlog purge`}),` removes only chatlogs; your server backups are untouched.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`limits-by-plan`,children:`Limits by plan`}),`\n`,_jsx(_components.p,{children:`Every number here is enforced by Vetox. A dash means the feature is not available on that plan.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Limit`}),_jsx(_components.th,{children:`Starter`}),_jsx(_components.th,{children:`Basic`}),_jsx(_components.th,{children:`Max`}),_jsx(_components.th,{children:`Black`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Backups stored`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`15`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`50`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`100`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`250`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Messages per channel`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`50`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`100`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`250`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Member entries per backup`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`5,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`25,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`100,000`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Shortest automatic interval`}),_jsx(_components.td,{children:`24 hours`}),_jsx(_components.td,{children:`12 hours`}),_jsx(_components.td,{children:`8 hours`}),_jsx(_components.td,{children:`4 hours`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Automatic backups kept`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`2`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`4`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`8`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Backup size`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`5 MB`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`25 MB`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`50 MB`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`100 MB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Stored attachments per backup`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`100 MB`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`500 MB`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`2 GB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Largest single stored file`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`10 MB`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`25 MB`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`100 MB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Change history kept`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`30 days`}),_jsx(_components.td,{children:`90 days`}),_jsx(_components.td,{children:`365 days`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Messages per channel backup`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`250`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`500`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1,000`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Channel backups stored`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`25`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`50`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`100`})]})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{children:`Starter`}),_jsx(_components.th,{children:`Basic`}),_jsx(_components.th,{children:`Max`}),_jsx(_components.th,{children:`Black`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create, restore, delete`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Snapshot Viewer, My Backups`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Export`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Threads and forum posts`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Bans`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Member nicknames and roles`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Messages`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Stored attachments`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Change tracking and revert`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Import a backup file`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Apply a Discord template`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Time Machine`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Starter keeps the parts that matter most: you can back up your channels, roles and settings, restore them, browse a snapshot and export it. What premium adds is `,_jsx(_components.strong,{children:`depth`}),` — messages, members, bans, attachments, history — and `,_jsx(_components.strong,{children:`frequency`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`when-your-plan-changes`,children:`When your plan changes`}),`\n`,_jsxs(_components.p,{children:[`The rule is `,_jsx(_components.strong,{children:`lock, do not delete`}),`. Nothing is ever removed because a subscription ended.`]}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Your schedule and tracking settings come back when you upgrade again.`}),` A downgrade limits the automatic interval, messages per channel and change tracking to what the lower plan allows, and Vetox keeps your own values. An upgrade restores them as far as the new plan permits. If you change one of these settings while on the lower plan, your new choice replaces the kept value. The number of automatic backups kept always follows your current plan.`]}),_jsxs(_components.p,{children:[`Your `,_jsx(_components.strong,{children:`backups`}),` are unaffected: over-limit ones lock, and unlock the moment you are back within the limit.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`privacy-and-retention`,children:`Privacy and retention`}),`\n`,_jsxs(_components.p,{children:[`Backups are `,_jsx(_components.strong,{children:`your server’s data`}),`, held by Vetox on the server owner’s behalf.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`What`}),_jsx(_components.th,{children:`How long it is kept`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Manual backups`}),_jsx(_components.td,{children:`Until someone deletes them. They do not expire`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Automatic backups`}),_jsx(_components.td,{children:`Until rotated out by newer ones, per your plan`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Safety copies`}),_jsx(_components.td,{children:`7 days`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tracked changes`}),_jsx(_components.td,{children:`Your plan’s change history window`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`After Vetox leaves a server`}),_jsx(_components.td,{children:`30 days, then everything for that server is permanently deleted`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Snapshots and stored files are `,_jsx(_components.strong,{children:`encrypted at rest`}),` with AES-256-GCM. Each backup has its own key, protected by master keys Vetox holds. They live on infrastructure Vetox operates and are never uploaded to a third-party storage service. A backup is sealed when created and never edited afterwards.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Vetox staff do not open the contents of backups.`}),` The one exception is a support request from the server owner: with the owner’s consent, staff work through the owner’s own dashboard views, and every such access is recorded in the audit log.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If you ask Vetox to delete your personal data, you are removed as the creator of any backups and as the recorded actor of any tracked change. Because a backup is never edited after it is created, messages you wrote that an administrator captured in `,_jsx(_components.em,{children:`their`}),` server’s backup stay inside it until that backup is deleted — the same as they would in any copy of the server’s data held by its owner. Ask that server’s administrators if you need a specific backup removed.`]})}),`\n`,_jsxs(_components.p,{children:[`Full detail is in the `,_jsx(_components.a,{href:`https://vetox.io/policy`,children:`Privacy Policy`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`A backup was created here recently`,id:`a-backup-was-created-here-recently`,children:_jsxs(_components.p,{children:[`A server can create one manual backup every `,_jsx(_components.strong,{children:`10 minutes`}),`. Automatic backups are unaffected. Wait, or use the backup you just made.`]})}),_jsx(Accordion,{title:`Today's limit for restores and reverts has been reached`,id:`todays-limit-for-restores-and-reverts-has-been-reached`,children:_jsx(_components.p,{children:`This server or your account has spent its daily allowance of 10 per server / 20 per person. Try again tomorrow.`})}),_jsx(Accordion,{title:`Another backup job is already running on this server`,id:`another-backup-job-is-already-running-on-this-server`,children:_jsx(_components.p,{children:`One backup or restore at a time, per server. Wait for the running job, or cancel it from its progress card.`})}),_jsx(Accordion,{title:`You have reached your plan's backup limit`,id:`you-have-reached-your-plans-backup-limit`,children:_jsx(_components.p,{children:`Delete a backup you no longer need, or upgrade. Safety copies do not count towards the limit.`})}),_jsx(Accordion,{title:`This backup is beyond your plan's limit`,id:`this-backup-is-beyond-your-plans-limit`,children:_jsx(_components.p,{children:`You hold more backups than your current plan allows, so the oldest extras are locked. Delete a newer backup or upgrade to unlock them.`})}),_jsx(Accordion,{title:`Server Backup is only available to the server owner and members with the Administrator permission`,id:`server-backup-is-only-available-to-the-server-owner-and-members-with-the-administrator-permission`,children:_jsxs(_components.p,{children:[`Every part of Server Backup, viewing included, needs `,_jsx(_components.strong,{children:`Administrator`}),` — Manage Server is not enough, and neither Access Control nor a command’s role settings can grant it. Ask the server owner for a role with Administrator, or ask an administrator to do it for you. See `,_jsx(_components.a,{href:`#permissions`,children:`Permissions`}),`.`]})}),_jsx(Accordion,{title:`Only people allowed by the server's backup permissions can do this`,id:`only-people-allowed-by-the-servers-backup-permissions-can-do-this`,children:_jsxs(_components.p,{children:[`The server’s `,_jsx(_components.a,{href:`#permissions`,children:`permission level`}),` leaves this action to the owner. Either the owner performs it, or the owner changes the level under `,_jsx(_components.strong,{children:`Settings → Permissions`}),`.`]})}),_jsx(Accordion,{title:`Only the server owner can create backups here`,id:`only-the-server-owner-can-create-backups-here`,children:_jsxs(_components.p,{children:[`The permission level is `,_jsx(_components.strong,{children:`Only the owner can use the relevant commands`}),`. Ask the owner to take the backup, or to relax the level.`]})}),_jsx(Accordion,{title:`The server name you typed does not match`,id:`the-server-name-you-typed-does-not-match`,children:_jsx(_components.p,{children:`The confirmation field must match the server’s current name exactly, including capitals and emoji. Copy it from the dialog’s prompt.`})}),_jsx(Accordion,{title:`Vetox is missing the permissions it needs`,id:`vetox-is-missing-the-permissions-it-needs`,children:_jsxs(_components.p,{children:[`Give Vetox `,_jsx(_components.strong,{children:`Administrator`}),`, or all eleven permissions listed under `,_jsx(_components.a,{href:`#what-vetox-needs-to-restore`,children:`What Vetox needs to restore`}),`, and drag its role above the roles being restored.`]})}),_jsx(Accordion,{title:`Some roles sit above Vetox in the role list`,id:`some-roles-sit-above-vetox-in-the-role-list`,children:_jsx(_components.p,{children:`Those roles were reported and left untouched — Discord does not let a bot edit a role above its own. Move Vetox’s role higher and restore again.`})}),_jsx(Accordion,{title:`Some roles could not be put back in their original order`,id:`some-roles-could-not-be-put-back-in-their-original-order`,children:_jsxs(_components.p,{children:[`Discord only lets a bot arrange roles below its own highest role. Drag Vetox’s role to the top of the role list, then drag the affected roles into place or restore again. See `,_jsx(_components.a,{href:`#role-order`,children:`Role order`}),`.`]})}),_jsx(Accordion,{title:`Announcement and stage channels were left out`,id:`announcement-and-stage-channels-were-left-out`,children:_jsxs(_components.p,{children:[`Discord only allows those in a `,_jsx(_components.strong,{children:`Community server`}),`. Turn Community on under Server Settings and restore again to include them — see `,_jsx(_components.a,{href:`#announcement-and-stage-channels`,children:`Announcement and stage channels`}),`. Everything else in the backup restores either way.`]})}),_jsx(Accordion,{title:`Some parts of the backup were adapted to what this server supports`,id:`some-parts-of-the-backup-were-adapted-to-what-this-server-supports`,children:_jsxs(_components.p,{children:[`This server lacks a boost level or feature the backup’s server had, so Vetox restored those parts the way this server allows — roles without their icon or gradient, voice channels at its highest audio quality — and left out the server images, Community settings or Lottie stickers it cannot take. The warning names which. See `,_jsx(_components.a,{href:`#when-this-server-differs-from-the-backup`,children:`When this server differs from the backup`}),`.`]})}),_jsx(Accordion,{title:`Discord's limit for this server was reached, so some items were skipped`,id:`discords-limit-for-this-server-was-reached-so-some-items-were-skipped`,children:_jsxs(_components.p,{children:[`A server holds at most 250 roles and 500 channels, and a category at most 50 channels. Vetox created what fit: the lowest roles in the list are the ones left out, and a channel whose category was full was created outside it. The plan shows the count before you confirm. To fit everything, make room first, or use `,_jsx(_components.strong,{children:`Full replace`}),`, which removes the server’s current roles and channels before creating the backup’s.`]})}),_jsx(Accordion,{title:`Discord allows a bot to create only 250 roles or 500 channels within 48 hours`,id:`discord-allows-a-bot-to-create-only-250-roles-or-500-channels-within-48-hours`,children:_jsxs(_components.p,{children:[`You have reached Discord’s creation allowance for this server. Deleting things, cancelling, or re-inviting Vetox does not refund it. The page and `,_jsx(_components.code,{children:`/backup status`}),` show when it lifts; wait for that and press `,_jsx(_components.strong,{children:`Resume`}),`, or restore again with roles and channels turned off. See `,_jsx(_components.a,{href:`#discord%E2%80%99s-channel-and-role-limits`,children:`Discord’s channel and role limits`}),`.`]})}),_jsx(Accordion,{title:`This server has no emoji or sticker slots left`,id:`this-server-has-no-emoji-or-sticker-slots-left`,children:_jsx(_components.p,{children:`Emoji and sticker slots depend on your server’s boost level, and static emojis, animated emojis and stickers each have their own. The rest of the restore completed; the extras were skipped. The plan shows how many will not fit before you confirm.`})}),_jsx(Accordion,{title:`Discord refused some emojis or stickers`,id:`discord-refused-some-emojis-or-stickers`,children:_jsx(_components.p,{children:`Discord would not accept those files — for example an image larger than it allows. They were skipped, and the rest of the restore carried on.`})}),_jsx(Accordion,{title:`Discord's upload limit for emojis and stickers was reached`,id:`discords-upload-limit-for-emojis-and-stickers-was-reached`,children:_jsxs(_components.p,{children:[`Discord limits how many emojis and stickers a server can upload in a short time. The rest were skipped so the restore could finish. Restore the backup again later with only `,_jsx(_components.strong,{children:`Emojis`}),` and `,_jsx(_components.strong,{children:`Stickers`}),` switched on — what is already on the server is recognised and not uploaded twice.`]})}),_jsx(Accordion,{title:`This server is larger than your plan's backup size`,id:`this-server-is-larger-than-your-plans-backup-size`,children:_jsx(_components.p,{children:`Capture fewer messages per channel, turn off attachments, or upgrade for a larger ceiling.`})}),_jsx(Accordion,{title:`That interval is shorter than your plan allows`,id:`that-interval-is-shorter-than-your-plan-allows`,children:_jsx(_components.p,{children:`Pick a longer interval, or upgrade. The refusal names your plan’s minimum.`})}),_jsx(Accordion,{title:`That backup could not be read, or failed its integrity check`,id:`that-backup-could-not-be-read-or-failed-its-integrity-check`,children:_jsx(_components.p,{children:`The stored file is damaged or missing and cannot be restored. The record is kept so you can see it happened. Create a fresh backup, and contact support if it recurs.`})}),_jsx(Accordion,{title:`Vetox could not be reached, or lost its connection`,id:`vetox-could-not-be-reached-or-lost-its-connection`,children:_jsxs(_components.p,{children:[`The bot was restarting or offline. Nothing further was changed. Try again in a moment; a restore that had already started offers `,_jsx(_components.strong,{children:`Resume`}),`.`]})}),_jsx(Accordion,{title:`Server Backup is temporarily unavailable`,id:`server-backup-is-temporarily-unavailable`,children:_jsx(_components.p,{children:`The feature is paused for maintenance. Your backups are untouched and nothing has been deleted.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`/backup commands`,icon:`terminal`,href:`/en/commands/backup`,children:_jsx(_components.p,{children:`Every subcommand, option and the load options grammar.`})}),_jsx(Card,{title:`My Backups`,icon:`box-archive`,href:`/en/members/my-backups`,children:_jsx(_components.p,{children:`Your backups across every server, and restoring into another one.`})}),_jsx(Card,{title:`Vetox Backup`,icon:`floppy-disk`,href:`/en/server-management/backup`,children:_jsx(_components.p,{children:`The separate snapshot of Vetox’s own configuration.`})}),_jsx(Card,{title:`Access Control`,icon:`user-lock`,href:`/en/server-management/dashboard-permissions`,children:_jsx(_components.p,{children:`Choose which administrators can open the Backup section.`})}),_jsx(Card,{title:`Feature limits`,icon:`list-check`,href:`/en/premium/feature-limits`,children:_jsx(_components.p,{children:`Every tier limit in one table.`})}),_jsx(Card,{title:`Permissions`,icon:`shield-halved`,href:`/en/permissions`,children:_jsx(_components.p,{children:`Role hierarchy and what Vetox needs.`})})]})]})}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":"Server Backup","description":"Snapshot your Discord server — channels, roles, settings, emojis, bans, member roles and messages — and restore it here or into another server you manage.","icon":"server","sidebarTitle":"Server Backup","keywords":["server backup","snapshot","restore","time machine","change tracking","channel backup"],"href":"/en/server-management/server-backup"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What a backup contains","slug":"what-a-backup-contains","depth":2,"children":[{"title":"What is never captured","slug":"what-is-never-captured","depth":3,"children":[]}]},{"title":"Creating a backup","slug":"creating-a-backup","depth":2,"children":[{"title":"Attachments","slug":"attachments","depth":3,"children":[]},{"title":"If the backup is too large for your plan","slug":"if-the-backup-is-too-large-for-your-plan","depth":3,"children":[]}]},{"title":"The Backups tab","slug":"the-backups-tab","depth":2,"children":[{"title":"When a backup is locked","slug":"when-a-backup-is-locked","depth":3,"children":[]}]},{"title":"Restoring","slug":"restoring","depth":2,"children":[{"title":"Presets","slug":"presets","depth":3,"children":[]},{"title":"How often you can restore","slug":"how-often-you-can-restore","depth":3,"children":[]},{"title":"What happens to your members","slug":"what-happens-to-your-members","depth":3,"children":[]},{"title":"The safety copy","slug":"the-safety-copy","depth":3,"children":[]},{"title":"If a restore stops partway","slug":"if-a-restore-stops-partway","depth":3,"children":[]},{"title":"Permissions","slug":"permissions","depth":3,"children":[]},{"title":"What Vetox needs to restore","slug":"what-vetox-needs-to-restore","depth":3,"children":[]},{"title":"Role order","slug":"role-order","depth":3,"children":[]},{"title":"When this server differs from the backup","slug":"when-this-server-differs-from-the-backup","depth":3,"children":[]},{"title":"Announcement and stage channels","slug":"announcement-and-stage-channels","depth":3,"children":[]},{"title":"Discord’s channel and role limits","slug":"discord’s-channel-and-role-limits","depth":3,"children":[]}]},{"title":"Schedule","slug":"schedule","depth":2,"children":[]},{"title":"Settings","slug":"settings","depth":2,"children":[]},{"title":"Changes","slug":"changes","depth":2,"children":[{"title":"Reverting one change","slug":"reverting-one-change","depth":3,"children":[]}]},{"title":"Time Machine","slug":"time-machine","depth":2,"children":[{"title":"Gaps","slug":"gaps","depth":3,"children":[]}]},{"title":"Snapshot Viewer","slug":"snapshot-viewer","depth":2,"children":[]},{"title":"Export and import","slug":"export-and-import","depth":2,"children":[{"title":"Export","slug":"export","depth":3,"children":[]},{"title":"Import","slug":"import","depth":3,"children":[]}]},{"title":"Channel backups","slug":"channel-backups","depth":2,"children":[]},{"title":"Limits by plan","slug":"limits-by-plan","depth":2,"children":[{"title":"When your plan changes","slug":"when-your-plan-changes","depth":3,"children":[]}]},{"title":"Privacy and retention","slug":"privacy-and-retention","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"vetox-ec2a2bcb","siteName":"Vetox","title":"Server Backup - Vetox","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/en/server-management/server-backup","matchLevel":0},"ar":{"href":"/ar/server-management/server-backup","matchLevel":1},"zh-CN":{"href":"/zh-CN/server-management/server-backup","matchLevel":1},"fr":{"href":"/fr/server-management/server-backup","matchLevel":1},"de":{"href":"/de/server-management/server-backup","matchLevel":1},"ja":{"href":"/ja/server-management/server-backup","matchLevel":1},"ru":{"href":"/ru/server-management/server-backup","matchLevel":1},"es":{"href":"/es/server-management/server-backup","matchLevel":1},"tr":{"href":"/tr/server-management/server-backup","matchLevel":1},"nl":{"href":"/nl/server-management/server-backup","matchLevel":1},"pt":{"href":"/pt/server-management/server-backup","matchLevel":1},"it":{"href":"/it/server-management/server-backup","matchLevel":1},"pl":{"href":"/pl/server-management/server-backup","matchLevel":1},"id":{"href":"/id/server-management/server-backup","matchLevel":1},"hi":{"href":"/hi/server-management/server-backup","matchLevel":1},"ko":{"href":"/ko/server-management/server-backup","matchLevel":1},"vi":{"href":"/vi/server-management/server-backup","matchLevel":1},"uk":{"href":"/uk/server-management/server-backup","matchLevel":1}}},"lastModified":"2026-09-28T05:16:25.937Z","originalFileLocation":"en/server-management/server-backup.mdx","locale":"en"},"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=\"Snapshot your Discord server — channels, roles, settings, emojis, bans, member roles and messages — and restore it here or into another server you manage.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vetox\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/svg+xml\" sizes=\"180x180\" href=\"https://vetox.io/logo.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"32x32\" href=\"https://vetox.io/logo.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"16x16\" href=\"https://vetox.io/logo.svg\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/svg+xml\" href=\"https://vetox.io/logo.svg\">\u003cmeta data-mint-head property=\"og:title\" content=\"Server Backup - Vetox\">\u003cmeta data-mint-head property=\"og:description\" content=\"Snapshot your Discord server — channels, roles, settings, emojis, bans, member roles and messages — and restore it here or into another server you manage.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vetox\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vetox.io/en/server-management/server-backup\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vetox.io/brand/vetox-header-04.png\">\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=\"Server Backup - Vetox\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Snapshot your Discord server — channels, roles, settings, emojis, bans, member roles and messages — and restore it here or into another server you manage.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vetox.io/brand/vetox-header-04.png\">\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=\"https://mintlify.s3.us-west-1.amazonaws.com/vetox-ec2a2bcb/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vetox\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0086FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vetox.io/en/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/server-management/server-backup.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.vetox.io/en/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.vetox.io/ar/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh-CN\" href=\"https://docs.vetox.io/zh-CN/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.vetox.io/fr/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.vetox.io/de/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.vetox.io/ja/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ru\" href=\"https://docs.vetox.io/ru/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.vetox.io/es/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://docs.vetox.io/tr/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"nl\" href=\"https://docs.vetox.io/nl/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.vetox.io/pt/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.vetox.io/it/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pl\" href=\"https://docs.vetox.io/pl/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"id\" href=\"https://docs.vetox.io/id/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"hi\" href=\"https://docs.vetox.io/hi/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.vetox.io/ko/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"vi\" href=\"https://docs.vetox.io/vi/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"uk\" href=\"https://docs.vetox.io/uk/server-management/server-backup\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.vetox.io/en/server-management/server-backup\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vetox.io/#organization\",\"name\":\"Vetox\",\"url\":\"https://docs.vetox.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://vetox.io/logo.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vetox.io#website\",\"name\":\"Vetox\",\"url\":\"https://docs.vetox.io\",\"publisher\":{\"@id\":\"https://docs.vetox.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vetox.io/en/server-management/server-backup#webpage\",\"url\":\"https://docs.vetox.io/en/server-management/server-backup\",\"name\":\"Server Backup\",\"description\":\"Snapshot your Discord server — channels, roles, settings, emojis, bans, member roles and messages — and restore it here or into another server you manage.\",\"dateModified\":\"2026-09-28T05:16:25.937Z\",\"isPartOf\":{\"@id\":\"https://docs.vetox.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vetox.io/en/server-management/server-backup#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vetox.io/en/server-management/server-backup#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Administration\",\"item\":\"https://docs.vetox.io/en/server-management/dashboard-permissions\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Server Backup\",\"item\":\"https://docs.vetox.io/en/server-management/server-backup\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.vetox.io/en/server-management/server-backup#article\",\"headline\":\"Server Backup\",\"name\":\"Server Backup\",\"description\":\"Snapshot your Discord server — channels, roles, settings, emojis, bans, member roles and messages — and restore it here or into another server you manage.\",\"url\":\"https://docs.vetox.io/en/server-management/server-backup\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vetox.io/en/server-management/server-backup#webpage\"},\"image\":\"https://vetox.io/brand/vetox-header-04.png\",\"dateModified\":\"2026-09-28T05:16:25.937Z\",\"keywords\":\"server backup, snapshot, restore, time machine, change tracking, channel backup\",\"publisher\":{\"@id\":\"https://docs.vetox.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vetox.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vetox\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vetox","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/en"}]},{"tab":"Server Dashboard","groups":[{"group":"General","icon":"gauge","pages":[{"title":"Server Overview","sidebarTitle":"Overview","icon":"gauge","href":"/en/server-management/overview"},{"title":"Server setup","sidebarTitle":"Server setup","icon":"sliders","href":"/en/server-management/setup"}]},{"group":"Moderation","icon":"shield","pages":[{"title":"Moderation and safety","sidebarTitle":"Overview","icon":"shield","href":"/en/moderation/overview"},{"title":"Auto-Mod","sidebarTitle":"Auto-Moderation","icon":"filter","href":"/en/moderation/auto-mod"},{"title":"Moderation tools","sidebarTitle":"Moderation Tools","icon":"gavel","href":"/en/moderation/moderation-tools"},{"title":"Protection","sidebarTitle":"Protection","icon":"lock","href":"/en/moderation/protection"},{"title":"Anti-Raid","sidebarTitle":"Anti-Raid","icon":"users-slash","href":"/en/moderation/anti-raid"}]},{"group":"AI","icon":"sparkles","pages":[{"title":"AI Auto-Mod","sidebarTitle":"AI Auto-Mod","icon":"sparkles","href":"/en/moderation/ai-auto-mod"},{"title":"AI Server Control","sidebarTitle":"AI Server Control","icon":"wand-magic-sparkles","href":"/en/moderation/ai-server-control"},{"title":"AI Usage","sidebarTitle":"AI Usage","icon":"chart-line","href":"/en/moderation/ai-usage"}]},{"group":"Community","icon":"trophy","pages":[{"title":"Leveling and XP","sidebarTitle":"Leveling","icon":"chart-line","href":"/en/engagement/leveling"},{"title":"XP events","sidebarTitle":"XP events","icon":"bolt","href":"/en/engagement/xp-events"},{"title":"Welcomer","sidebarTitle":"Welcomer","icon":"door-open","href":"/en/utility/welcomer"},{"title":"Giveaways","sidebarTitle":"Giveaways","icon":"gift","href":"/en/engagement/giveaways"},{"title":"Suggestions","sidebarTitle":"Suggestions","icon":"lightbulb","href":"/en/engagement/suggestions"},{"title":"Starboard","sidebarTitle":"Starboard","icon":"star","href":"/en/engagement/starboard"},{"title":"Counting","sidebarTitle":"Counting","icon":"list-ol","href":"/en/engagement/counting"},{"title":"Battle Pass","sidebarTitle":"Battle Pass","icon":"medal","href":"/en/engagement/battle-pass"},{"title":"Streaks","sidebarTitle":"Streaks","icon":"fire","href":"/en/engagement/streaks"}]},{"group":"Customization","icon":"palette","pages":[{"title":"Auto roles","sidebarTitle":"Auto roles","icon":"user-plus","href":"/en/engagement/auto-roles"},{"title":"Self-assignable roles","sidebarTitle":"Self roles","icon":"hand-pointer","href":"/en/engagement/self-roles"},{"title":"Colors","sidebarTitle":"Colors","icon":"palette","href":"/en/engagement/colors"},{"title":"Temp Voice","sidebarTitle":"Temp Voice","icon":"microphone","href":"/en/utility/temp-voice"}]},{"group":"Communication","icon":"message","pages":[{"title":"Command management","sidebarTitle":"Commands","icon":"terminal","href":"/en/server-management/command-management"},{"title":"Embed messages","sidebarTitle":"Embed messages","icon":"message","href":"/en/utility/embed-messages"},{"title":"Sticky Messages","sidebarTitle":"Sticky Messages","icon":"thumbtack","href":"/en/utility/sticky-messages"},{"title":"Auto-Reply","sidebarTitle":"Auto-Reply","icon":"reply","href":"/en/utility/auto-responder"},{"title":"Auto-Interaction","sidebarTitle":"Auto-Interaction","icon":"face-smile","href":"/en/utility/auto-interaction"},{"title":"Reminders","sidebarTitle":"Reminders","icon":"clock","href":"/en/utility/reminders"}]},{"group":"Notifications","icon":"bell","pages":[{"title":"How notifications work","sidebarTitle":"Overview","icon":"bell","href":"/en/notifications/overview"},{"title":"Twitch notifications","sidebarTitle":"Twitch","icon":"twitch","href":"/en/notifications/twitch"},{"title":"Kick notifications","sidebarTitle":"Kick","icon":"video","href":"/en/notifications/kick"},{"title":"YouTube notifications","sidebarTitle":"YouTube","icon":"youtube","href":"/en/notifications/youtube"},{"title":"Reddit notifications","sidebarTitle":"Reddit","icon":"reddit","href":"/en/notifications/reddit"},{"title":"Bluesky notifications","sidebarTitle":"Bluesky","icon":"cloud","href":"/en/notifications/bluesky"},{"title":"Steam notifications","sidebarTitle":"Steam","icon":"steam","href":"/en/notifications/steam"},{"title":"RSS notifications","sidebarTitle":"RSS feeds","icon":"rss","href":"/en/notifications/rss"},{"title":"Podcast notifications","sidebarTitle":"Podcasts","icon":"microphone","href":"/en/notifications/podcasts"}]},{"group":"Tickets","icon":"ticket","pages":[{"title":"Tickets","sidebarTitle":"Tickets overview","icon":"ticket","href":"/en/utility/tickets/overview"},{"title":"Ticket panels and options","sidebarTitle":"Panels and options","icon":"table-columns","href":"/en/utility/tickets/panels"},{"title":"Ticket General Settings","sidebarTitle":"General Settings","icon":"gear","href":"/en/utility/tickets/settings"}]},{"group":"Applications","icon":"clipboard-list","pages":[{"title":"Application Panels","sidebarTitle":"Panels","icon":"clipboard-list","href":"/en/utility/applications"},{"title":"Application Submissions","sidebarTitle":"Submissions","icon":"inbox","href":"/en/utility/applications/submissions"},{"title":"Application Analytics","sidebarTitle":"Analytics","icon":"chart-simple","href":"/en/utility/applications/analytics"}]},{"group":"Administration","icon":"user-lock","pages":[{"title":"Access Control","sidebarTitle":"Access Control","icon":"user-lock","href":"/en/server-management/dashboard-permissions"},{"title":"Logging","sidebarTitle":"Logging","icon":"scroll","href":"/en/moderation/logs"},{"title":"Server Insights","sidebarTitle":"Server Insights","icon":"chart-simple","href":"/en/utility/server-stats"},{"title":"Dashboard Watcher","sidebarTitle":"Dashboard Watcher","icon":"desktop","href":"/en/server-management/dashboard-watcher"},{"title":"Vetox Backup","sidebarTitle":"Vetox Backup","description":"Save an encrypted snapshot of everything Vetox stores for your server — settings, not channels — export it, and restore it here or into another server. Max tier.","icon":"box-archive","href":"/en/server-management/backup"},{"title":"Server Backup","icon":"server","sidebarTitle":"Server Backup","href":"/en/server-management/server-backup"},{"title":"Server Templates","sidebarTitle":"Server Templates","description":"Ready-made server layouts — channels, roles and permissions — built into your server in one action, from the catalog or from a Discord template link.","icon":"wand-magic-sparkles","href":"/en/server-management/templates"},{"title":"I Need Help — support sessions","sidebarTitle":"I Need Help","icon":"life-ring","href":"/en/server-management/support-sessions"}]}]},{"tab":"Your Account","pages":[{"title":"Your Account","href":"/en/account/overview"}]},{"tab":"Commands","pages":[{"title":"Commands","href":"/en/commands/overview"}]},{"tab":"Help","pages":[{"title":"Help","href":"/en/help/faq"}]}]},{"language":"ar","pages":[{"title":"ar","href":"/ar/server-management/server-backup"}]},{"language":"zh-CN","pages":[{"title":"zh-CN","href":"/zh-CN/server-management/server-backup"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/server-management/server-backup"}]},{"language":"de","pages":[{"title":"de","href":"/de/server-management/server-backup"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/server-management/server-backup"}]},{"language":"ru","pages":[{"title":"ru","href":"/ru/server-management/server-backup"}]},{"language":"es","pages":[{"title":"es","href":"/es/server-management/server-backup"}]},{"language":"tr","pages":[{"title":"tr","href":"/tr/server-management/server-backup"}]},{"language":"nl","pages":[{"title":"nl","href":"/nl/server-management/server-backup"}]},{"language":"pt","pages":[{"title":"pt","href":"/pt/server-management/server-backup"}]},{"language":"it","pages":[{"title":"it","href":"/it/server-management/server-backup"}]},{"language":"pl","pages":[{"title":"pl","href":"/pl/server-management/server-backup"}]},{"language":"id","pages":[{"title":"id","href":"/id/server-management/server-backup"}]},{"language":"hi","pages":[{"title":"hi","href":"/hi/server-management/server-backup"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/server-management/server-backup"}]},{"language":"vi","pages":[{"title":"vi","href":"/vi/server-management/server-backup"}]},{"language":"uk","pages":[{"title":"uk","href":"/uk/server-management/server-backup"}]}]},"title":"Server Backup - Vetox","buildId":"dpl_7GUK3ixdQTF3BSNUQYJm8ibGxQWw","deploymentId":"dpl_7GUK3ixdQTF3BSNUQYJm8ibGxQWw","dynamics":[],"chunks":[]}