Live Kentucky radio (WFPK Louisville) on an in-game frequency in Project Zomboid
  • Java 64.7%
  • Go 27.7%
  • Shell 7.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
backmeupplz a85c842bf4
Radio volume knob controls the stream live
The stream's volume was set once at tune-in (knob defaults to 1.0) and
never updated, so turning the knob down did nothing. Re-apply it every
frame on a curve: lowest step is 0.2, top is 1.25 of the old level.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 08:27:03 -07:00
.github Add funding links 2026-10-08 15:24:51 -07:00
launcher Zomboid Radio: live WFPK Louisville on in-game 91.8 MHz 2026-09-30 09:07:29 -07:00
patcher Radio volume knob controls the stream live 2026-10-09 08:27:03 -07:00
.gitignore Zomboid Radio: live WFPK Louisville on in-game 91.8 MHz 2026-09-30 09:07:29 -07:00
build.sh Zomboid Radio: live WFPK Louisville on in-game 91.8 MHz 2026-09-30 09:07:29 -07:00
INSTRUCTIONS-linux.txt Zomboid Radio: live WFPK Louisville on in-game 91.8 MHz 2026-09-30 09:07:29 -07:00
INSTRUCTIONS-macos.txt Zomboid Radio: live WFPK Louisville on in-game 91.8 MHz 2026-09-30 09:07:29 -07:00
INSTRUCTIONS-windows.txt Zomboid Radio: live WFPK Louisville on in-game 91.8 MHz 2026-09-30 09:07:29 -07:00
README.md Zomboid Radio: live WFPK Louisville on in-game 91.8 MHz 2026-09-30 09:07:29 -07:00

Zomboid Radio

Live WFPK 91.9 Louisville, KY on in-game 91.8 MHz in Project Zomboid (Build 42). Tune any radio (handheld, ham, car) to 91.8 and it plays the real station instead of static.

Install

  1. Download the zip for your OS from Releases and unzip it.
  2. Close the game and run the executable. INSTRUCTIONS.txt in the zip covers the Windows SmartScreen and macOS Gatekeeper prompts.
  3. Tune a radio to 91.8 MHz in game.

After a game update the radio goes away (Steam restores the original file), so run the patcher again. To uninstall, use Steam > Properties > Installed Files > Verify integrity of game files.

Multiplayer

The patch is client-side only. The server doesn't need it and doesn't check for it. Each player who runs the patcher hears the station on their own radios, streamed straight from WFPK. Unpatched players hear static on 91.8.

How it works

The zip contains no game code. The executable finds your Steam install and runs a small patcher with the game's own bundled Java. The patcher uses the JDK ClassFile API to rewrite three methods inside your projectzomboid.jar:

  • DeviceData.updateEmitter: a radio tuned to 91.8 plays the stream instead of the static loop.
  • FMODSoundEmitter.addSound and FileSound.stop: http sound clips open as FMOD net streams and are closed again when stopped.

The hook logic lives in ZomboidRadioHook.java. The patcher checks that every hook matched exactly once and verifies the bytecode before it writes anything. If a future game version changes these methods, the patcher refuses to run and leaves the jar untouched.

To change the station or frequency, edit CHANNEL / URL in the hook and rebuild. The URL must be a plain http MP3 stream, and the frequency a multiple of 200 kHz.

Build

Needs JDK 25+, Go, zip, and a local copy of the game (only for compiling against):

./build.sh   # -> dist/zomboid-radio-{windows,macos,linux}.zip