About Auto Wipe
Auto Wipe - This plugin allows to schedule regular wipes, including map, blueprint, and data resets. It offers customizable settings for wipe intervals and automated backups to prevent data loss. This plugin will simplify the maintenance process and reduce administrative workload.
What this plugin can do?
- Create specific wipe schedules for daily, weekly and monthly basis.
- Wipe oxide(config/data/logs/plugins)/map files.
- Create backups of data/map files.
- Send discord wipe message using tool: https://discohook.org/
- Do files replacements during wipe. (In case if you want to load new config files for new map)
- Set own startup ConVars such as 'server.seed', 'server.levelurl'.
No additional scripts or harmony mods required, everything plugin based.
How it works?
When the wipe preset schedule is enabled and matched, the plugin sends a restart command. During server startup, it deletes all configured files before they are loaded by other plugins or the server itself and executes all commands from the preset. It is recommended to have software or a batch file that will automatically start the server after shutdown because the "restart" command only shuts down the server without restarting it.
CONFIGURATION
{ "Wipe restart seconds": 10, "Enabled wipe presets": [ "monthly", "biweekly", "weekly" ], "Backup files before wiping them?": false, "Discord webhook url": "", "Wipe presets": { "weekly": { "Identity/Map files that should be wiped.": [ ".sav", "player.deaths.", "player.identities.", "player.states.", "player.tokens.", "sv.files." ], "Oxide files that should be wiped.": [ "data/WIPE", "config/wipe.json", "logs" ], "ConVar commands (executed on server start)": [ "server.level \"Procedural Map \"", "server.seed \"55555\"", "server.worldsize \"400\"", "server.saveinterval \"300\"", "server.levelurl \"\"" ], "Wipe commands (executed on server full load)": [ "test command here", "and another one" ], "Is wipe preset persistent, if true it won't be auto removed after executed.": true, "Wipe schedule": { "Schedule frequency (Daily, Weekly, Monthly)": "Weekly", "Time of day in local time or UTC": "11:31:00", "Day of week for weekly/monthly frequency (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)": "Friday", "Number of Matching Days? Sets the number of days per month to match the given criterion (default is 1).": 1, "Use UTC time? (If false, local time will be used)": false, "Time since map file creation time, for FileTime frequency.": "00:00:00" }, "Discord wipe announce message files (data/AAutoWipe/filename.json) (Use: 'https://share.discohook.app/go/j1elnjf1' to get json)": [ "weeklywipe" ], "File replacements (SUPPORTS ONLY ZIP)": [ { "Zip source file (Located in data/AAutoWipe/filename.zip)": "test", "Destination (from root folder)": "oxide/" } ] }, "biweekly": { "Identity/Map files that should be wiped.": [ ".sav", "player.deaths.", "player.identities.", "player.states.", "player.tokens.", "sv.files." ], "Oxide files that should be wiped.": [ "data/WIPE", "config/wipe.json", "logs" ], "ConVar commands (executed on server start)": [ "server.level \"Procedural Map \"", "server.seed \"55555\"", "server.worldsize \"400\"", "server.saveinterval \"300\"", "server.levelurl \"\"" ], "Wipe commands (executed on server full load)": [ "test command here", "and another one" ], "Is wipe preset persistent, if true it won't be auto removed after executed.": true, "Wipe schedule": { "Schedule frequency (Daily, Weekly, Monthly)": "FileTime", "Time of day in local time or UTC": "11:31:00", "Day of week for weekly/monthly frequency (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)": "Friday", "Number of Matching Days? Sets the number of days per month to match the given criterion (default is 1).": 1, "Use UTC time? (If false, local time will be used)": false, "Time since map file creation time, for FileTime frequency.": "14.00:00:00" }, "Discord wipe announce message files (data/AAutoWipe/filename.json) (Use: 'https://share.discohook.app/go/j1elnjf1' to get json)": [ "weeklywipe" ], "File replacements (SUPPORTS ONLY ZIP)": [ { "Zip source file (Located in data/AAutoWipe/filename.zip)": "test", "Destination (from root folder)": "oxide/" } ] }, "monthly": { "Identity/Map files that should be wiped.": [ ".sav", "player.blueprints", "player.deaths", "player.identities", "player.states", "player.tokens", "sv.files" ], "Oxide files that should be wiped.": [ "data/Kits/kits_data.json", "data/wipe", "config/wipe.json", "logs" ], "ConVar commands (executed on server start)": [ "server.level \"Procedural Map\"", "server.seed \"55555\"", "server.worldsize \"400\"", "server.saveinterval \"300\"", "server.levelurl \"\"" ], "Wipe commands (executed on server full load)": [ "test command here", "and another one" ], "Is wipe preset persistent, if true it won't be auto removed after executed.": true, "Wipe schedule": { "Schedule frequency (Daily, Weekly, Monthly)": "Monthly", "Time of day in local time or UTC": "14:00:00", "Day of week for weekly/monthly frequency (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)": "Tuesday", "Number of Matching Days? Sets the number of days per month to match the given criterion (default is 1).": 1, "Use UTC time? (If false, local time will be used)": true, "Time since map file creation time, for FileTime frequency.": "00:00:00" }, "Discord wipe announce message files (data/AAutoWipe/filename.json) (Use: 'https://share.discohook.app/go/j1elnjf1' to get json)": [ "monthlywipe" ], "File replacements (SUPPORTS ONLY ZIP)": [ { "Zip source file (Located in data/AAutoWipe/filename.zip)": "test", "Destination (from root folder)": "oxide/" } ] } } }
COMMANDS
autowipe.run <preset name> - runs auto wipe preset
CONTACTS
Need help or custom plugin for your server?
Contact me using Discord: metangerine
----------------------------------------------------------------------