KeyAllX
A premium timed reward distribution system designed to increase player engagement, retention, and server activity.
KeyAllX automates crate key distribution using a powerful timer engine, advanced reminder system, and full customization — giving you complete control over how and when rewards are delivered. Built using optimized practices, version 1.8 handles timed events effortlessly.
KeyAllX is a premium offering from NeonStudios. For licensing or purchase info, visit our Discord server.
Ideal For
- Survival / SMP servers — Keep players returning with predictable reward cycles.
- OP / Prison servers — Automated key distribution for crate-based economies.
- Event-based servers — Tie rewards to timed events for maximum impact.
- Growing communities — Increase engagement and drive online time.
Why KeyAllX
Most keyall plugins simply give rewards. KeyAllX is built to engineer player behavior and engagement.
Designed for Retention
Create predictable reward cycles that bring players online consistently.
Built-In Hype System
Multi-stage reminders build anticipation before rewards.
Fully Configurable
Every system is controlled via config — no hard limits.
PlaceholderAPI Ready
Integrates with scoreboards, GUIs, and chat systems.
Scalable
Works for small servers and large networks alike.
Installation
Setting up KeyAllX is straightforward. Follow these steps to get started.
- Download the latest
KeyAllX.jarfrom our releases or Discord. - Place the
.jarfile into your server's/pluginsdirectory. - Start or restart your server (do not use
/reload). - Configure the generated
config.ymlatplugins/KeyAllX/config.yml. - Apply changes by running:
/keyallx reload
KeyAllX requires a valid license key in config.yml to activate. Ensure your license-key field is set correctly before reloading.
Commands
KeyAllX provides a minimal, focused set of commands for management.
| Command | Description | Permission |
|---|---|---|
/keyallx reload |
Reload plugin configuration | keyallx.reload |
/reset-timer |
Reset the keyall timer | keyallx.keyallx.manipulate_timer |
/stop-timer |
Stop the keyall timer | keyallx.manipulate_timer |
Usage Examples
# Reload configuration after changes
/keyallx reload
# Reset the timer back to full duration
/reset-timer
# Stop the timer entirely
/stop-timer
Permissions
KeyAllX uses granular permissions for administrative control.
| Permission | Description | Default |
|---|---|---|
keyallx.reload |
Allows plugin reload via /keyallx reload |
op |
keyallx.keyallx.manipulate_timer |
Allows resetting the timer via /reset-timer |
op |
keyallx.manipulate_timer |
Allows stopping the timer via /stop-timer |
op |
Use a permissions plugin like LuckPerms to assign these to your admin or staff groups. Regular players do not need any permissions — rewards are distributed automatically.
Configuration
All KeyAllX behavior is controlled through config.yml. Below is a breakdown of every configuration section.
Core Settings
license-key: "LICENSE-KEY-123456"
debug: false
bStats: true
| Key | Type | Description |
|---|---|---|
license-key |
string | Your license key — required to activate the plugin |
debug |
boolean | Enables verbose debug logging to console |
bStats |
boolean | Enables anonymous usage statistics via bStats |
Timer System
The timer engine is the core of KeyAllX. It controls when rewards are automatically distributed.
timeInterval: 300
autoStart: true
| Key | Type | Default | Description |
|---|---|---|---|
timeInterval |
integer | 300 | Time between keyall events, in seconds |
autoStart |
boolean | true | Automatically start the timer when the server boots |
300 = 5 minutes · 600 = 10 minutes · 1800 = 30 minutes · 3600 = 1 hour
Timer Controls
/reset-timer— Resets the countdown back to the configuredtimeInterval./stop-timer— Completely stops the timer until the server restarts (ifautoStartis enabled) or until reset manually.
Rewards
Define what happens when the keyall event triggers. KeyAllX supports both global and per-player command execution.
Global Commands
These commands execute once from the console when a keyall triggers:
command:
- "crate key giveall key 1 -s"
- "broadcast &6[KeyAllX] &aAll players received a key!"
Per-Player Commands
These commands execute once for each online player. Use {player} as a placeholder for the player's name.
perPlayerCommand:
- "give {player} diamond 5"
- "eco give {player} 500"
You can use any server command here — including commands from other plugins like ExcellentCrates, CrazyCrates, or MythicMobs.
Messages & Visuals
KeyAllX provides rich visual feedback when rewards are distributed. All messages support standard Minecraft color codes (&a, &e) and hex colors.
Title Display
title-message: "&a&lCONGRATULATIONS!"
subtitle-message: "&7You've received a free key from KeyAll event!"
title-fade-in: 10
title-stay: 70
title-fade-out: 20
| Key | Description |
|---|---|
title-message |
Large text displayed on screen |
subtitle-message |
Smaller text below the title |
title-fade-in |
Fade-in duration (ticks, 20 ticks = 1 second) |
title-stay |
Duration the title stays on screen (ticks) |
title-fade-out |
Fade-out duration (ticks) |
Broadcast Message
message:
- "&6&lKEYALL EVENT COMPLETED"
- "&a✓ &7All online players have been awarded a free key!"
Sound Effect
sound: "ENTITY_PLAYER_LEVELUP"
volume: 1.0
pitch: 1.2
Hotbar / Action Bar
hotbar-message: "&6✨ &aFree key awarded! &6✨"
Reminder System
The built-in reminder system lets you send timed notifications before each keyall event, building anticipation and driving engagement. Support for sounds, titles, chat, and action bar per stage.
reminders:
300: # 5 minutes warning
message: '&6[KeyAllX] &eKeyAll event starting in &c5 minutes&e!'
hotbar: '&6⏰ KeyAll in 5 minutes!'
sound: BLOCK_NOTE_BLOCK_BELL
volume: 0.7
pitch: 1.0
10: # 10 seconds countdown
title: '&6&lKEYALL EVENT'
subtitle: '&eStarting in &c&l10 seconds'
fadeIn: 5
stay: 30
fadeOut: 5
sound: UI_BUTTON_CLICK
volume: 1.0
pitch: 2.0
Each key in the reminders map represents the number of seconds before the event. The components are optional—use only what you want to show.
Use a multi-stage countdown (10s, 5-4-3-2-1) with escalating pitch for maximum hype. E.g. at 3s Pitch=1.2, 2s Pitch=1.5, 1s Pitch=2.0.
Restrictions
KeyAllX supports several restriction types to control when and where events can trigger.
Player Requirements
minimumPlayers: 1
The event will only trigger if the number of online players meets or exceeds this threshold.
Time, Day & World Restrictions
# Restrict to specific time windows (24h format)
timeRestrictions:
- "09:00-12:00"
- "18:00-22:00"
# Restrict to specific days of the week
allowedDays:
- "FRIDAY"
- "SATURDAY"
- "SUNDAY"
# Restrict to specific worlds
allowedWorlds:
- "world"
- "world_nether"
# Require a permission to receive rewards
requiredPermission: "keyallx.receive"
Leave arrays empty ([]) to disable that restriction. When a restriction is set, the event will only trigger if all conditions are met.
Discord Integration
KeyAllX can send an automated webhook to your Discord server whenever a keyall event completes.
discordWebhook: "https://discord.com/api/webhooks/your-webhook-url"
discordMessage: "🎁 **KeyAll Event Completed!** 🎁\n{playerCount} players received free keys!"
Setup Steps
- Open your Discord server settings.
- Go to Integrations → Webhooks.
- Click New Webhook and copy the webhook URL.
- Paste the URL into
discordWebhookin your config. - Customize the
discordMessage(use{playerCount}for online players). - Run
/keyallx reload.
Leave discordWebhook: "" empty to disable Discord notifications entirely.
PlaceholderAPI
KeyAllX natively integrates with PlaceholderAPI to expose accurate, real-time timer stats.
Available Placeholders
| Placeholder | Description | Example Output |
|---|---|---|
%keyallx_timer% |
Smart formatted full remaining time | 04:32 or 1:02:30 |
%keyallx_days% |
Remaining days | 0 |
%keyallx_hours% |
Remaining hours | 1 |
%keyallx_mins% |
Remaining minutes | 2 |
%keyallx_secs% |
Remaining seconds component | 30 |
Usage Example — Scoreboard
# Example with TAB or FeatherBoard
scoreboard:
lines:
- "&6⏱ Next KeyAll: &f%keyallx_timer%"
Features
A comprehensive overview of everything KeyAllX offers.
⏱️ Timer Engine
- Automated reward distribution
- Reset / stop controls
- Auto-start on boot
🔔 Reminder System
- Multi-stage countdown
- Engagement-focused notifications
- Fully customizable timing
📊 PlaceholderAPI
- Real-time timer data
- Scoreboard integration
- Chat & GUI compatible
🎨 Visual Feedback
- Titles & subtitles
- Sounds & action bar
- Broadcast messages
🧠 Performance
- Lightweight & efficient
- Minimal TPS impact
- Network-ready
🔗 Discord Webhooks
- Event notifications
- Custom messages
- Easy setup
Use Cases
📈 Retention Boost
Keep players online during reward cycles. By setting a predictable timeInterval, players learn when rewards are coming and stay logged in. Combine with reminders for maximum effect.
🔥 Activity Spikes
Use the multi-stage reminder system to bring players back at peak times. A 5-minute, 1-minute, and 10-second countdown creates urgency and drives players to re-join before the event fires.
🎮 Event Integration
Combine KeyAllX with server events — use timeRestrictions and allowedDays to create weekend-only keyalls, or special event windows that amplify your server's activities.
# Only run keyalls on weekends between 2pm and 10pm
allowedDays:
- "SATURDAY"
- "SUNDAY"
timeRestrictions:
- "14:00-22:00"
Troubleshooting
Common issues and how to resolve them.
Commands not working
Ensure the plugin loaded successfully by checking your console for [KeyAllX] messages at startup. Verify permissions are assigned correctly. Try /keyallx reload to re-initialize.
Timer not starting
- Verify
autoStart: truein your config. - Check that your
license-keyis valid and active. - Restart the server fully (don't use
/reload). - Check the console for any error messages from KeyAllX.
Rewards not being given
- Verify the commands in the
commandandperPlayerCommandlist work when run manually from console. - Check that
minimumPlayersis met — the event won't fire if not enough players are online. - If using
timeRestrictionsorallowedDays, ensure the current time/day is within the allowed window. - Check for typos in the YAML — use a YAML validator.
Discord webhook not sending
- Verify the webhook URL is correct and active in your Discord server settings.
- Ensure your server has outbound HTTPS access (some hosts restrict this).
- Enable
debug: trueto see detailed webhook logs in console.
Getting Help
If you can't resolve your issue, join our Discord server and open a support ticket with:
- Your server version (
/version) - KeyAllX version
- Relevant console errors
- Your
config.ymlcontents (redact your license key)
FAQ
Does KeyAllX support PlaceholderAPI?
Yes — KeyAllX fully supports PlaceholderAPI built-in. See the PlaceholderAPI section for available placeholders and usage examples.
Can I customize the rewards per player?
Fully. You can define perPlayerCommand to run commands using {player} placeholder. This runs the command logic on every player currently online when KeyAll event is hit.
Can I stop the timer?
Yes — use /stop-timer to halt the timer. Use /reset-timer to restart it from the full interval. Both require the appropriate permission.
Does it work on BungeeCord / Velocity networks?
KeyAllX operates per-server. On a network, you would install it on each backend server where you want keyall events to run independently.
What happens if no players are online?
If the minimumPlayers threshold isn't met, the timer might be skipped or deferred depending on server behavior. Ensure your configuration aligns with the events.
Is there a free version?
KeyAllX is a premium plugin by NeonStudios. Contact us on Discord for pricing and licensing information.
Support
Need help with KeyAllX? We're here for you.
Join Our Discord
Get help from our team, report bugs, request features, and connect with the community.
dsc.gg/neonstudios