
A PaperMC Challenge Util including a timer, a waiting room system, fast world resets and different challenges that can be combined at will.
ChallengeUtil - Advanced Speedrunning & Challenge Plugin
Platform: Minecraft 1.21.11 (Paper/Spigot)
Dependencies: PlaceholderAPI (optional, for team chat prefixes)
Overview
ChallengeUtil is a comprehensive Minecraft plugin designed for speedrunning servers and challenge gamemodes. It features instant world resets (~30 seconds, no server restart!), a built-in timer system, multiple game modes, and various challenge mechanics to create unique and engaging gameplay experiences.
Perfect for Velocity/BungeeCord proxy networks - players stay connected during world regeneration!
Key Features
Instant World Reset System
Advanced Timer System
HH:MM:SS with visual indicatorsMultiple Game Modes
Manhunt Mode
Classic speedrunner vs hunters gameplay:
/start for balanced gameplayTeam Race Mode
Competitive team-based speedrunning:
Challenge Modes
Chunk Items Challenge
Friendly Fire = OP Items Challenge
Damage teammates, get rewards:
Advanced Configuration
Dual-World System
World Generation Settings
Proxy Integration
Commands
Main Commands
| Command | Aliases | Description | Permission |
|---|---|---|---|
/start |
- | Start or resume the timer | challenge.start |
/pause |
- | Pause the timer | challenge.pause |
/reset |
- | Reset timer only (no world reset) | challenge.reset |
/fullreset |
/resetworld, /worldreset |
Holodeck reset - regenerate world instantly (3-5 sec) | challenge.fullreset |
/join |
/play, /go |
Join the speedrun world from waiting room | challenge.join |
/settings |
/config, /cfg |
Open settings GUI (waiting room only) | challenge.settings |
/team <name> |
- | Join a team (Manhunt or Team Race) | challenge.team |
Team Command Examples
Manhunt Mode:
/team runner - Join the runner team/team hunter - Join the hunter team/team spectator - Join spectatorsTeam Race Mode:
/team - List all available teams and member counts/team Rot - Join Team Rot (Red)/team Blau - Join Team Blau (Blue)/team Grün - Join Team Grün (Green)Permissions
Main Permissions
| Permission | Description | Default |
|---|---|---|
challenge.host |
Master permission - grants all admin commands | OP |
challenge.start |
Start/resume the timer | OP |
challenge.pause |
Pause the timer | OP |
challenge.reset |
Reset timer only | OP |
challenge.fullreset |
Execute Holodeck reset (world regeneration) | OP |
challenge.settings |
Open settings GUI | OP |
challenge.join |
Join speedrun world from waiting room | True (all players) |
challenge.team |
Join teams in Manhunt/Team Race | True (all players) |
challenge.* |
Grant all permissions | OP |
Permission Hierarchy
The challenge.host permission includes:
challenge.startchallenge.pausechallenge.resetchallenge.fullresetchallenge.settingsHost Control Features
Players with the challenge.host permission receive special tools:
Host Control Item
Host Control GUI
Interactive menu with three options:
/start/settings GUI/fullreset with warningConfiguration
The plugin features extensive configuration through config.yml:
Proxy Settings
proxy:
lobby-server: lobby1 # Lobby server name in proxy config
this-server-name: challenge1 # This server's name in proxy config
World Settings
world:
waiting-room: waiting_room # Fallback world (lobby)
speedrun-world: speedrun_world # World that gets regenerated
generation:
type: NORMAL # NORMAL, FLAT, LARGE_BIOMES, AMPLIFIED
generate-structures: true
random-seed: true
difficulty: NORMAL # PEACEFUL, EASY, NORMAL, HARD
teleport:
waiting-room-spawn:
x: 0
y: 65
z: 0
speedrun-spawn:
x: 0
y: 100 # Auto-finds surface
z: 0
Gamerules
Separate gamerule configurations for waiting room (peaceful, frozen time) and speedrun world (normal gameplay).
Challenge Settings
challenge:
allow-respawn: true # false = hardcore mode (spectator on death)
chunk_items:
excluded: # Items to exclude from random rewards
# - DIAMOND
# - EMERALD
friendly_fire_item:
enabled: false # Toggle via GUI
PlaceholderAPI Integration (optional)
Available Placeholders
| Placeholder | Description | Example Output |
|---|---|---|
%ch_prefix% |
Team prefix with color | [RUNNER], [HUNTER], [Red] |
%ch_suffix% |
Team suffix (reserved) | - |
%ch_team% |
Raw team name | runner, hunter, Rot |
%ch_team_color% |
Legacy team color code | §d, §6, §c |
Usage Example
EssentialsX Chat:
format: '{ch_prefix}{DISPLAYNAME}{ch_suffix}§r: {MESSAGE}'
Game Modes Comparison
Mode Compatibility Matrix
| Feature | Manhunt | Team Race | Solo |
|---|---|---|---|
| Timer System | ✅ | ✅ | ✅ |
| Instant Reset | ✅ | ✅ | ✅ |
| Team System | ✅ | ✅ | ❌ |
| Tracking Compass | ✅ (Hunters only) | ✅ (All teams) | ❌ |
| Chunk Items Challenge | ✅ | ✅ | ✅ |
| Friendly Fire Challenge | ✅ | ✅ | ❌ |
| Multiple Teams | ❌ (2 teams) | ✅ (2-10 teams) | ❌ |
| Can Run Simultaneously | ❌ | ❌ | ✅ |
Note: Manhunt and Team Race cannot be enabled simultaneously.
Technical Details
Performance
Installation
Basic Installation
ChallengeUtil.jarplugins folderserver.properties:level-name=waiting_room
plugins/ChallengeUtil/config.ymlOptional: PlaceholderAPI
Usage Examples
Basic Speedrun Setup
/settings - Configure challenge settings/join - Enter speedrun world/start - Begin timer/fullreset - Instant 3-5 second reset for next runManhunt Setup
/settings > Challenges/team runner (speedrunners)/team hunter (hunters)/startTeam Race Setup
/settings > Challenges/team to see available teams/team Rot, /team Blau, etc./startTroubleshooting
Common Issues
"Waiting room not found"
level-name=waiting_room in server.propertiesSlow resets (>60 seconds)
Players fall into void
speedrun-spawn.y to 120+ in config.ymlSame seed every reset
random-seed: false in config.ymlCompass not working
/teamChat prefixes not showing
/papi list/papi reloadPerfect For
License
MIT License - Free to use for any server!
**Why Choose ChallengeUtil?
**
Instant Resets - 10-30 seconds, no server restart
Unique Challenges - Chunk Items, Friendly Fire
Proxy Optimized - Perfect for networks
Highly Configurable - Customize everything
PlaceholderAPI - Full integration
Performance Focused - Optimized and tested
User-Friendly - GUI-based configuration
Active Development - Regular updates
Built with ❤️ for the Minecraft speedrunning community
Download now and revolutionize your speedrunning server!