Skip to content

Releases: karola3vax/CS2FOW

CS2FOW 0.3.0

Choose a tag to compare

@karola3vax karola3vax released this 22 Jul 12:59
Immutable release. Only release title and notes can be modified.

CS2FOW 0.3.0

This is the next public CS2FOW release after 0.2.4-preview. You can update directly from 0.2.4 to 0.3.0; the unpublished versions in between are already included and do not need to be installed.

CS2FOW 0.3.0 supports the current public CS2 build 24304127 (1.41.7.2) on Windows and Linux servers.

Update from 0.2.4

  1. Stop the server.
  2. Update the CS2 server and Metamod:Source.
  3. If you changed game/csgo/cfg/cs2fow.cfg, save a copy of it.
  4. Download the 0.3.0 core ZIP for the server's operating system: Windows or Linux.
  5. Extract the ZIP directly into the server's game/csgo folder and allow it to replace the old CS2FOW files.
  6. If you saved a customized config, copy your chosen values into the new cs2fow.cfg. Keep the new cs2fow_worker_threads 2 line unless you have a reason to change it.
  7. Start the server, load a map, and run cs2fow_status in the server console.

The ZIP already contains the correct addons, cfg, and tools folders. After extraction, they must be directly inside game/csgo, not inside another nested CS2FOW folder.

No uninstall, client download, database change, or intermediate CS2FOW version is required. Existing 0.2.4 settings still work.

Official maps

If the 0.2.4 official-map package is already installed and working, keep it; the same 23 validated map files are used by 0.3.0. New installations can extract cs2fow-0.3.0-official-maps.zip into the same game/csgo folder.

What server owners will notice

  • More accurate player visibility. CS2FOW now checks the player's complete animated CS2 hitbox shape instead of a small collection of hand-placed dots. A genuinely visible part of the player can reveal the whole player more reliably around corners, stairs, railings, and narrow gaps.
  • Much better performance on full servers. The live 32-player test reduced visibility-worker time by about 25% and cut tested map triangles by about half compared with the first capsule implementation.
  • Two visibility workers by default. Work is shared across two background threads. The allowed range is one to four, but most owners should leave cs2fow_worker_threads 2 unchanged.
  • Clearer diagnostics. cs2fow_status now shows real elapsed worker time, combined CPU work, recent slow frames, cache use, and the shortcuts that avoided unnecessary work.
  • Stronger failure safety. Missing animation data, uncertain visibility, worker failure, or an expired time budget still leaves the player visible instead of risking an incorrect hide.

Smoke blocking, HE smoke clearing, optional teammate filtering, full player-equipment grouping, automatic map baking, and the fail-open safety model continue to work as before.

Visibility Studio was also updated to reflect the new runtime and is for local development only. Server owners do not install or run Studio.

Confirm that it works

Run:

cs2fow_status

The first line should say active and show the loaded map. If it says the server fingerprint does not match, finish updating CS2 and restart the server. If the command is unknown, check that Metamod:Source is current and that the ZIP was extracted into the correct folder.

Release files

  • cs2fow-0.3.0-windows-x86_64.zip — Windows servers
  • cs2fow-0.3.0-linux-x86_64.zip — Linux servers
  • cs2fow-0.3.0-official-maps.zip — optional for new installations
  • SHA256SUMS.txt — file-integrity checksums
  • v0.3.0-manifest.json — verified build and artifact information

Validation

  • Valve's current Windows server.dll and Linux libserver.so exactly match the packaged gamedata fingerprints for CS2 build 24304127.
  • The Windows and Steam Runtime Linux builds pass the complete runtime test suite.
  • Package contents, checksums, official-map pairs, and fail-open visibility behavior pass automated validation.
  • The final live 32-player benchmark completed without budget exhaustion, cache saturation, missing capsule data, or incorrect visibility decisions.

Compiled ZIPs are distributed only as GitHub Release assets and are not stored or linked from the README.

CS2FOW 0.2.4-preview

Choose a tag to compare

@karola3vax karola3vax released this 18 Jul 10:12
Immutable release. Only release title and notes can be modified.

CS2FOW v0.2.4-preview

This release supports CS2 build 24248951 and the current Metamod:Source/HL2SDK interface.

What changed

  • Fixed CS2FOW commands and settings not registering after the July 17 CS2 tooling update.
  • Tightened the upper viewing margin and changed ping preload to start at 48 units, add 10 units every 25 ms, and reach the 128-unit cap at 200 ms. Target-box side/top padding remains 8 units.
  • Added automatic FFA detection through mp_teammates_are_enemies.
  • Shortened the round-start lifecycle safety window from 3 seconds to 1 second and removed the extra 1.5-second visual warmup.
  • Updated Visibility Studio to show two SAS models 256 units apart with the stationary runtime ray layout.
  • Replaced velocity/lookahead prediction with an extra point driven by the player's held W/S or diagonal input, added a permanent feet point, and reduced rays by 37.5% to 62.5% per player pair.

