ObsidianVault Documentation
Complete Setup and Usage Guide
Installation Guide
Manual Installation
Download the latest ObsidianVault.jar from the resource page
Place the JAR file in your server's plugins folder
Restart your server or use /reload confirm
The plugin will generate plugins/ObsidianVault/config.yml ]
Getting Your Credentials
Before configuring the plugin, you need ObsidianVault credentials:
Create Account - Visit obsidianvault.io and sign up (free account includes 5GB storage)
Access Dashboard - Log in to your dashboard
Generate Credentials - Click "Add New Server" → "Generate New Credentials"
Copy Values - Save your Client ID and Client Secret immediately
Keep Secure - Store these safely - they won't be shown again
⚙️ Configuration
Edit
plugins/ObsidianVault/config.yml :
Basic Configuration
Code (Text):
# ObsidianVault Configuration
# Authentication settings for ObsidianVault
auth:
client-id: your-client-id-here # Get this from your dashboard
client-secret: your-client-secret-here # Get this from your dashboard
# Backup configuration
backup:
# Cron expression for scheduling backups (default: daily at midnight)
# Format: minute hour day-of-month month day-of-week
cron: "0 0 * * *"
# List of worlds to include in the automated backups
worlds:
- world
- world_nether
- world_the_end
Commands Reference
All commands start with
/backup :
/backup list
List all available backups
obsidianvault.backup
/backup create world <name>
Create a world backup
obsidianvault.backup
/backup create plugin <name>
Create a plugin backup
obsidianvault.backup
/backup history <type> <name>
View backup history
obsidianvault.backup
/backup download <type> <name> [date]
Get download link for backup
obsidianvault.backup
/backup delete <type> <name> [date]
Delete a backup
obsidianvault.admin
/backup status
Check backup operation status
obsidianvault.backup
/backup reload
Reload plugin configuration
obsidianvault.admin
Command Examples
Code (Text):
# Create a backup of the main world
/backup create world world
# Create a backup of WorldEdit plugin
/backup create plugin WorldEdit
# View all backups for a world
/backup history world survival
# Download the latest backup of a world
/backup download world survival
# Download a specific backup by date (ISO-8601 format)
/backup download world survival 2024-01-15T10:30:00Z
# Delete all backups for a world (with confirmation)
/backup delete world old_world
# Check current backup operations
/backup status
Permissions
obsidianvault.backup
Access to backup commands
op
obsidianvault.admin
Administrative commands
op
obsidianvault.reload
Reload configuration
op
⏰ Scheduling Backups
ObsidianVault uses cron expressions for scheduling. Here are common patterns:
Daily at midnight
0 0 * * *
Once per day
Every 6 hours
0 */6 * * *
4 times per day
Every 30 minutes
*/30 * * * *
48 times per day
Weekly (Sunday)
0 0 * * 0
Once per week
Monthly (1st)
0 0 1 * *
Once per month
Weekdays at 2 AM
0 2 * * 1-5
Monday-Friday
Cron Format Explanation
Code (Text):
minute hour day-of-month month day-of-week
0-59 0-23 1-31 1-12 0-7
(0,7 = Sunday)
Examples:
- * means "any value"
- */5 means "every 5 units"
- 1-5 means "1 through 5"
- 1,3,5 means "1, 3, and 5"
Advanced Features
Backup Types
World Backups - Include all chunks, player data, and world settings
Plugin Backups - Include plugin JAR and data folder
Incremental Backups - Only upload changed files (automatic)
Compressed Backups - Reduce upload size and storage usage
Storage Management
Automatic Cleanup - Old backups removed based on retention policy
Quota Monitoring - Warnings when approaching storage limits
Compression - Reduces backup size by 60-80%
Deduplication - Identical files shared across backups
Troubleshooting
Common Issues
Spoiler: Authentication Problems
Symptoms: "Authentication failed" or "Invalid credentials" errors
Solutions:
Verify client-id and client-secret are correct (copy-paste from dashboard)
Check for extra spaces or special characters in config.yml
Ensure your ObsidianVault account is active and not suspended
Regenerate credentials if they may have been compromised
Test credentials by logging into the web dashboard
Spoiler: Upload Failures
Symptoms: Backups fail to upload or timeout
Solutions:
Check server internet connection and DNS resolution
Verify you haven't exceeded storage quota (check dashboard)
Ensure firewall allows HTTPS connections on port 443
Check available disk space on server (need 2x world size temporarily)
Increase timeout value in config for large worlds
Enable compression to reduce upload size
Try uploading during off-peak hours
Spoiler: Large World Issues
Symptoms: OutOfMemory errors or very slow backups
Solutions:
Enable copy-before-upload: true in config
Increase server memory allocation (-Xmx parameter)
Schedule backups during low-activity periods
Reduce chunk-size for slower connections
Consider backing up worlds individually rather than all at once
Enable compression to reduce memory usage
Spoiler: Permission Errors
Symptoms: "You don't have permission" messages
Solutions:
Add obsidianvault.backup permission to user/group
For administrative commands, add obsidianvault.admin
Check your permissions plugin configuration
Verify player has necessary ranks/groups
Test with OP status to isolate permission issues
Debug Mode
Enable detailed logging by setting
debug: true in config.yml:
Code (Text):
backup:
debug: true # Enable verbose logging
This will log detailed information about:
Authentication attempts
File compression and upload progress
Network requests and responses
Error stack traces
Performance metrics
Log Files
Check these log files for issues:
logs/latest.log - Main server log
plugins/ObsidianVault/logs/ - Plugin-specific logs
Console output during backup operations
Security Best Practices
Never share credentials publicly or in screenshots
Don't commit config.yml with credentials to version control
Use environment variables for production servers when possible
Regenerate credentials immediately if compromised
Regular security audits of who has access to your server
Monitor backup logs for unauthorized access attempts
Getting Help
If you need additional support:
When contacting support, please include:
Plugin version and server version
Relevant log files or error messages
Your configuration (with credentials removed)
Steps to reproduce the issue
---
Last updated: [DATE]$(date +"%B %Y")[/DATE] | Plugin version: Latest