CryoRadio Receiver 0.5.6 — Linux x86_64
=======================================

Supported target
----------------
- 64-bit Linux on x86_64, including common native Steam and Steam Deck
  desktop-mode setups.
- Project Zomboid Build 42.20 and compatible future hotfixes launched
  normally through Steam.
- The default ALSA device, normally routed through PipeWire or PulseAudio.

Patch-independent compatibility — R4
------------------------------------
CryoRadio no longer requires an exact whole-projectzomboid.jar size or
SHA-256 merely because Project Zomboid received an unrelated hotfix.

Before changing the game JAR, the installer now requires the candidate JAR
to be structurally valid and to contain exactly one:

zombie/radio/devices/DeviceData.class

That stock class must be exactly:

- bytes: 39676
- SHA-256:
  e1c6392c268862b74f90402b5779e1aeea3ede5acfbfd1f53d8b8dadf6dbb2d6

CryoRadio replaces only that audited entry with its getter:

- bytes: 39727
- SHA-256:
  33720dd15d4430963a46f5112e2896863b15d9462951d9be2d69bedb54c9556b

If Project Zomboid genuinely changes DeviceData.class, installation or
reprovisioning fails closed until CryoRadio compatibility is reviewed.

JAR locations
-------------
The installer supports these JAR locations beneath the ProjectZomboid game
root:

- projectzomboid.jar
- projectzomboid/projectzomboid.jar
- ProjectZomboid/projectzomboid.jar

Exactly one compatible JAR must be found. Ambiguous installations are
refused.

Safety
------
- Validates ZIP integrity before patching.
- Requires exactly one audited stock DeviceData.class entry.
- Replaces only zombie/radio/devices/DeviceData.class.
- Verifies the exact CryoRadio getter after patching.
- Creates a private exact original-JAR backup before replacement.
- Binds that backup to the original JAR byte count and SHA-256 in state.
- Refuses unknown or ambiguous game installations.
- Preserves a newer Steam-updated JAR rather than restoring an obsolete
  backup.
- Refuses an unknown JAR if it still contains the CryoRadio getter.
- No sudo, system service, cron job or login autostart.

Install
-------
1. Close Project Zomboid and Steam completely.
2. Extract the player archive.
3. Open a terminal in the extracted folder.
4. Run: bash install.sh
5. Start Steam normally and launch Project Zomboid normally.

Lifecycle
---------
The Receiver remains Steam-session-scoped and connects to the CRP2 Opus feed
only while the in-game radio is fresh and audible.

Version
-------
0.5.6-linux-x64-pz-target-class-r4