Skip to content

[OUTDATED] 0.2.0-preview

Choose a tag to compare

@karola3vax karola3vax released this 13 Jul 01:00
Immutable release. Only release title and notes can be modified.

CS2FOW v0.2.0-preview

This preview makes CS2FOW safer to operate, easier to understand, and more accurate around movement, latency, weapons, and live smoke.

Main changes

  • CheckTransmit sets each matching dont_transmit bit before clearing a set primary entity-send bit, fails open if either list is unavailable, leaves full updates and other mask storage untouched, and lets visible entities return through ordinary snapshots.
  • The bundled config uses sv_enable_donttransmit 0 for compatibility and runs after plugin convars register and at every map start; paired-list handling also supports mode 1.
  • Live CS2 smoke now blocks wall-clear rays using copied voxel data, including growth, fade, overlap, special cells, and grenade-made holes. Smoke failures remain independently fail open.
  • HE channels apply only to smoke that already existed at detonation time; an older HE cannot clear a later smoke.
  • Movement preload uses recipient latency and speed, clips prediction at baked walls, and scales shoulder origins for higher-ping corner peeks.
  • Visibility uses separate current/future target boxes, custom body points, eight recipient origins, and the held weapon's muzzle.
  • cs2fow_filter_teammates 1 optionally applies the same complete visibility rules to living teammates; it remains disabled by default.
  • cs2fow_entity records fixed-size, aggregated evidence only for entity bits that CS2FOW actually hid.
  • Player lifecycle, visual-group identity, stale-result, map-data, and automatic-baker paths fail open when required state is uncertain.
  • BVH8 version 3 validates one rooted tree, reachable unique records, depth, triangle totals, and CRC before atomically replacing a bake; VPK version 2 entries also stay within their declared data section.
  • Linux automatic-bake cancellation now terminates and reaps the complete baker/VRF process tree.
  • Official-map packaging validates every bake through --inspect-bvh8, matches its report metadata, retains sequential platform checksums, and bundles complete dependency notices.
  • The LOS editor refuses invalid exports and keeps at least one point.
  • The runtime is split into readable map/game-state, worker, transmit, and automatic-baker responsibilities, with a plain-language code tour.

Installing

  1. Install Metamod:Source.
  2. Extract the Windows or Linux core ZIP into the server's game/csgo folder.
  3. Optionally extract the official-map ZIP into the same folder.
  4. Load a map and run cs2fow_status.

Version 2 and older .bvh8 files are intentionally rejected. When the packaged tools can run and the map-data folder is writable, CS2FOW automatically rebuilds a missing or old bake. It remains fail open while doing so.

Prepared artifacts

  • cs2fow-0.2.0-preview-windows-x86_64.zip
  • cs2fow-0.2.0-preview-linux-x86_64.zip
  • cs2fow-0.2.0-preview-official-maps.zip
  • SHA256SUMS.txt
  • v0.2.0-preview-manifest.json
  • CHANGELOG.md

The official-map bundle was baked from local CS2 app build 24134959. All 23 playable maps shipped in that build, the bake recipe, and final checksums are recorded in the release manifest.

What the checks prove

The automated suite covers map/VPK parsing, rooted BVH8 validation and replacement, nested-process cleanup, open/blocked rays, visibility sampling and worker behavior, lifecycle/transmit helpers, debug evidence, semantic package contents, checksums, editor export validation, and Windows/Linux builds.

These checks do not reproduce a real CS2 transmit list, prove live-server crash safety, or explain every engine-side cause of CopyExistingEntity: missing client entity. Live-server packet testing remains a separate validation step.