ModernUO/Distribution/Data
Kamron Batman 3f6a87483b
feat: Adds auto archiving (#794)
## Adds Auto Archiving
Backups are archived once an hour, day, and month. Archives older than 60 days are pruned automatically.

_Note: Automatic pruning is off by default_

### Archive compression format
The following formats are supported:
* Zstd (The fastest with best compression ratio)
* GZip
* Zip
* None (Tar)

_Note: By default archives use [zstandard](http://facebook.github.io/zstd/) format.
The archive format can be changed in modernuo.json `autoArchive.compressionFormat`_

### Restoring world from archive
Move the archive to the Saves folder (tar.zst file). On startup the server will extract the file and restore the latest save. See pictures below.

### Manually extracting an archives
#### Windows
* Use the latest version of [7-zip w/ ZStandard](https://github.com/mcmilk/7-Zip-zstd/releases/latest)
  1. Extract the `.tar.zst` file.
  2. Extract the `.tar` file. (Yes you have to do it in two steps)
* On Windows 10 you can use the command line. `zstd.exe` is in the Assemblies folder after building ModernUO.
  1. `tar --use-compress-program "Distribution\Assemblies\zstd.exe -d" -xvf "Archives\Hourly\archivefile.tar.zst" -C "path to where you want to extract it"`
#### Mac
* Install [Keka](https://www.keka.io)
  1. Drop the .tar.zst onto the keka interface.
#### Linux
  1. Install zstd from a package manager
  2. Run `tar -I zstd -xvf "Archives\Hourly\archivefile.tar.zst" -C "path to where you want to extract it"`

### Other changes
* Changes Autosave to occur at the same time no matter when the server is booted.
* Adds `[SaveFrequency <delay> [warning]`command to set save frequency and warning frequency in-game.
* Adds support for time zones that are configurable. The system timezone can also be manually configured. Check `TimeZoneHandler.cs` for details.

<img width="257" alt="Screen Shot 2021-09-22 at 11 23 18 PM" src="https://user-images.githubusercontent.com/3953314/134464929-a5bf3cd8-2ef0-4476-a9ad-71d0816a19ac.png">
<img width="241" alt="Screen Shot 2021-09-22 at 11 23 39 PM" src="https://user-images.githubusercontent.com/3953314/134464945-5f6f96dc-3d1e-434d-8256-5c6b3705e786.png">
<img width="836" alt="Screen Shot 2021-09-22 at 11 34 39 PM" src="https://user-images.githubusercontent.com/3953314/134464957-625e57f2-ef47-4ca1-a0a7-cd40c9b6539c.png">
<img width="631" alt="Screen Shot 2021-09-22 at 11 34 50 PM" src="https://user-images.githubusercontent.com/3953314/134464969-b2d65c0d-f8f5-497a-a832-5d805e8e0b22.png">
2021-09-25 17:22:05 -07:00
..
Binary Updates Bounds.bin 2020-04-26 00:25:03 -07:00
Bulk Orders Fixes more line ending issues (#267) 2020-09-27 13:54:56 -07:00
Components Fixes more line ending issues (#267) 2020-09-27 13:54:56 -07:00
Decoration Fixes more line ending issues (#267) 2020-09-27 13:54:56 -07:00
Locations fix(admin): Fixes Tokuno Go Locations (#602) 2021-05-15 19:07:28 -07:00
Spawns fix: Fixes spawners (#762) 2021-09-04 18:31:17 -07:00
assemblies.json fix: Fixes assembly loading. (#759) 2021-09-03 23:35:44 -07:00
bodyTable.cfg Fixes more line ending issues (#267) 2020-09-27 13:54:56 -07:00
categorization.json core(fix): Fixes type aliasing, categorizations, and NPE (#444) 2021-02-03 16:14:04 -08:00
containers.cfg Fixes more line ending issues (#267) 2020-09-27 13:54:56 -07:00
expansion.json feat(expansions): Adds expansion.json and loads expansions dynamically (#798) 2021-09-23 20:28:43 -07:00
map-definitions.json fix(core): Moves map definitions and cleans up loading maps, regions, and tiles (#431) 2021-01-25 11:05:52 -08:00
MLQuests.cfg Fixes more line ending issues (#267) 2020-09-27 13:54:56 -07:00
names.json Updates Data to JSON (#159) 2020-06-19 13:53:18 -07:00
pageresponse.cfg Fixes more line ending issues (#267) 2020-09-27 13:54:56 -07:00
regions.json fix(core): Fixes region base type (#635) 2021-06-02 23:12:52 -07:00
shrink.json fix(shrink): Changes shrink table to use json (#446) 2021-02-03 16:58:50 -08:00
signs.cfg Fixes more line ending issues (#267) 2020-09-27 13:54:56 -07:00
teleporters.json Fixes JSON WorldConverter (#263) 2020-09-20 14:56:46 -07:00
timezones.json feat: Adds auto archiving (#794) 2021-09-25 17:22:05 -07:00
treasure.cfg Fixes more line ending issues (#267) 2020-09-27 13:54:56 -07:00