
Mine-ify
A Minecraft Fabric mod that enables server-wide music playback where players can search YouTube, add songs to a shared playlist, and listen together.
About this Mod
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.
Available Versions
How to Install Mine-ify on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.11).
Install Mod
Open the mod browser in the dashboard and search for "Mine-ify". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.11
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Mine-ify server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.11). You can switch loaders with one click in the panel.
Is Mine-ify compatible with fabric?
Mine-ify officially supports fabric for Minecraft 1.21.11. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Mine-ify – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Mine-ify consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Mine-ify with just one click on your server.