The complete visual-group baseline, full-update handling, paired CheckTransmit masks, fail-open safety, ping-scaled shoulder and input-intention preload, smoke occlusion, HE smoke clearing, and optional teammate filtering remain in place.

Installing

  1. Update your CS2 server and 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.

CS2FOW intentionally refuses to activate when the loaded CS2 server binary does not exactly match its verified fingerprint. This is safer than guessing after a game update.

Prepared artifacts

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

The official-map bundle reuses the validated 23 map pairs from CS2 build 24248951; the maps are repackaged, not rebaked. Final source and artifact hashes are recorded in the release manifest after CI.

Validation boundary

Automated tests verify the Windows and SteamRT Linux builds, package contents, binary fingerprint data, and visibility systems. Live-server testing remains the authority for engine-side entity behavior.

CS2FOW 0.2.3-preview

Choose a tag to compare

@karola3vax karola3vax released this 17 Jul 04:29
Immutable release. Only release title and notes can be modified.

CS2FOW v0.2.3-preview

This compatibility hotfix supports CS2 build 24248951.

What changed

  • Verified the updated Windows and Linux server binaries against CS2FOW's private runtime layout.
  • Updated the strict server fingerprints required for safe activation.
  • Rebaked the four official maps whose source files changed: cs_shelter, de_boulder, de_eldorado, and de_fachwerk.

Valve did not change the executable server code, engine2, tier0, CheckTransmit layout, smoke layout, or game-event layout in this update. Normal visibility behavior is unchanged from 0.2.2-preview.

Installing

  1. Update your CS2 server and 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.

CS2FOW intentionally refuses to activate when the loaded CS2 server binary does not exactly match its verified fingerprint. This is safer than guessing after a game update.

Prepared artifacts

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

The official-map bundle reuses the 19 unchanged map pairs and includes fresh bakes for the four changed maps. All 23 pairs are validated before packaging. Final source and artifact hashes are recorded in the release manifest after CI.

Validation boundary

Automated tests verify the Windows and SteamRT Linux builds, package contents, binary fingerprint data, and the existing visibility systems. Live-server testing remains the authority for engine-side entity behavior.

CS2FOW Official Maps v2

Choose a tag to compare

@karola3vax karola3vax released this 17 Jul 04:29
Immutable release. Only release title and notes can be modified.

CS2FOW Official Maps v2

This is the independent, CI-friendly release stream for CS2FOW's ready-made official map data.

  • 23 verified official map pairs (.bvh8 and .json)
  • CS2 build 24248951
  • 19 unchanged pairs retained from maps-v1
  • Fresh bakes for cs_shelter, de_boulder, de_eldorado, and de_fachwerk
  • BVH8 format 3
  • Bake recipe 1
  • Exact source-map fingerprints inside every JSON report
  • ZIP hash and provenance in the attached manifest and checksum file

Extract the ZIP into your server's game/csgo directory. It contains the correct addons/cs2fow/data/maps path.

The maps-v2 tag and its assets are permanent. A new maps-v* release will be created only when a covered official map, the covered map list, the bake recipe, or the BVH8 format changes. Normal CS2FOW releases will continue to bundle the same official-map data for manual installs.

CS2FOW Official Maps v1

Choose a tag to compare

@karola3vax karola3vax released this 16 Jul 04:50
Immutable release. Only release title and notes can be modified.

CS2FOW Official Maps v1

This is the independent, CI-friendly release stream for CS2FOW's ready-made official map data.

  • 23 verified official map pairs (.bvh8 and .json)
  • CS2 build 24209309
  • BVH8 format 3
  • Bake recipe 1
  • Exact source-map fingerprints inside every JSON report
  • ZIP hash and provenance in the attached manifest and checksum file

Extract the ZIP into your server's game/csgo directory. It contains the correct addons/cs2fow/data/maps path.

The maps-v1 tag and its assets are permanent. A new maps-v* release will be created only when a covered official map, the covered map list, the bake recipe, or the BVH8 format changes. Normal CS2FOW releases will continue to bundle the same official-map data for manual installs.

CS2FOW 0.2.2-preview

Choose a tag to compare

@karola3vax karola3vax released this 15 Jul 09:41
Immutable release. Only release title and notes can be modified.

