Jukebox for Source is a fully featured music streaming plug-in for SourceMod. It is designed to offer a complete solution for server admins who want to enrich their server’s character and overall experience and places heavy value on social play. Jukebox uniquely offers a searchable and dynamic interface similar to those of many other music players, such as iTunes and WinAmp.
Jukebox is compatible with all Source engine mods on both Linux and Windows. For admins, Jukebox also includes a web-based suite of tools for uploading and managing your music library.
- Intuitive, dynamically generated menu-based interface.
- Browse tracks by genre, artist, album or title.
- Look up and select from the newest or most popular tracks.
- Command-line interface, including full search capability, for more familiar users.
- Customizable playback behavior available to each client, with automatically saved and restored settings.
- Easily listen to an entire genre, album or any search result using convenient playlist generation and playback.
- Queue up additional tracks at any time.
- Easy-to-read display of track info in synchronization with playlist tracks.
- Admin-reserved ability to play music for everyone on the server.
- Easily integrate MP3 tracks from any folder on your website.
- Currently designed for separate FTP upload prior to track integration.
- Supports batch processing of new tracks. Upload several albums at once!
- Minimizes work in populating track metadata.
- Automatic ID3 extraction.
- Make batch changes to album, artist and genre info.
- Browse, preview, edit and delete tracks using the provided library browser.
- Optionally host MP3 files on a low-cost remote server.
- Intended for rental packages which do not include enough bandwidth and storage spaces for Jukebox.
- Remote file server is automatically managed via FTP.
- Access is controlled and secure.
- Create user accounts for people you wish to have uploading or administrative access.
- Identify who is uploading which tracks.
- Non-administrative users may edit and delete their own additions.
- No risk of leeching.
- Playback URLs expire due to encrypted timestamp.
- Stored files have randomized file names, making direct browsing impractical.
- Website Server
- PHP 5 or later
- MySQL 5 or later
- Source Engine Game Server
- SourceMod 1.3.8 or later
- Access to same MySQL database as Website Server
- Mod must include an HTML-enabled Message of the Day feature
- Remote File Server (optional)
- FTP server
- User requirements
- Up-to-date Source Engine game or mod
- Adobe Flash for Other Browsers (https://support.steampowered.com/kb_…8175-XFMJ-5769)
- jb_admin_flags_playall (default: “jz”) – An admin flag string identifying the admin flags that grant Public Stream playback control permissions, or leave blank to grant access to all users.
- jb_admin_flags_reserved (default: “jz”) – An admin flag string identifying the admin flags that grant Jukebox operation rights during the ‘reserved’ state.
- jb_admin_flags_settings (default: “hz”) – An admin flag string identifying the admin flags that grant Jukebox Admin Menu access, or leave blank to grant access to all users with general Admin Menu access rights.
- jb_advertisement (default: 0) – The number of seconds after first spawning to display the Jukebox advertisement, or set to 0 to not display the advertisement.
- jb_announce_mode (default: 1) – Sets the in-chat playback announcement mode. 0 = no announce, 1 = announce first track of each selection list, 2 = announce every track for Public Stream and only first track for Private Streams, 3 = announce every track for Public and Private Streams.
- jb_base_url (default: “”) – URL path to Jukebox’s base folder.
- jb_db_conn_name (default: “default”) – Named SQL connection to be used by Jukebox. Database must be defined within sourcemod/configs/database.cfg
- jb_db_log_history (default: “jb_log_history”) – SQL table name for the Log History table.
- jb_db_log_usernames (default: “jb_log_usernames”) – SQL table name for the Log Usernames table.
- jb_db_options (default: “jb_options”) – SQL table name for the Options table.
- jb_db_playlists (default: “jb_stream_tracks”) – SQL table name for the Playlists table.
- jb_db_streams (default: “jb_streams”) – SQL table name for the Streams table.
- jb_db_tracks (default: “jb_tracks”) – SQL table name for the Tracks table.
- jb_enabled (default: 1) – Set to 0 to disable Jukebox, 1 to enable Jukebox for all users, 2 to reserve Jukebox operations for admins.
- jb_leech_password (default: “”) – Anti-leech password used to timestamp produced URLs. Must match the leech password specified on the web server.
- jb_log_use (default: 0) – Enables playback logging.
- jb_monitor_jboff_use (default: 3) – The number of times the user must cancel a play-to-all song to be automatically reminded and invited to adjust personal playback settings. Set to 0 to disable.
- jb_motd_restart (default: 0) – When enabled, users will be reconnected to their music stream after being interrupted by an HTML-based Message of the Day.
- jb_playall_default (default: 1) – Default setting for if clients should comply with ‘play all’ command.
- jb_playall_on_connect (default: 1) – When enabled, connecting new players will be merged into the latest active play-to-all stream.
- jb_popularity_decay_interval (default: 86400) – The interval time between popularity decay events, in seconds.
- jb_popularity_decay_rate (default: 5) – Percentage rate of decay of popularity scores per interval time.
- jb_queue_default (default: 0) – Default setting for automatic music queuing.
- jb_reserved (default: 0) – Reserves Jukebox operation for admins.
- jb_volume_default (default: 80) – Default playback volume for new users.
- jb_volume_loud (default: 20) – Volume boost for ‘loud’ playback.
- jb_volume_min (default: 10) – The minimum permitted volume setting, as a percentage of maximum volume.
- jb_volume_soft (default: -20) – Volume reduction for ‘soft’ playback.
- sm_jukebox – Invokes the Jukebox music system.
- sm_jb – Shorthand alias for sm_jukebox.
- sm_jboff – Stop music playback.
- sm_jballoff – (Admin reserved) Stop music playback for all players.
- sm_eavesdrop – Use: sm_eavesdrop <username>. Join the most recently started music stream, or a particular player’s stream, if named.
- sm_volume – Use: sm_volume <value>. Stores a playback volume level from 1 to 100%.