πŸ“š Help Center & Community Forum

Everything you need to master CustomDisasters v3.5.2

πŸš€ Getting Started

Installation & Setup

βœ… Requirements:

  • Paper/Spigot Server - 1.19.x, 1.20.x, or 1.21.x (cross-version compatible!)
  • Java 17+
  • Internet Connection (for cloud editor)
  • ProtocolLib - Optional, enhances visual effects
✨ v3.5.2 NEW: Works seamlessly on 1.19.x through 1.21.x without code changes!

Quick Start in 5 Minutes

  1. Download plugin from Modrinth and place in plugins/
  2. Restart your server (no config needed - defaults work great!)
  3. In-game, run: /disasters editor
  4. You'll get a unique URL like: https://customdisasters.online/editor/ABC123
  5. Open in browser and start editing disasters!
πŸ’‘ Pro Tip: Changes auto-save every 30 seconds. No need to manually save!

File Structure

plugins/CustomDisasters/ β”œβ”€β”€ config.yml # Main settings β”œβ”€β”€ plugin.yml # Plugin metadata β”œβ”€β”€ custom/ # Your custom disasters β”‚ └── example_disaster.yml β”œβ”€β”€ sounds/ # Custom audio files β”‚ └── start.ogg β”œβ”€β”€ data/ # Runtime data └── rewards.yml # Reward configs

πŸ“ Commands Reference

Core Commands

Command Description Permission Alias
/disasters editor Open cloud management interface customdisasters.admin /disaster editor
/disaster start <name> Start a specific disaster customdisasters.start β€”
/disaster stop Stop current active disaster customdisasters.stop β€”
/disaster list Show all available disasters customdisasters.list β€”
/disaster status v3.5.1 Check active disaster & remaining time customdisasters.status β€”
/disaster reload Reload all configurations customdisasters.reload β€”
/disaster difficulty <level> Set global difficulty (1-5) customdisasters.admin β€”

Permission Groups

For Server Admins (LuckPerms/PermissionEx):

# Disaster Operator - customdisasters.admin # All admin features - customdisasters.start # Start disasters - customdisasters.stop # Stop disasters - customdisasters.list # List disasters - customdisasters.reload # Reload configs - customdisasters.status # Check status # Player Permissions - customdisasters.trigger # Trigger player disasters - customdisasters.witness # Receive disaster notifications

✨ Features & What's New in v3.5.2

NEW Cross-Version Compatibility (1.19–1.21)

For the first time, one plugin jar works on all versions:

1.19.x

Full support with fallbacks

1.20.x

Optimized particle system

1.21.x

Latest features & APIs

Build once, deploy anywhere. No version-specific builds needed!

NEW MySQL Database Integration

Optional persistent storage for statistics and analytics:

  • πŸ“Š Disaster History - Track all events with timestamps
  • πŸ‘€ Player Statistics - Deaths, participation, playtime
  • πŸ’Ύ Config Backups - Auto-backup custom disasters
  • 🎁 Reward Logs - See who got what rewards
Optional Feature: Disabled by default. Enable in config.yml if you have a MySQL server.

Cloud Editor (v3.5+)

  • 🌐 Web-Based Interface - Edit from any device
  • πŸ’Ύ Auto-Save - Every 30 seconds
  • ⚑ Instant Apply - Changes live without restart
  • πŸ”’ Session Security - 1-hour expiry, single-use URLs
  • 🎨 4-Tab Builder - Basic info, Mobs, Effects, Sounds

NEW Update Checker

Admins are notified when new versions are available:

  • βœ… Checks Modrinth on startup
  • πŸ“¨ In-game notification for OPs who join
  • πŸ”— Direct link to download page

Visual Effects System

  • 🌫️ Fog Effects - Atmospheric density control
  • ✨ Particle System - 50+ particle types
  • ⚑ Lightning Strikes - Configurable frequency
  • πŸŒ™ Custom Skies - Blood moons, darkness effects
  • πŸ”Š Ambient Sounds - Background atmosphere

