Skip to content

Repository files navigation

Battlezone 98 Redux Netcode Patch

Battlezone caps every player's send rate at 16,000 B/s and opens each match at a 4,000 B/s trickle. Lifting both took measured matches to 82,000+ B/s and cut visible position corrections by 55-70% on identical maps.

The patch is a DLL proxy that writes the game's own network tuning into memory, enlarges the socket buffers, and marks your traffic for router priority. No game code is modified.

Everyone in the lobby should install it — the tuning is per-machine, so your install fixes your rate and your buffers, nobody else's.

Current version: V4.8 · CHANGELOG


Install

Windows

powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/PiercingXX/battlezone-netcode-patch/master/install/install_windows.ps1 | iex"

That's it. No launch options — just start the game.

If Defender quarantines winmm.dll

Some users see it flagged as Program:Win32/Contebrew.A!ml, a heuristic detection common for unsigned DLL proxies. Restore it from Protection History and add an exception for that one file in the game folder. Don't disable AV globally.

Linux / Proton

curl -fsSL https://raw.githubusercontent.com/PiercingXX/battlezone-netcode-patch/master/install/install_linux.sh | bash

Then set Steam launch options for Battlezone 98 Redux:

WINEDLLOVERRIDES=dsound=n,b %command% -nointro

Without that second step the DLL is never loaded.

Prefer to do it by hand? docs/MANUAL_INSTALL.md


Check it worked

Play one multiplayer match, quit, then run:

Linux/verify_net_patch.sh          # from the game folder
.\Microslop\verify_windows.ps1

Expect VERIFY RESULT: PASS.

To eyeball it instead, open the proxy log next to the game exe (dsound_proxy.log or winmm_proxy.log) and look for net_patch: version confirmed.

reorder: DISABLED is expected — that buffer ships off by default. net_patch: … VETOED means the game updated and the patch safely fell back to stock behaviour; open an issue with the log.


What it does

  • Lifts the send governor. MaxBandwidth 16,000 → 320,000, and each match opens at 40,000 B/s instead of the stock 4,000 trickle.
  • Bigger socket buffers. 4 MB receive / 512 KB send, re-forced so the game can't shrink them back.
  • Relaxes auto-kick (host only). A connection has to stay bad for 60 s instead of 15 s, so a transient spike no longer ejects anyone.
  • DSCP priority marking so a QoS-capable router serves game traffic ahead of bulk downloads.

All memory writes are data-only and DRM-safe, and every address is sanity-checked before it's written.


Tuning

The defaults are meant to be what you want. The few worth knowing:

Variable Default Effect
BZ_NET_TUNE 1 0 restores the game's stock governor behaviour
BZ_AUTOKICK_RELAX 1 0 restores stock auto-kicking
BZ_GOV_START 40000 opening send rate; 0 restores the stock 4000
BZ_REORDER 0 1 enables inbound reordering

Full tables: Linux proxy · Windows proxy


Good to know

  • A workshop mod shipping its own net.ini overrides the patch's. Unsubscribe — disabling it in-game isn't enough.
  • The addresses are pinned to one game build. If Rebellion patches the game you get stock behaviour, not a crash.
  • It fixes tuning, not loss. A saturated uplink on the sending peer's end is theirs to fix.
  • The inbound reorder buffer is off by default as of 2026-07-26. Measurement showed it never ran, and that there was almost nothing to reorder.

Running a test session? docs/TESTING.md — what to collect and how to read it.

Why things are the way they are: docs/RESEARCH.md · resources/ · test-logs/

About

Battlezone 98 Redux Netcode Patch

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages