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 Mine-ify
Make sure you download and run the companion service from the github page(Mineify) as well as the mod jar
Mineify - Server-Wide Music Player for Minecraft
A Minecraft Fabric mod that enables server-wide music playback where players can search YouTube, add songs to a shared playlist, and listen together.
Usage
- Join a server with Mineify installed
- Make sure companion service is running and connected
- Press N+M to open the Mineify GUI
- Search for a song using the search bar
- Click a result to add it to the playlist
- Songs play automatically for all connected players
Architecture Overview
Mineify consists of two main components:
┌─────────────────────────────────────────────────────────────────────┐
│ MINECRAFT SERVER │
│ ┌─────────────────┐ ┌──────────────────┐ │
│ │ Mineify Mod │◄──►│ Playlist Manager │ │
│ │ (Server-side) │ │ (Track Queue) │ │
│ └────────┬────────┘ └──────────────────┘ │
│ │ │
│ │ Network Packets (playlist sync, play audio URL) │
│ ▼ │
│ ┌─────────────────┐ ┌──────────────────┐ │
│ │ Mineify Mod │───►│ AudioPlayer │ │
│ │ (Client-side) │ │ (WAV via HTTP) │ │
│ └─────────────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
│
│ HTTP API
▼
┌─────────────────────────────────────────────────────────────────────┐
│ MINEIFY COMPANION SERVICE │
│ ┌─────────────────┐ ┌──────────────────┐ ┌────────────────┐ │
│ │ Express Server │◄──►│ youtube-search- │ │ yt-dlp │ │
│ │ (REST API) │ │ api (npm) │ │ (Downloader) │ │
│ └─────────────────┘ └──────────────────┘ └────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
How It Works
- Fabric Mod (Java): Handles Minecraft integration - GUI, keybindings, networking, and audio playback
- Companion Service (Node.js): Handles YouTube search and download using free tools:
youtube-search-api: Scrapes YouTube search results without requiring an API keyyt-dlp: Downloads and converts YouTube audio to WAV format (free, open-source)
- Audio Playback: When a song is added to the playlist, the server asks the companion service to download it, then sends the download URL to all clients. Each client fetches the WAV file over HTTP and plays it locally using
javax.sound.sampled.
Features
- N Keybinding: Open the Mineify GUI from anywhere in-game
- YouTube Search: Search for songs directly in 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 Support: Players who join mid-song receive the current track
- Session Storage: Downloads are cached per server session
Requirements
For the Companion Service
- Node.js 18+
- yt-dlp (installed on system PATH)
- ffmpeg (installed on system PATH, used by yt-dlp for audio conversion)
Installation
Prerequisites
Both server and client require:
- Minecraft 1.21.11
- Fabric Loader 0.18.x+
- Fabric API
The server (or whoever hosts the companion service) also needs:
Client Setup
- Install Fabric Loader for Minecraft 1.21.11 if you haven't already.
- Download the Fabric API mod and place it in your
.minecraft/mods/folder. - Build the mod (or obtain the JAR):
cd fabric-mod ./gradlew build - Copy
fabric-mod/build/libs/mineify-1.0.0.jarinto your.minecraft/mods/folder. - Launch Minecraft using the Fabric profile. No additional client configuration is needed — the mod connects to the server automatically.
Note: Clients must be able to reach the companion service URL over HTTP to download audio. If the companion service is not on the same machine as the Minecraft server, ensure clients can access it (e.g. by port-forwarding or using a public IP).
Server Setup
- Install Fabric Loader on your server for Minecraft 1.21.11.
- Place both the Fabric API JAR and the Mineify JAR (
mineify-1.0.0.jar) into the server'smods/folder. - Start the companion service:
This runs oncd companion-service npm install npm starthttp://localhost:3001by default. - Create
config/mineify.jsonin your server directory:
If the companion service runs on a different machine, update{ "companionServiceUrl": "http://localhost:3001", "maxPlaylistSize": 50, "audioSessionFolder": "./mineify-sessions" }companionServiceUrlaccordingly. - Start the Minecraft server. The mod will connect to the companion service on startup.
Note: The companion service must be running before players try to search or add songs. The Minecraft server and companion service can run on the same machine or on separate machines — just make sure the URL is reachable from both the server and all clients.
Development
Building the Mod
Requires Java 21. If your default Java version differs, set JAVA_HOME:
export JAVA_HOME=/path/to/jdk-21
cd fabric-mod
./gradlew build # Build the mod
./gradlew runClient # Run test client
./gradlew runServer # Run test server
Running the Companion Service in Dev Mode
cd companion-service
npm run dev # Runs with nodemon for hot reload
Legal Notes
This mod is for personal/educational use. Users are responsible for ensuring they comply with YouTube's Terms of Service and applicable copyright laws. The developers do not endorse or encourage piracy.
License
MIT License - See LICENSE file for details.