
DrSounds is a powerful all-in-one solution for adding custom music, sound effects, and dialogue to your Minecraft server. It fully automates resource pack creation and hosting, making custom audio simple and accessible for everyone including Bedrock players via Geyser.
No manual sounds.json. No external hosting. Just drop your audio files and start the server.
✨ Key Features
⚡ Automated Resource Pack Generation
- Simply place
.oggfiles into the plugin folder - Automatically generates a valid
resourcepack.zipon server startup - No manual editing of
sounds.jsonrequired
🌐 Built-in Web Server
- Lightweight internal HTTP server
- Hosts the resource pack directly from your server
- Players are automatically prompted to download the pack when they join
📱 Geyser & Bedrock Support
- Full compatibility with GeyserMC
- Automatically converts audio into a Bedrock-compatible
.mcpack - Installs directly into the Geyser resource pack folder
- Seamless cross-platform audio for Java and Bedrock players
🔊 Advanced Playback Control
- 3D Spatial Audio Sounds behave like native Minecraft sounds and fade with distance
- Looping Support Loop music or ambience with precise tick-based delays
- Duration Awareness Intelligent handling of track length for smooth looping
📍 Region & Location-Based Audio
- Create custom regions in-game
- Play sounds only for players inside specific regions
- Play sounds at exact XYZ coordinates
🎉 Event Triggers (events.yml)
Trigger sounds based on player or server events:
- Join, Quit, Death, Respawn
- World Change
- ResourcePackLoaded (ensures sounds only play after the pack is loaded)
Supports:
- Multiple sounds per event
- Independent delays
- Looping per sound
📦 Installation Guide
1️⃣ Install
- Download
DrSounds.jar - Place it in your server’s
pluginsfolder - Restart the server to generate default files
2️⃣ Add Sounds
- Navigate to
plugins/DrSounds/sounds/ - Upload your
.oggfiles - You may organize them into subfolders (example:
sounds/music/)
Only
.oggaudio files are supported
3️⃣ Configure
-
Open
config.yml -
Important: Set
external-ipto your server’s public IP -
Register your sounds under the
sounds:section- Volume
- Pitch
- Duration (in seconds)
4️⃣ Final Restart
-
Restart the server one last time
-
The plugin will:
- Generate the resource pack
- Start the internal web server
- Generate Bedrock packs automatically if Geyser is installed
🎮 Commands & Usage
Main Command
/drsounds
Aliases: /ds, /sounds
▶️ Play Sounds
Play sounds with optional looping and targeting.
Syntax
/drsounds play <mode> <sound_name> <loop_count> <targets...>
Modes
playerregionposition
Examples
/drsounds play player boom 1 Steve
Plays boom once for Steve
/drsounds play player boss_music -1 *
Loops boss_music infinitely for all players
/drsounds play position boom 1 100 64 -200
Plays sound at specific coordinates
⏹ Stop Sounds
Stop a sound instantly.
Syntax
/drsounds clear <mode> <sound_name> <targets...>
Example
/drsounds clear player boss_music *
🗺 Region Management
Create and manage audio regions.
/drsounds region create <name>
Creates a region at your current location
/drsounds region delete <name>
Deletes an existing region
📝 Configuration Examples
config.yml
external-ip: "192.168.1.100" # Your public IP
http-port: 8081
sounds:
boom:
path: "boom.ogg"
volume: 1.0
pitch: 0.8
duration: 2
stream: false
boss_music:
path: "music/raid_theme.ogg"
volume: 0.8
pitch: 1.0
duration: 180
stream: true
events.yml
events:
welcome_music:
trigger: ResourcePackLoaded
sounds:
- sound: welcome_jingle
delay: 0
loops: 1
- sound: lobby_music
delay: 60
loops: -1
death_sound:
trigger: PlayerDeathEvent
sound: fail_trumpet
action: play
loops: 1
✅ Compatibility
- Minecraft Versions: 1.18 – 1.21+
- Server Software: Spigot, Paper, Purpur
- Dependencies: None (Standalone)
- Optional: GeyserMC for Bedrock support
