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.

Premium Plugin

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.

  1. Download the latest KeyAllX.jar from our releases or Discord.
  2. Place the .jar file into your server's /plugins directory.
  3. Start or restart your server (do not use /reload).
  4. Configure the generated config.yml at plugins/KeyAllX/config.yml.
  5. Apply changes by running:
Console
/keyallx reload
License Required

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

Commands
# 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
Tip

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

YAML — config.yml
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.

YAML
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
Example

300 = 5 minutes · 600 = 10 minutes · 1800 = 30 minutes · 3600 = 1 hour

Timer Controls

  • /reset-timer — Resets the countdown back to the configured timeInterval.
  • /stop-timer — Completely stops the timer until the server restarts (if autoStart is 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:

YAML
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.

YAML
perPlayerCommand:
  - "give {player} diamond 5"
  - "eco give {player} 500"
Tip

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

YAML
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

YAML
message:
  - "&6&lKEYALL EVENT COMPLETED"
  - "&a✓ &7All online players have been awarded a free key!"

Sound Effect

YAML
sound: "ENTITY_PLAYER_LEVELUP"
volume: 1.0
pitch: 1.2

Hotbar / Action Bar

YAML
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.

YAML
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.

Pro Tip

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

YAML
minimumPlayers: 1

The event will only trigger if the number of online players meets or exceeds this threshold.

Time, Day & World Restrictions

YAML
# 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.

YAML
discordWebhook: "https://discord.com/api/webhooks/your-webhook-url"
discordMessage: "🎁 **KeyAll Event Completed!** 🎁\n{playerCount} players received free keys!"

Setup Steps

  1. Open your Discord server settings.
  2. Go to Integrations → Webhooks.
  3. Click New Webhook and copy the webhook URL.
  4. Paste the URL into discordWebhook in your config.
  5. Customize the discordMessage (use {playerCount} for online players).
  6. Run /keyallx reload.
Note

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

YAML — Scoreboard Config
# 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.

YAML — Example: Weekend Only
# 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

"/keyallx" or "/reset-timer" not recognized

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: true in your config.
  • Check that your license-key is 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 command and perPlayerCommand list work when run manually from console.
  • Check that minimumPlayers is met — the event won't fire if not enough players are online.
  • If using timeRestrictions or allowedDays, 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: true to 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.yml contents (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
All Documentation