Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Boombox Controller Remastered
Play YouTube/SoundCloud links, searches, local music and modpack music on the boombox, synced for every player. Anti-earrape, vote skip, walkie relay, terminal commands.
CHANGELOG
2.1.0
Protection
- Volume normalization (
loudnorm, -16 LUFS) during conversion to stop earrape.Playback > NormalizeAudio, on by default. Tracks cached by 2.0 are not re-processed: run/bcache clearonce. - Vote to skip (
Playback > RequireVoteToSkip, host setting): track changes asked by other players need more than half of the modded players near the boombox. Not applied with 2 or fewer players./bplayand/bstopare not voted; useOnlyHostCanControlfor public lobbies.
New commands
/bsearch <terms>and/bplay <terms>: play the first YouTube result by name./badd <link|terms>: append to the queue instead of replacing it (needs a 2.1 host)./bpacks,/bpack <name>: browse and play music packs from other mods (BoomboxMusicfolders). In a modpack everyone has the same files, so they play in sync with no download.- Ship terminal:
command box play|search|add|stop|skip|queue|volume|packs|pack|help(notboombox, which is the vanilla store purchase). - Ship terminal input limit raised from ~25 to 1000 characters (like the chat), so long links and search terms fit.
Immersion
- Walkie-talkies relay the music with a radio filter (no extra network traffic).
Immersion > WalkieTransmission. - The boombox pulses subtly with the beat.
Visual > PulseWithMusic.
Integrations
- Brazilian Portuguese translation (
Languages = pt). - LethalCompanyInputUtils (volume keys in Settings > Controls) and LethalConfig (in-game options menu), both optional.
Engineering
- Builds without the game installed through
LethalCompany.GameLibs.Steam(exact versions pinned). - Protocol version range (accepts 2-3). 2.1 still writes version 2, so 2.0 and 2.1 players can share a lobby.
- Unit test project (
BoomboxController.Tests, xUnit) and a GitHub bug report template. - CI workflow that builds and tests every push.
2.0.0
Complete rewrite of the download, audio and network layers.
-
YouTube: yt-dlp is now always the latest release (daily
yt-dlp -U), with deno as JS runtime, optional browser cookies and SHA-256 verified downloads. Fixes HTTP 403 / anti-bot failures. -
Audio: every source (Opus/WebM, AAC/M4A, MP3, FLAC...) is transcoded by ffmpeg to OGG Vorbis (or WAV PCM16) before Unity loads it. Clips stay compressed in RAM, are reference counted and destroyed explicitly.
-
Performance: downloads, conversions, hashing and cache cleanup run in background tasks; only AudioClip/AudioSource work happens on the main thread through a dispatcher. No more freezes or lobby timeouts.
-
Multiplayer: new host-authoritative sync over Netcode named messages. Only metadata is sent; every player downloads locally; the host waits for all modded players (or a timeout), starts a shared timeline and re-syncs it; drift above 0.3 s is corrected. Late joiners catch up automatically. Failed downloads fall back silently to a vanilla song.
-
Playlists with auto-advance and prefetch of the next track;
/bskip,/btrack,/bqueue,/bstop,/bcache. -
Local tracks are shared by content hash only (never uploaded) with an in-game warning.
-
Disk cache in
<plugin>/Cachewith size/age limits. -
Patches are Postfix/validated Prefix with vanilla fallback; the hover tooltip no longer replaces the vanilla method.
-
Multiple boomboxes are supported independently.
-
Commands are no longer echoed to the public chat.
-
1.2.2
- Another blocked link has been added.
- Checking for characters in playlist names and song uploads from your computer.
-
1.2.1
- Now, when you turn on the boombox, random music will play. If the /btrack command is not used.
- Fixed a bug related to the /btrack command.
- Uploading a playlist from YouTube has been converted to an asynchronous stream.
- Uploading songs from the computer was converted to an asynchronous stream.
-
1.2.0
- Allows to upload songs from your computer.
-
1.1.9
- Automatically switch the track to the next one when playing the playlist.
- Added weight for the boombox 0.
- Added a character to the list of characters with automatic replacement.
-
1.1.8
- Added the radius of the commands at the boombox (Setting in the configuration).
- Added support for shortened link from youtube: "music.youtube.com".
-
1.1.7
- Rewrote the logic of logReport.txt file recording.
- Banned the use of my mod with another mod: "BoomboxSyncFix".
- Added support for shortened link from youtube: "youtu.be".
- Fixed an error that came out after sending a command without arguments.
-
1.1.6
- Code refactoring has been done.
- Rewrote the method of sending messages to chat. For compatibility.
- Added toggle to enable and disable visual boombox elements.
- Added a check for broken zip files. Automatically re-downloads them.
- Fixed a bug with the config for music.
-
1.1.5
- Revamped the chat command system (for compatibility with the LethalExpansion mod).
- Allows boombox to continue playing music after switching slots (inside your inventory).
- Optimized the code a bit.
-
1.1.4
- Optimized the code a bit.
-
1.1.3
- Added bindings to change the volume buttons.
- Memorizing the volume number after quitting the game.
-
1.1.2
- Changing the color of the boombox.
- Adding a picture to the back of the boombox.
-
1.1.1
- Fixed an issue with uploading videos to boombox when invalid characters were present in the title.
-
1.1.0
- Fixed the bug that the track was not uploaded via SoundCloud.
- Fixed a bug with displaying the name of the playing track.
- Prohibited entering links with search_query value (example link: https://www.youtube.com/results?search_query=test).
- Added automatic deletion of downloaded music when you quit the game.
-
1.0.9
- Fixed a bug with displaying the name of the playing track.
- Fixed a bug when single tracks were not working after playlist.
-
1.0.8
- The track uploading has been optimised.
- Added support for YouTube playlists.
- Added command to switch tracks (for playlists).
-
1.0.7
- Added track position change in the boombox.
- I cleaned the code a little bit :)
-
1.0.6
- Improved synchronization of songs via SoundCloud.
- Added protection so that you can't write to the chat. When the
/bplaycommand is being processed
-
1.0.5
- Fixed a bug where when entering the correct link from YouTube, the message "invalid link" was displayed.
-
1.0.4
- Added support for SoundCloud links.
- Added protection from invalid links.
- Rewrote downloading additional libraries into multithreading.
- Added Russian language. You can change the language in the mod's configuration.
-
1.0.3
- Updated additional libraries for security reasons.
- Added protection if additional libraries are not loaded
-
1.0.2
- Fixed an issue where the track download confirmation text was not displayed in chat.
-
1.0.1
- Update README.md.
-
1.0.0
- Hello, there is nothing new here yet.