KeyAllZ
A keyall plugin to keep players engaged with timed rewards
KeyAllZ
KeyAllZ – Automated Key Distribution
Automate server-wide rewards with flexible timers, commands, and fully customizable effects.
---
Features
* Create multiple KeyAll types such as vote keys, donor keys, event rewards, or any custom reward * Run timed events that execute commands for all online players * Use fixed or randomized intervals for consistent or dynamic rewards * Execute commands per player or globally from the console * Fully customizable chat messages, action bars, titles, sounds, and particle effects * Built-in repeating reminders for players * PlaceholderAPI integration with live countdown placeholders * Optional Redis support for multi-server synced timers * Optimized and lightweight with minimal performance impact, even on large networks
---
Recommended Dependency
PlaceholderAPI PlaceholderAPI
PlaceholderAPI is required for countdown and time-based placeholders.
Documentation is available on the Wiki: https://zentari-studio.gitbook.io/keyallz
---
Installation
1. Download `KeyAllZ.jar` (v3.x.x) 2. Place the jar file into the `/plugins` directory 3. Restart the server 4. Edit `config.yml` to your needs 5. Run `/keyallz reload` to apply changes
---
Redis (Optional Multi-Server Support)
KeyAllZ can sync timers across multiple servers using Redis.
When enabled:
* Timers stay in sync across your entire network * Players cannot claim rewards multiple times by switching servers * Each server handles its own online players without duplication * Timers recover automatically after restarts or server failures
Configuration
```yaml redis: enabled: false host: "localhost" port: 6379 password: "" database: 0
Key prefix for all Redis keys. Change this if you share Redis with other plugins.
key-prefix: "keyallz"
Unique ID for this server in the cluster. Leave empty to auto-generate.
server-id: "" ```
Set `enabled` to true and configure your Redis connection.
All servers must use:
* The same Redis connection * The same KeyAll definition names
Rewards can differ per server.
---
Configuration Example
```yaml keyalls: example: title: "<green>You received a KeyAll reward!" actionbar: "<yellow>Enjoy your free key!" chat: "<gray>[KeyAll] <aqua>Congrats %player%, you got a reward!" sound: "minecraft:entity.player.levelup" sound-volume: 1.0 sound-pitch: 1.0
player-commands: - "warp crates" - "say I just got a key!"
console-commands: - "PLAYER: crate key give %player% test 1"
permission: "keyall.receive.example"
reminders: enabled: true interval: 600 message: "<yellow>Don't forget to claim your KeyAll! Time left: %remaining-time%" ```
---
PlaceholderAPI Placeholders
* `%keyallz_timer_<name>%` shows the full remaining time (for example: `1d 2h 10m 5s`) * `%keyallz_days_<name>%` shows remaining days * `%keyallz_hours_<name>%` shows remaining hours * `%keyallz_minutes_<name>%` shows remaining minutes * `%keyallz_secs_<name>%` or `%keyallz_seconds_<name>%` shows remaining seconds * `%keyallz_time_short_<name>%` shows time in `HH:mm:ss` format * `%keyallz_remaining_<name>%` shows a condensed remaining time such as `10m 30s`
---
Commands
* `/keyallz start <definition> <seconds> [loop]` starts a timer and optionally enables looping * `/keyallz stop <definition>` stops a running timer * `/keyallz loop <definition> <true|false>` enables or disables looping * `/keyallz remind <definition> <intervalSeconds>` sets a repeating reminder interval * `/keyallz list` shows all active timers with remaining time * `/keyallz reload` reloads the configuration and stops all timers
---
Usage Examples
* `/keyallz start votekey 300 true` starts the votekey timer for 5 minutes and loops it * `/keyallz stop votekey` stops the votekey timer * `/keyallz loop donorkey false` disables looping for donorkey * `/keyallz remind example 30` sends reminders every 30 seconds * `/keyallz list` displays all active timers * `/keyallz reload` reloads the plugin configuration
---
Notes
* Console commands with the `PLAYER:` prefix are executed individually for each online player * Both player commands and console commands are executed when a timer finishes * Looping timers automatically restart after completion * Reminders notify players at the configured interval * Use `/keyallz list` to monitor running timers
---
Permissions
* `keyallz.admin` grants access to all KeyAllZ commands
---
Support and Feedback
Join the Discord server for support and updates: https://discord.gg/e6uXVjp4MX