CS2FOW v0.2.2-preview

This compatibility hotfix supports CS2 build 24209309.

What changed

  • Updated the strict Windows and Linux server fingerprints for the latest CS2 binaries.
  • Removed an obsolete Valve string-token database import that disappeared in this game update.
  • Rewrote the README in simpler language and added new visibility, smoke, HE, and map demonstrations.

The LOS points, movement and ping preload, smoke occlusion, HE smoke clearing, teammate filtering, lifecycle protection, and CheckTransmit behavior are unchanged from 0.2.1-preview.

Installing

  1. Update your CS2 server and 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.

CS2FOW intentionally refuses to activate when the loaded CS2 server binary does not exactly match its verified fingerprint. This is safer than guessing after a game update.

Prepared artifacts

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

The official-map bundle reuses the validated 23 map pairs from CS2 app build 24134959; the maps are repackaged, not rebaked. Final source and artifact hashes are recorded in the release manifest after CI.

Validation boundary

Automated tests verify the Windows and SteamRT Linux builds, package contents, binary fingerprint data, and the existing visibility systems. Live-server testing remains the authority for engine-side entity behavior.

[OUTDATED] 0.2.1-preview

Choose a tag to compare

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

CS2FOW v0.2.1-preview

This hotfix stops player visibility culling from hiding independent gameplay entities.

What changed

  • Player visual groups now contain only the pawn, known carried weapons, wearables, and a currently carried hostage prop.
  • Planted C4 stays visible and keeps its ticking sound when the planter becomes hidden.
  • Dropped objectives, grenade projectiles, infernos, sounds, and unknown entities remain independent from the player who created or carried them.
  • Carried C4 still follows its carrier until it becomes the planted objective.
  • cs2fow_entity now reports only direct, explicitly known group members.

The LOS, movement and ping preload, smoke occlusion, HE smoke clearing, optional teammate filtering, lifecycle protection, and paired CheckTransmit behavior are unchanged.

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.

Prepared artifacts

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

The official-map bundle reuses the validated 23 map pairs from CS2 app build 24134959; the maps are repackaged, not rebaked. Final source and artifact hashes are recorded in the release manifest after CI.

Validation boundary

Automated tests verify explicit visual-group construction, quarantine, debug aggregation, CheckTransmit behavior, Windows/Linux builds, package contents, and the existing visibility systems. Live-server testing remains the authority for planted-bomb visuals, ticking audio, grenade independence, and engine-side entity behavior.

[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.

[OUTDATED] 0.1.1-preview

Choose a tag to compare

@karola3vax karola3vax released this 05 Jul 10:38

CS2FOW 0.1.1-preview fixes the Linux SteamRT3 loader issue and includes the CheckTransmit hardening pass.

Changes:

  • Rebuilt the Linux plugin and baker against Valve's SteamRT3 Sniper SDK.
  • Fixed the reported GLIBCXX_3.4.32 not found loader failure on SteamRT3 Docker servers.
  • Added CI ABI checks so Linux artifacts stay within the SteamRT3 runtime baseline.
  • Hardened CheckTransmit filtering against invalid indexes, stale player state, stale pawn identity, and stale weapon handles.

Official map prebakes are unchanged from 0.1.0-preview and remain compatible:
https://github.com/karola3vax/CS2FOW/releases/download/v0.1.0-preview/cs2fow-0.1.0-preview-official-maps.zip

Official maps SHA256:
66114d74a13f933f38f81a79d2fa10ad89e2cf254b45afc5c589c8782067215c cs2fow-0.1.0-preview-official-maps.zip

[OUTDATED] 0.1.0-preview

Choose a tag to compare

@karola3vax karola3vax released this 05 Jul 06:33

CS2FOW 0.1.0-preview is the first public preview build.

Install one core package for your server OS into game/csgo. Map data is generated automatically on first load when missing or outdated. The optional official maps package is included for server owners who prefer prebuilt data instead of first-load baking.

Assets:

  • cs2fow-0.1.0-preview-windows-x86_64.zip: Windows server plugin, baker, VRF CLI, config, gamedata, docs.
  • cs2fow-0.1.0-preview-linux-x86_64.zip: Linux server plugin, baker, VRF CLI, config, gamedata, docs.
  • cs2fow-0.1.0-preview-official-maps.zip: optional prebuilt official map .bvh8 data and bake reports.
  • SHA256SUMS.txt: release asset checksums.

Notes:

  • Requires AVX and OS AVX state support.
  • Supports official, custom, and Workshop maps when the map is mounted by CS2.
  • This is a preview release, not a 1.0 stability promise.