Advanced Disaster Features

  • 🌊 Multi-Wave Spawning - Escalating difficulty
  • πŸ‘Ή Custom Mobs - Equipment, special abilities
  • ⭐ Difficulty Scaling - 5 preset levels (Easy β†’ Insane)
  • 🎯 Player Objectives - Tasks during disasters
  • 🎁 Reward System - Money, commands, items
  • πŸ“… Smart Scheduling - Random timing, cooldowns

πŸ’Ύ Database & Analytics (v3.5.2)

Setting Up MySQL

Step 1: Create a MySQL database and user:

CREATE DATABASE customdisasters; CREATE USER 'disasters'@'localhost' IDENTIFIED BY 'yourpassword'; GRANT ALL PRIVILEGES ON customdisasters.* TO 'disasters'@'localhost'; FLUSH PRIVILEGES;

Step 2: Edit config.yml:

mysql: enabled: true host: "localhost" port: 3306 database: "customdisasters" username: "disasters" password: "yourpassword" features: log-disasters: true track-player-stats: true backup-custom-disasters: true log-rewards: true
Plugin auto-creates tables on first run!

Database Tables

disaster_history - Track all disaster events

Column Type Purpose
id INT Unique identifier
disaster_name VARCHAR(255) Name of the disaster
start_time TIMESTAMP When it started
duration_seconds INT How long it lasted

player_disaster_stats - Per-player metrics

Column Type Purpose
player_uuid VARCHAR(36) Unique player ID
total_deaths INT Deaths during disasters
disasters_experienced INT Disasters survived
last_disaster_date TIMESTAMP Last participation

Using Database Data

Query your disaster stats for analytics dashboards:

-- Most active players in disasters SELECT player_name, disasters_experienced FROM player_disaster_stats ORDER BY disasters_experienced DESC LIMIT 10; -- Deadliest disasters SELECT disaster_name, COUNT(*) as deaths FROM disaster_history GROUP BY disaster_name ORDER BY deaths DESC;

πŸ”§ Advanced Configuration Expert

Custom Disaster YAML Format

Create powerful disasters with this structure:

DisasterName: "Plague of Spiders" Description: "Spiders overrun the world" Announcement: "§c⚠ §lSPIDER SWARM INCOMING!" DurationDays: 2 Difficulty: "HARD" Mobs: - "SPIDER" - "CAVE_SPIDER" - "/BEE" # Deny bees Waves: - Day: 0 Time: 0 MobCount: 30 Mobs: ["SPIDER"] - Day: 1 Time: 12000 MobCount: 50 Mobs: ["SPIDER", "CAVE_SPIDER"] Effects: fog_enabled: true particles_enabled: true lightning_enabled: true Rewards: money: 2000.0 items: - "DIAMOND:5" - "EMERALD:3"

Difficulty Multipliers

Set custom multipliers for each difficulty level:

difficulty: easy: mob_count: 0.5 mob_stats: 0.5 wave_delay: 1.5 normal: mob_count: 1.0 mob_stats: 1.0 wave_delay: 1.0 hard: mob_count: 1.5 mob_stats: 1.5 wave_delay: 0.7 expert: mob_count: 3.0 mob_stats: 3.0 wave_delay: 0.3

Particle Configuration

Control visual intensity and effects:

visual-effects: global-enabled: true particles-enabled: true particle-density: 100 # 0-100 auto-reduce-on-lag: true # Reduces under 15 TPS fog-enabled: true fog-density: 80 sound-volume: 1.0 # 0.0-2.0

Sound System

Add custom audio (OGG format) to plugins/CustomDisasters/sounds/

# File: start.ogg (custom start sound) # Volume: 0-1.0 (1.0 = normal, 2.0 = double volume) # Pitch: 0.5-2.0 (1.0 = normal) sounds: start: "start.ogg" ambient: "ENTITY_WARDEN_AGITATED" ambient-volume: 0.8 ambient-pitch: 1.0

