PEAK
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
Downloads
364
Size
71KB

Player Radio

Every player gets their own radio. Drop your own music in a folder, press F5, and it plays from your character in 3D. Friends hear it get louder as they climb up to you and fade out as they walk away. Their radios play their music the same way, and you hear them all.

Features

  • Your own music: .mp3, .wav and .ogg files from your Music folder (subfolders too).
  • Your own radio: it plays only your songs, and only you can play/pause, skip or go back. Everyone else controls their own radio.
  • Hear everyone in 3D: every player's radio plays from their character. Several radios can play at once, and everyone hears the same song at the same moment. Players who join late pick up every radio where it is.
  • Songs are shared automatically: if you don't have the song someone is playing, it's streamed to you over the game's connection, checked, and cached so it only downloads once.
  • Your volumes are yours: change how loud your radio is for you, how loud everyone else's is, or mute other radios. None of this changes what other players hear.
  • Game music fades out while a radio is playing near you and comes back afterwards. Ambience and sound effects are not affected.
  • Death: a dead player's radio keeps playing where they fell until they're revived or leave.
  • Works solo and offline.
  • Small overlay with your song, time, downloads, radios playing nearby and the keys. Looking at a player whose radio is on shows [Radio] after their name.

Controls

Key Action
F5 Play / pause your radio
F6 Previous song (restarts the song if more than 3 s in)
F7 Next song
F8 Mute / unmute other players' radios (only for you)
F9 / F10 Your radio's volume down / up (only for you)
F4 Open your Music folder (works in menus too)

All keys can be changed in BepInEx/config/com.inkslinger.playerradio.cfg using Unity Input System paths, for example <Keyboard>/f5, <Keyboard>/numpad5 or <Mouse>/forwardButton. The log warns you if one of your keys clashes with a game binding.

Adding music

The easiest way: start the game and press F4. Your Music folder opens in File Explorer. Copy your songs in; they're picked up within about 10 seconds, no restart needed.

The folder is:

<profile folder>/BepInEx/config/PlayerRadio/Music
  • r2modman / Thunderstore Mod Manager: Settings → Browse profile folder, then open BepInEx/config/PlayerRadio/Music.
  • Gale: open your profile's folder from Gale, then BepInEx/config/PlayerRadio/Music.
  • Manual install: PEAK/BepInEx/config/PlayerRadio/Music.

The folder is created on first launch with a HOW TO ADD MUSIC.txt inside. Subfolders work. Only .mp3, .wav and .ogg files are used. You can point somewhere else with the MusicFolder setting.

Tip: mod managers may include the config folder when you export or share a profile, so a large Music folder can make the export big.

Multiplayer

  • Everyone who wants to hear radios needs Player Radio, and everyone should be on the same 0.2.x version. Players without the mod hear nothing and aren't affected. 0.1.x players are ignored.
  • Songs stream to other players who don't have them, over the game's own connection. Downloaded songs are cached in BepInEx/cache/PlayerRadio (500 MB limit by default; oldest files are removed first).
  • Bandwidth: uploads are capped at 64 KB/s in total (StreamRateKBps), and downloads at 128 KB/s (DownloadRateKBps). A typical 5 MB song takes about a minute. Files over 25 MB (MaxStreamFileMB) are never sent. Set EnableStreaming = false if you don't want to send or receive files at all.

Configuration

Settings are in BepInEx/config/com.inkslinger.playerradio.cfg (or your mod manager's config editor):

Setting What it does
Hotkeys All keys above
MyRadioVolume / OtherRadiosVolume / VolumeStep How loud your radio / other players' radios are for you, and the F9/F10 step
MaxDistance / MinDistance How far radios can be heard (default 60 m)
DuckGameMusic, GameMusicDuckVolume, DuckOnlyWhenInRange, ExcludeFromDucking Game-music fading
EnableStreaming, StreamRateKBps, DownloadRateKBps, MaxStreamFileMB Song streaming
CacheSizeMB Size limit for downloaded songs (default 500 MB)
MusicFolder Use a different Music folder
ShowHud, ShowKeyHints, ShowNearbyRadios, MarkRadioCarrierName What the overlay shows
VerboseLogging More detail in the log

Known limitations

  • Memory: each playing radio keeps its song decoded in memory (a 4-minute song can use roughly 40-85 MB), so many radios at once use more RAM.
  • Multiplayer has only been lightly tested. Please report problems with your BepInEx/LogOutput.log (lines tagged Player Radio).
  • Big lobbies with lots of new songs can take a while to download everything at the default rates.

Troubleshooting

Check BepInEx/LogOutput.log for lines tagged Player Radio. It shows the session mode, which players have a compatible radio, the game's key bindings and every song loaded or downloaded.

Credits

Made by Inkslinger. See CHANGELOG.md for version history.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.