Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
Mineify - Server-Wide Music Player for Minecraft
A Minecraft Fabric mod that enables server-wide music playback. Players can search YouTube, add songs to a shared playlist, and listen together in real time all inside Minecraft.
Usage
- Join a server running Mineify
- Press N+M to open the GUI
- Type a song name in the search bar and press Enter
- Click a result to add it to the playlist
- The song downloads and plays automatically for all connected players
How It Works
Everything runs inside the Minecraft server process โ no companion service or extra open ports required.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MINECRAFT SERVER โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ Mineify Mod โโโโโบโ Playlist Manager โ โ
โ โ (Server-side) โ โ (Track Queue) โ โ
โ โโโโโโโโโโฌโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโบโ YouTubeService โ โ AudioDownloadService โ โ
โ โ โ (InnerTube API) โ โ yt-dlp subprocess โ โ
โ โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โ Minecraft packets (chunked audio data) โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ Mineify Mod โโโโโบโ AudioPlayer โ โ
โ โ (Client-side) โ โ (javax.sound) โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- YouTubeService calls YouTube's internal InnerTube API directly from Java โ no API key needed.
- AudioDownloadService invokes
yt-dlpas a subprocess to download and convert audio to WAV. - The server splits the WAV file into chunks and delivers them to every client over the existing Minecraft connection โ no extra port needs to be open.
- Clients reassemble the chunks in memory and play the audio locally using
javax.sound.sampled.
Features
- N+M keybind โ open the Mineify GUI from anywhere in-game
- YouTube search โ search for songs directly inside Minecraft
- Shared playlist โ all players see and contribute to the same queue
- Automatic playback โ songs play automatically when added and advance through the queue
- Late-join sync โ players who join mid-song automatically seek to the correct position
- Stop on remove โ removing the current song stops playback for everyone immediately
- Session cache โ downloaded files are reused for the duration of the server session
- No extra ports โ audio is delivered over the Minecraft connection; no firewall changes needed
- Self-contained โ everything is inside the single mod JAR, no companion service required
Requirements
| Requirement | |
|---|---|
| Minecraft | 1.21.11 |
| Fabric Loader | 0.18.x+ |
| Fabric API | Latest for 1.21.11 |
| Java | 21+ |
| Server only | yt-dlp on system PATH |
| Server only | ffmpeg on system PATH |
Clients only need the mod JAR โ no extra tools required.
Installation
Server
- Install Fabric Loader for Minecraft 1.21.11.
- Install
yt-dlpandffmpegon the server machine (see guide below). - Place Fabric API and
mineify-1.3.0.jarin the server'smods/folder. - Start the server. Mineify initialises automatically.
Optional โ create config/mineify.json to customise behaviour:
{
"downloadDir": "./mineify-downloads",
"maxPlaylistSize": 50
}
Client
- Install Fabric Loader for Minecraft 1.21.11.
- Place Fabric API and
mineify-1.3.0.jarin.minecraft/mods/. - Launch Minecraft with the Fabric profile. No further setup needed.
Installing yt-dlp and ffmpeg
Both tools are required on the server only.
Linux (Debian/Ubuntu)
sudo apt update && sudo apt install ffmpeg
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
Linux (Fedora/RHEL)
sudo dnf install ffmpeg
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
macOS
brew install ffmpeg yt-dlp
Windows (choose one package manager)
scoop install yt-dlp ffmpeg
choco install yt-dlp ffmpeg
winget install yt-dlp ffmpeg
Windows โ manual install
yt-dlp:
- Download
yt-dlp.exefrom the releases page - Place it in a folder such as
C:\yt-dlp - Add that folder to your system PATH
ffmpeg:
- Download from gyan.dev
- Extract to a folder such as
C:\ffmpeg - Add
C:\ffmpeg\binto your system PATH
Adding to PATH (Windows):
- Press
Win + R, typesysdm.cpl, press Enter - Go to Advanced โ Environment Variables
- Under System variables, select
Pathโ Edit โ New - Add the folder path and click OK on all dialogs
- Restart your terminal/server
Verify installation
yt-dlp --version
ffmpeg -version
Both commands should print version information without errors.
Project Structure
mine-ify/
โโโ fabric-mod/
โ โโโ src/
โ โโโ main/java/com/mineify/
โ โ โโโ Mineify.java # Server entry point & lifecycle
โ โ โโโ MineifyConfig.java # Config loader (mineify.json)
โ โ โโโ server/
โ โ โ โโโ PlaylistManager.java # Playlist state & audio dispatch
โ โ โ โโโ YouTubeService.java # YouTube search via InnerTube API
โ โ โ โโโ AudioDownloadService.java # yt-dlp download wrapper
โ โ โโโ network/
โ โ โโโ MineifyPackets.java # Packet registration
โ โ โโโ packets/
โ โ โโโ SearchRequestPacket.java
โ โ โโโ AddToPlaylistPacket.java
โ โ โโโ SearchResultsPacket.java
โ โ โโโ PlaylistSyncPacket.java
โ โ โโโ AudioChunkPacket.java # Chunked audio delivery
โ โ โโโ NowPlayingPacket.java
โ โโโ client/java/com/mineify/
โ โโโ MineifyClient.java # Client entry point & packet handlers
โ โโโ client/
โ โโโ MineifyScreen.java # In-game GUI
โ โโโ MineifyKeybinds.java # N keybind registration
โ โโโ audio/
โ โโโ AudioPlayer.java # Chunk buffering & playback
โโโ README.md
Development
Requires Java 21.
cd fabric-mod
./gradlew build # Build the mod JAR
./gradlew runClient # Launch a test Minecraft client
./gradlew runServer # Launch a headless test server
Legal
This mod is intended for personal and educational use. Users are responsible for complying with YouTube's Terms of Service and applicable copyright laws.
License
MIT License โ see LICENSE for details.