Expert Custom Mob Attributes

custom-mobs: - name: "Iron Zombie" base: "ZOMBIE" equipment: helmet: "IRON_HELMET" chestplate: "IRON_CHESTPLATE" leggings: "IRON_LEGGINGS" boots: "IRON_BOOTS" health: 50.0 # Extra health damage: 8.0 # Extra damage speed: 0.3 # Movement speed knockback-resistance: 0.8

πŸ”§ Troubleshooting

⚠️ Session Creation Fails

Error: "Failed to create session"

Solutions:

  1. Check internet connection: ping google.com
  2. Verify firewall allows HTTPS (port 443)
  3. Check server console for detailed error
  4. Ensure admin permissions: /permission setuser Admin customdisasters.admin
  5. Restart plugin: /disaster reload

⚠️ "Session Not Found" Error

Causes:

  • Session expired (1 hour limit)
  • Browser cache needs clearing
  • Server was restarted

Fix: Create a new session: /disasters editor

⚠️ Particles Not Showing

Check these:

  1. Is ProtocolLib installed? (Optional but recommended)
  2. Are particle effects enabled in config.yml?
  3. Check TPS - particles reduce at low TPS
  4. Particle density setting: particle-density: 100
  5. Run: /disaster reload

⚠️ MySQL Connection Fails

Error: "Failed to initialize MySQL"

Debug steps:

  1. Test MySQL connection: mysql -h localhost -u disasters -p customdisasters
  2. Verify credentials in config.yml
  3. Check MySQL server is running: sudo systemctl status mysql
  4. Check firewall: netstat -tulpn | grep 3306
  5. Try disabling MySQL for now: mysql: enabled: false

⚠️ Changes Not Applying

Checklist:

  • βœ“ Did you click "Save Changes" in editor?
  • βœ“ Is YAML syntax valid? (Use a YAML validator)
  • βœ“ No tabs in YAML (use spaces only)
  • βœ“ Run /disaster reload if needed
  • βœ“ Check server console for error messages
  • βœ“ File permissions: is plugins/ writable?

πŸ”΄ Performance Issues

Lag during disasters?

# Reduce particle density particle-density: 50 # Reduce mob count waves: - MobCount: 20 # Down from 50 # Enable TPS monitoring performance: enable-tps-monitoring: true warning-tps: 15.0

πŸ“‹ Check Server Logs

Always check logs/latest.log for detailed error messages:

tail -f logs/latest.log | grep CustomDisasters

❓ FAQ & Community

Q: Do I need MySQL to use the plugin?

A: No! MySQL is completely optional. All core features work without it. Enable it only if you want statistics and backups.

Q: Can I edit disasters offline?

A: Yes! Edit YAML files directly in plugins/CustomDisasters/custom/ then run /disaster reload. Cloud editor requires internet.

Q: Does it work with Spigot or only Paper?

A: Works best with Paper, but compatible with Spigot 1.19+. We recommend Paper for better performance and features.

Q: Can multiple admins edit at the same time?

A: Yes! Each admin gets their own session. Different disasters can be edited simultaneously.

Q: What if the server restarts during editing?

A: Your edits are safe! Click "Save Changes" and they'll apply when the server is back up.

Q: How do I get update notifications?

A: OPs automatically get notified when joining the server if an update is available. Direct link to Modrinth is included.

Q: Can I schedule automatic disasters?

A: Yes! Use the Smart Scheduling system. Set min/max intervals in config.yml and disasters will trigger automatically.

Q: What versions does v3.5.2 support?

A: 1.19.x, 1.20.x, and 1.21.x. One jar works everywhere!

Q: Where do I report bugs?

A: Report issues on Modrinth or check GitHub issues.

Q: Is there a Discord server?

A: Join our community on Discord for support, ideas, and updates! Link available on Modrinth.

Still Need Help?

Can't find what you're looking for? Reach out to the community or check the download page!

Back to Home Download & Support