A Swiftly S2 plugin for Counter-Strike 2 that lets players choose their Field of View within server-defined limits. Player FOV settings persist across sessions using SteamID-based storage.
- Player-set FOV with configurable min/max clamps
- Persists per-player FOV to
addons/swiftlys2/data/CS2_FOV/player_fov.json - FOV stays intact on weapon switches (uses
DesiredFOVUpdated) - Simple chat/console command
- Toggle the plugin on/off via config
!fov <value>— set your FOV within the allowed range!fov— reset your FOV to the default 90
- Install SwiftlyS2 on your server.
- Build or download the plugin release.
- Copy
Anatolia_Fov.dll(and its.deps.jsonif needed) intoaddons/swiftlys2/plugins/. - Create or edit
configs/plugins/CS2_FOV/config.jsonc(sample below). - Reload SwiftlyS2 or restart the server.
Place this in configs/plugins/CS2_FOV/config.jsonc:
| Option | Type | Default | Description |
|---|---|---|---|
PluginEnabled |
bool | true | Enable or disable the plugin |
FOVMin |
int | 80 | Minimum allowed FOV value |
FOVMax |
int | 130 | Maximum allowed FOV value |
- Per-player FOV values are saved automatically to
addons/swiftlys2/data/CS2_FOV/player_fov.json(created on first use).
From the repository root:
dotnet build CS2_FOV.sln -c ReleaseOutput: source/CS2_FOV/bin/Release/net10.0/Anatolia_Fov.dll
- Added SteamID-based persistence (
player_fov.json) and automatic reload on connect - Default FOV falls back to 90 when no saved value exists
- Cleanup of in-memory session cache on disconnect
- FOV no longer resets when switching weapons
- Continuous application hook to keep FOV stable
- Initial release with basic FOV setting
{ "Anatolia_Fov": { "PluginEnabled": true, "FOVMin": 80, "FOVMax": 130 } }