## MCS3-Backup
A Spigot plugin that can back up Minecraft server worlds and upload them to S3.
### Features
- Create backups of worlds (schedules configurable using cron format)
- Automatic deletion of old backups (number of backups to keep configurable in config.yml)
- Upload backups to S3 (authentication and enable/disable configurable)
### Installation
1. Download the latest .jar file from [Releases](
https://github.com/Kohxax/MCS3-Backup/releases)
2. and place it in the plugins folder.
3. Restart the server.
4. Edit plugins/MCS3-Backup/config.yml and configure the settings as needed.
### Configuration
```yaml
backup-time: "0 0 * * *" # Schedule backups using cron format
backup-worlds: # List of directories to back up (relative to the root directory)
- world
- world_nether
- world_the_end
backup-keep-count: 1 # Number of backups to keep
S3: # See S3 setup instructions below
enabled: false # Enable or disable uploading to S3
bucket: "your-bucket-name"
region: "ap-northeast-1"
storage-class: "STANDARD"
upload-prefix: "backups/" # Slash at the end is optional
access-key: "your-access-key"
secret-access-key: "your-secret-access-key"
```
### S3 Setup
1. Create an IAM user with `s3

utObject` permissions and obtain the Access Key and Secret Access Key.
2. Create an S3 bucket and note the bucket name and region.
3. Edit the S3 section in `config.yml` and enter the obtained credentials.
4. Optionally, configure the `storage-class` and `upload-prefix`.
5. Restart the server.
### Planned Features
- Manual backup via command
- Reload configuration via command
- List and delete backups
- Generate download links for backups
- Automatic deletion of backups in the S3 bucket
### License
MCS3-Backup is released under the MIT License.