Browse docs

MP3 uploads and playlists

Upload an MP3 from your computer, save it to the server library and add it to an assigned playlist from the game.

Enable music import

Open /djadmin with administrator access. Under Settings → Music & Playlists → Library & Queues, enable On-demand MP3, confirm the prompt and use config/music as the music folder. Save the settings.

The Music import tab appears below Audio & DJ only while On-demand MP3 is enabled. Open it, enable Enable music import and choose Save import settings. Its settings are directly below the upload controls.

Normal playback remains available. Turning On-demand off hides the import page; it does not remove your saved songs or playlists. After adding music, restart the resource before returning to Normal playback so its optional music pack contains the new files. See Music delivery.

Upload and add a song

  1. Create a destination playlist in the central Music & Playlists administration if needed. Select the stage or custom DJ booth and the destination playlist in Music import.
  2. Choose Import MP3. A temporary upload page opens in your system browser. Select an MP3 from your computer and return to the game.
  3. Check the selected song and destination. Administrators can enable Assign this playlist to the selected stage / booth to make the playlist available there.
  4. Choose Import & add to playlist. Follow the progress and completion notification. The song is saved in sky_dj/config/music/ and can be loaded through the venue's assigned playlist when import completes.

Use files you have permission to use on your server. The upload flow takes local MP3 files; it has no YouTube, Spotify or MP3-link input and needs no companion importer program. It uses the resource's existing server-side encoder setup from Installation.

Allow player uploads at selected clubs

Player uploads are optional and disabled by default. Both permissions are required:

  1. In Music import, enable Enable player uploads globally and save the import settings.
  2. In Manage clubs → select club → Playlists, enable Allow player MP3 uploads at this DJ booth and save that club.

The player must also have the club's normal DJ job/grade or all-player access, stand at its booth and be in the same routing bucket. They can choose only playlists already assigned to that venue. This does not grant global administration or general playlist-management rights. Administrator imports remain separate from this player permission.

Use the relevant venue's settings for its booth; opening the festival FOH lighting desk does not expose music import. Removing access, leaving the booth, changing character, disconnecting or disabling uploads cancels pending player work. Closing the menu alone leaves an authorized import running; reopen it to see its progress.

Limits and recovery

SettingShipped defaultAccepted range
Maximum song length15 minutes1–120 minutes
Maximum MP3 size32 MiB5–50 MiB
Music-folder quota1024 MiB64–10240 MiB

The library also has a 500-file limit. The server processes one import at a time, admits up to four queued/active jobs and permits one job per character. An actor can start an upload once per 30 seconds. Existing tracks are not overwritten.

If the song was saved but playlist insertion failed, keep the saved song and use Add saved song to playlist after selecting a valid destination. Do not upload it again solely because a playlist was full, removed or changed.

If the tab is missing, check On-demand mode first, followed by the global and club permissions. If the browser page expires, start a new upload from the game. If server preparation fails, check the existing encoder/process-permission setup in the installation guide.

Browser connection

The upload page is served by sky_dj on the existing game-server HTTP endpoint. Use HTTPS for the browser upload on a hosted server. An optional server-only data/music-upload-endpoint.json can contain:

sky_dj/data/music-upload-endpoint.json
{"url":"https://YOUR-HOST/sky-dj-upload"}

Configure that address as a reverse proxy from /sky-dj-upload/ to http://127.0.0.1:GAMEPORT/sky_dj/, keeping the remaining path and Content-Length. Permit GET, POST and PUT with request bodies up to 1 MiB. Keep this file server-side; do not add it to the client files in the manifest. A separate music-hosting service is not needed.

The browser address is temporary and expires after five minutes. Select a new file through the game's Import MP3 action rather than reusing a previous upload URL.