MusicBot

MusicBot

A powerful Minecraft music bot for playing audio through Simple Voice Chat without requiring a resource pack. 🎵

57 downloads 0 followers

🎵 MusicBot - Minecraft Voice Chat Music Player

🎬 Demo

Demo

A Spigot plugin that plays music through Simple Voice Chat groups. Works like a Discord music bot, but inside Minecraft!

✨ Features

  • 🎶 Play MP4/MP3/OGG/WAV music files in Voice Chat groups
  • 👥 Group-only playback (only group members hear the music)
  • 📋 Queue system with skip, pause, resume
  • 🔊 Per-player volume control
  • 📊 BossBar now-playing display with progress
  • 🔒 Secure - no system paths exposed to players
  • 🔍 Smart song search with fuzzy matching
  • ⌨️ Tab completion for song names
  • 🔄 Auto-detect new songs with /music reload
  • 🎨 Custom Voice Chat volume category with icon

📋 Requirements

Requirement Version
Minecraft Server Spigot/Paper 1.20.2+
Java 21+
Simple Voice Chat 2.5.x
FFmpeg Any recent version

📥 Installation

Step 1: Install Dependencies

  1. Install Simple Voice Chat on your server
  2. Install FFmpeg on your server:
  3. The FFmpeg file will be in zip format. Copy it to the FFmpeg/bin/FFmpeg.exe path and paste it into the Plugins/
    MusicBot server path.!!!
    • Windows: Download from ffmpeg.org, extract, add to PATH
    • Linux: sudo apt install ffmpeg
    • Mac: brew install ffmpeg

Step 2: Install Plugin

  1. Download MusicBot.jar from Releases
  2. Put it in your plugins/ folder
  3. Restart the server

Step 3: Add Music

  1. Put your music files (MP4/MP3/OGG/WAV) in plugins/MusicBot/music/
  2. Use /music reload to refresh the song list

🎮 Commands

Command Description
/music play <name> Play a song (with tab complete!)
/music list Show all available songs
/music stop Stop playback and clear queue
/music pause Pause current song
/music resume Resume paused song
/music skip Skip to next song in queue
/music volume <0-100> Set playback volume
/music queue Show current queue
/music reload Reload config and song list (admin)

🔒 Permissions

Permission Description Default
musicbot.use Use music bot commands Everyone
musicbot.admin Reload config and songs OP

⚠️ Important Notes

  • Players must be in a Voice Chat group to use the music bot
  • Only group members can hear the music
  • If the DJ (person who started playing) leaves the group, music stops
  • New members joining the group will automatically hear the music

🎵 Supported Formats

  • .mp4 (recommended - small file size)
  • .mp3
  • .ogg
  • .wav
  • .m4a
  • .flac
  • .webm

📦 Changelog

v1.1.0 — Group Session Update

🔧 Bug Fixes

  • Fixed: Queue was per-player instead of per-group. Now all group members share one queue.
  • Fixed: Multiple players in the same group could start separate music sessions causing audio overlap.
  • Fixed: Any player could stop/pause/skip music. Now only the DJ (session starter) can control playback.
  • Fixed: System file paths were exposed to players in error messages and /music list.
  • Fixed: Audio cache didn't invalidate when music files were replaced with the same filename.
  • Fixed: Players not connected to Voice Chat could trigger errors.

✨ New Features

  • Group-Based Sessions: Each Voice Chat group now has exactly one shared music session.
  • DJ System: The player who starts the music becomes the DJ. Only the DJ can stop, pause, resume, skip, and change volume.
  • All Members Can Queue: Any group member can add songs to the queue with /music play.
  • Multi-Language Support: Players can choose their own language with /music lang.
  • Persian (Farsi) Language: Full Persian translation included.
  • Auto DJ Transfer: When the DJ leaves the group, music stops automatically.
  • BossBar Now Playing: Shows current song, progress bar, elapsed time, and who requested it — only visible to group members.
  • Smart Song Search: Fuzzy matching, partial name search, and word matching.
  • Tab Completion: Song names auto-complete when typing /music play.

🔒 Security

  • Path traversal protection (blocks ../../ attacks)
  • Input sanitization on all commands
  • Rate limiting (1 second cooldown between commands)
  • No system paths exposed to players
  • File access restricted to plugins/MusicBot/ folder only
  • Error messages sanitized before showing to players

🌍 Supported Languages

Code Language Command
en English 🇬🇧 /music lang en
fa فارسی 🇮🇷 /music lang fa

🏗️ Technical Changes

  • Session architecture changed from per-player to per-group
  • Queue is now shared across all group members
  • Audio cache hash includes file modification time and size
  • Group membership monitored every 3 seconds
  • Added playerdata.yml for persistent language preferences
  • Added lang/ folder with translation files

No gallery available for this project.

Version Minecraft Loader Download

MusicBot 2.0.0

2.0.0

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2
bukkit, paper, spigot
Download