
URL Custom Discs
A plugin that allows you to create and play custom music discs from YouTube URLs or MP3 files on your Minecraft server with real-time updates for players.
- Загрузки
- 23K
- Подписчики
- 83
- Обновлён
- 3 декабря 2025 г.
- Лицензия
- CC-BY-NC-4.0
Опубликован 18 марта 2025 г.
THE INSTALLATION INSTRUCTIONS ARE AT THE BOTTOM OF THE PAGE AND TAKE 5 MINUTES.
About
This plugin, along with a server resource pack, allows you to create and play custom music discs from YouTube URLs or MP3 files on your Minecraft server, with real-time updates for players.
Once installed, everything is done in-game, and there's no need to manually edit the resource pack files to add or remove custom discs.
The plugin supports Minecraft's spatial audio for music, but you can also play it in stereo.
Additionally, vanilla commands such as /playsound and /stopsound work with the custom music, so you do not need to use a disc in a jukebox.
Usage
| Create a custom disc | |
| 1. Use the "create" command and paste your URL | 3. All logged-in players receive the updated server resource pack containing the created custom disc |
| 2. Wait for the track to be downloaded, converted, and added to the server resource pack | 4. The custom disc is given to you, enjoy the music! |
![]() |
![]() |
Commands Overview
Display the list of commands:/customdisc help
Create a custom music disc from a YouTube URL or local MP3 file:/customdisc create <URL OR audio_name.mp3> <disc_name> <mono/stereo>
- mono: enables spatial audio (as when played in a jukebox)
- stereo: plays the audio in the traditional way
Instructions for local MP3 files (admin-only):
- Place your MP3 file inside the
audio_to_sendfolder in the plugin directory.- Rename the MP3 file to a simple name with no spaces and no special characters.
- Run the create command with the
audio_name.mp3.
- Don't forget to include the
.mp3extension in theaudio_name.mp3field.
Give yourself a custom music disc:/customdisc give <disc_name>
Show the list of custom music discs (click a disc name to autofill the give command):/customdisc list
Delete a custom music disc:/customdisc delete <disc_name>
Show details of the custom music disc you're holding (useful for debugging):/customdisc info
Update Deno and yt-dlp dependencies:/customdisc updatedep
Vanilla command to play a custom track (can be used with coordinates):/playsound minecraft:customdisc.<disc_name> ambient @a ~ ~ ~ 1 1
Vanilla command to stop a custom track:/stopsound @a * minecraft:customdisc.<disc_name>
Usage Modes
The plugin offers three modes of use, depending on your setup and preferences:
- API Mode (default):
Uses a dedicated remote API to manage custom discs, the resource pack, and dependencies. Ideal for quick and easy setup, but with some limitations on the resource pack and audio files. - Self-Hosted Mode:
For advanced users who prefer to host and manage everything themselves. You can bypass the API and configure the plugin manually using your own setup and HTTP server. - Edit-Only Mode:
Allows you to update the resource pack locally and duplicate it to a custom path with a custom name. Useful if you already host another resource pack and want to merge it with theURLCustomDiscsPack.zip.
API Mode Resource Pack Limitations
To minimize storage space and ensure fast downloads, the resource pack has the following limitations:
- Up to 10 custom discs can be included in the resource pack at the same time.
- Each custom disc is limited to a maximum duration of 5 minutes.
- The resource pack size is limited to 80 MB (more than enough).
- If no activity (adding or deleting a custom disc) occurs for 3 months, the token and resource pack will be automatically deleted to free up space.
Self-Hosted Mode Requirements
You must provide a personal HTTP server to host the resource pack. Depending on whether your Minecraft server and HTTP server are on the same machine or on separate machines, the HTTP server must support:
- Local access: The plugin can update the resource pack via an absolute path.
- Online access: The plugin can download and upload the resource pack using HTTP requests.
- Player access: Players must be able to download the resource pack and receive real-time updates for custom music discs.
Documentation
This Modrinth page focuses on the default API Mode, which is the recommended setup for most users.
You can also find this documentation on the URLCustomDiscs GitHub repository.
If you want to use the Self-Hosted Mode or the Edit-Only Mode instead, please refer to the dedicated documentation from the URLCustomDiscs GitHub repository: Self-Hosted and Edit-Only Modes documentation
For more details, you may explore the API documentation, source code and architecture in the URLCustomDiscsAPI GitHub repository.
Audio Download Options
Warning: YouTube may block my API server in the future (never happened). Please notify me via Discord if this occurs, so I can resolve it.
In the meantime, you have two alternative options:
- Use the auto-installed yt-dlp dependency (Minecraft server-side download)
The plugin uses the yt-dlp dependency to download the audio from the YouTube URL into the plugin folder and then send it to the API.This method is unlikely to work on shared Minecraft hosting providers, such as Shockbyte, as they often do not allow execution of yt-dlp, or the IP ranges of those servers are likely already banned by YouTube.
- Manually download the MP3 file (admin-only, 100% reliable)
If you don't mind downloading the audio as an MP3 file, use a website like noTube to download it manually. Then, place the MP3 file directly into theaudio_to_sendfolder inside theURLCustomDiscsplugin directory.
After that, use the appropriate command to create a custom disc with this MP3 file.This method only works for Minecraft server admins, as it requires access to the server’s file system.
Dependencies
Optional plugin
ProtocolLib [Download]: used to display a custom "Now Playing" toast when a custom disc is inserted into a jukebox
External Tools
License & Attribution
The plugin automatically installs and uses the following tools (Deno and yt-dlp are also kept up to date):
- Deno, from the Deno GitHub repository, licensed under the MIT License
- yt-dlp, from the yt-dlp GitHub repository, licensed under the Unlicense
- FFmpeg, from the FFmpeg-Builds GitHub repository (Windows) and the FFmpeg Static Builds (Linux), licensed under the GNU General Public License version 3 (GPLv3)
Tool Usage
- Deno is used by yt-dlp to interpret YouTube’s JavaScript and decrypt its signature cipher, which is required to extract and download audio data from YouTube.
- yt-dlp downloads MP3 audio files from YouTube URLs.
- FFmpeg converts MP3 files to Ogg Vorbis format for Minecraft compatibility.
Installation
This plugin requires a brief setup to ensure players automatically download the resource pack when they join the Minecraft server.
Steps to install with the API Mode (default mode):
- Download the
URLCustomDiscs.jarplugin into your Minecraft server'spluginsfolder. - Start your Minecraft server so the plugin generates the
plugins/URLCustomDiscsfolder containing aconfig.ymlfile. - Open
plugins/URLCustomDiscs/config.ymland set the following field topluginUsageMode: api - In the same config file, locate the REMOTE API MODE CONFIGURATION section.
Important fields include:apiBaseURL: the base URL of the remote APItoken: initially empty, automatically generated after creating your first custom discapiDownloadResourcePackURL: initially empty, automatically generated after creating your first custom disclocalYtDlp: defines whether to use the auto-installed yt-dlp tool in the plugin folder to download audio files from YouTube directly on your own server instead of relying on the external API. This field is set to false by default.
- Create your first custom disc in-game using the
/customdisc create <URL OR audio_name.mp3> <disc_name> <mono/stereo>command.
This action will generate your uniquetokenand theapiDownloadResourcePackURL. - Copy the generated
apiDownloadResourcePackURLand paste it into your Minecraft server'sserver.propertiesfile under theresource-pack=filed, for example:resource-pack=https://your-generated-apiDownloadResourcePackURL.zip - Restart your Minecraft server to apply the resource pack settings.
- (Optional) To force players to download the resource pack, set
require-resource-pack=trueinserver.propertiesand restart your Minecraft server. - (Optional fallback) In the extremely rare case that the API server gets blocked by YouTube, if you don’t want to manually download MP3 files and would prefer to keep using YouTube URLs, you can configure the plugin to use the auto-installed yt-dlp dependency directly on your Minecraft server.
To do this, set the following field in theconfig.ymlfile:localYtDlp: true, then restart your Minecraft server.This option likely won’t work on most shared Minecraft hosting providers. For more details, refer to the Audio Download Options section.
- (Optional) Download the
ProtocolLib.jarplugin into your Minecraft server'spluginsfolder for custom "Now Playing" toasts, then restart your Minecraft server.
Support & Community
This plugin relies on a remote API and resource pack hosting maintained by me.
If you'd like to support the project and help cover server and storage costs, please consider contributing via Ko-fi. Thank you! ❤️
For any questions, help, or suggestions, feel free to join the Discord server!
Disclaimer
Please note that it is the sole responsibility of each user to comply with applicable copyright laws and the terms of service of any music provider when using this plugin. The developer of this plugin does not assume any liability for unauthorized use or violations of such laws and regulations.
Ченджлог
2.7.2Релиз26.1.1, 26.1.2, 26.2 · 3 декабря 2025 г.
Update
Bug fixed: The sound from custom discs now correctly stops when they are removed from jukeboxes in Vanilla and custom dimensions.
It now retrieves the internal name of the world.
To Update
If you already have the plugin installed on your server, just replace it with the new version.
2.7.1Релиз1.21.8, 1.21.9, 1.21.10 · 2 декабря 2025 г.
Update
Bug fixed: The sound from custom discs now correctly stops when they are removed from jukeboxes in the Nether and End dimensions.
To Update
If you already have the plugin installed on your server, just replace it with the new version.
2.7.0Релиз1.21.8, 1.21.9, 1.21.10 · 26 ноября 2025 г.
Updates
Improved platform detection and system compatibility for Self-Hosted and Edit-Only modes:
The plugin now detects the exact OS, CPU architecture and C library (musl libc or glibc) and downloads matching binaries (Deno, yt-dlp, FFmpeg).
Currently supported platforms:
- Windows x64
- Windows ARM64
- Linux x64 (glibc)
- Linux ARM64 (glibc)
- Linux ARMv7 (glibc)
- Linux x64 (musl libc)
- Linux ARM64 (musl libc)
Deno requirement for YouTube URL downloads:
yt-dlp now requires Deno to interpret YouTube's JavaScript and decrypt its signature cipher, which is necessary to extract and download audio data from YouTube. The plugin will automatically download the Deno binary and keep it up to date.
The README and SELF-HOSTED_AND_EDIT-ONLY_MODES_INSTALLATION files have also been updated with new instructions.
To Update
If you already have the plugin installed on your server, just replace it with the new version.
2.6.1Релиз1.21.6, 1.21.7, 1.21.8 · 8 сентября 2025 г.
Updates
Bug fixed: Playlist downloading is disabled. If you provide a URL that is part of a playlist, only the specific video you linked will be downloaded, not the entire playlist.
The Self-Hosted Mode has been entirely rebuilt and comes with new features:
- Bug fixed: There are no more restrictions on the resource pack and audio files.
- yt-dlp and FFmpeg are now automatically installed (yt-dlp is also kept up to date).
- This usage mode is now fully compatible with Minecraft versions 1.21 to 1.21.8 (latest available).
The disc management system with jukeboxes has been entirely rebuilt to simulate vanilla-like usage of custom discs and now allows:
- Bug fixed: Extracting vanilla discs from jukeboxes.
- Inserting and "physically" (drop) removing custom discs from jukeboxes
- Dropping the custom disc when the jukebox is broken
- Placing blocks on a jukebox containing a custom disc while sneaking, without extracting the disc
- Preventing a custom disc from being removed if the player sneaks and right-clicks the jukebox while holding an item
- Displaying a custom "Now Playing" toast when a custom disc is inserted into a jukebox (requires the ProtocolLib plugin, but not mandatory for the URLCustomDiscs plugin to work)
Note: A vanilla behavior workaround was required to avoid playing the Disc 13 sound that serves as the model for custom discs. Inserting a custom disc into a jukebox is only a functional illusion and may not be compatible with mods that, for example, display the physically inserted disc.
For users who already have an HTTP server serving another resource pack and a plugin that can merge it, a third usage mode has been added. The Edit-Only Mode allows you to create and delete custom discs in a local URLCustomDiscsPack.zip resource pack, which will be duplicated in a custom path and renamed with a custom name.
The README and plugin's config.yml files have also been updated with new instructions.
Warning
If you already have installed the plugin on your server and want to use this new version, please make sure to back up your token and apiDownloadResourcePackURL from config.yml.
Then, delete config.yml, install the new version of the plugin, start your Minecraft server so it regenerates the file, and paste your saved token and apiDownloadResourcePackURL back into it.
Restart your server to apply changes. Your previously created discs will not be deleted!
2.3.0Релиз1.21.6, 1.21.7, 1.21.8 · 7 августа 2025 г.
Updates
The plugin is now fully compatible with Minecraft versions 1.21 to 1.21.8 (latest available).
It now automatically handles resource pack generation for both the old format (1.21–1.21.3) and the new format introduced in 1.21.4+.
The README.md file has also been updated with the latest compatibility notes.
Warning
Resource packs generated for Minecraft 1.21 to 1.21.3 are not compatible with versions 1.21.4 and above due to internal changes in how Minecraft handles assets.
If you're updating your server from 1.21-1.21.3 to 1.21.4 or later, your current resource pack will no longer work properly.
There’s no need to save your old token or downloadPackURL.
Instead, reinstall the plugin from scratch: delete its folder, install the latest version, and follow the setup steps again.
2.2.0Релиз1.21, 1.21.1 · 4 августа 2025 г.
Updates
YouTube has started blocking audio downloads via yt-dlp by banning the server where the API is hosted.
To continue creating custom discs, two new options are now available:
Use
yt-dlplocally on your Minecraft server: SetlocalYtDlp: trueinconfig.ymlto enable this option.
The plugin will automatically download and keep yt-dlp up to date.When using this method:
- The audio will be downloaded as an
.mp3file to theaudio_to_sendfolder. - Then, the audio is sent to the API server to be processed and added to your server resource pack.
- A new command
/customdisc updateis now available to manually force an update of yt-dlp without restarting the server.
- The audio will be downloaded as an
This method is unlikely to work on shared Minecraft hosting providers (like Shockbyte), as they often block external tool execution (like yt-dlp) or their IP ranges are already banned by YouTube (just like my API server currently is).
Manually upload
.mp3files to theaudio_to_sendfolder: You can now manually download your audio as.mp3and place it in theaudio_to_sendfolder.
Make sure the file name is simple (no spaces or special characters).When creating a custom disc, instead of providing a URL, simply use the file name of your
.mp3(including the ".mp3" extension).
This method only works for Minecraft server admins, as it requires access to the server file system.
The README.md file has been updated with new instructions.
Warning
If you have already installed the plugin on your server and want to use this new version, please make sure to back up your token and downloadPackURL from config.yml.
Then, delete config.yml, install the new version of the plugin, start your Minecraft server so it regenerates the file, and paste your saved token and downloadPackURL back into it.
Your previously created discs will not be deleted!
2.0.0Релиз1.21, 1.21.1 · 2 августа 2025 г.
Updates
This update makes setting up and using the plugin much... MUCH easier, whether you're running a local Minecraft server or using a shared Minecraft hosting provider.
The plugin now links your Minecraft server to a remote API and to your resource pack stored on a storage space via a token.
Your Minecraft server simply sends requests to the API with parameters such as your token, the URL of your audio, and so on.
All operations such as installing and updating yt-dlp and FFmpeg dependencies, downloading, modifying, and uploading your resource pack are now fully handled by the API.
You no longer need to install and configure an HTTP server or be limited by shared Minecraft hosting providers that block the execution of dependencies.
The README.md documentation has been revamped. The installation now takes just 10 lines and less than 5 minutes!
However, you can still use your own custom setup if you prefer the old way. The documentation for self-hosted installation is now available here: SELFHOSTEDINSTALLATION.md
Warning
If you have already installed the plugin on your server and want to use this new version, please delete the URLCustomDiscs plugin folder before starting your server with the new version.
1.0.2Релиз1.21, 1.21.1 · 30 марта 2025 г.
Updates
- Online-hosted Minecraft servers now supported for Windows and Linux
- README updated
- Fixed bug where yt-dlp and FFmpeg could start simultaneously
- Improved log management
Warning
- yt-dlp and FFmpeg must now be installed in your_mc_server_folder/plugins/URLCustomDiscs/
- If you have already installed the plugin and want to update it with this new version, delete the your_mc_server_folder/plugins/URLCustomDiscs folder that contains the plugin files.
Комментарии
Загружаем…

