Required Launch Options
Add these launch options to CS2 in Steam:To set launch options:
- Right-click CS2 in your Steam library
- Select “Properties”
- Under “General”, find “Launch Options”
- Paste the launch options string
Understanding Each Component
+exec csafap/main
The+exec command executes a configuration file when the game launches.
- Loads the framework before entering any server
- Ensures all aliases are registered at startup
- Prevents issues with command queue truncation
- Initializes user preferences from
MAIN.cfg
The
+ prefix means the command runs during game startup, before the main menu loads. This is crucial for proper initialization.Why exec on Launch?
The framework must be loaded via launch options rather than manually because:- Alias Initialization: Ticker-based features need aliases ready before first frame
- Command Queue: Long configs can get truncated if executed mid-session
- Stability: Loading from main menu prevents crashes on disconnect/changelevel
- FaceIt Compatibility: Some servers reject configs executed after connection
Make sure not to exec csafap/main after the initial exec on game launch
-testscript ”../../csgo/cfg/csafap/addons/.vtest”
The-testscript option loads a VScript test file that runs every frame.
Path Explanation
../..- Navigate up two directories from the default script location/csgo/cfg/- Enter the config directorycsafap/addons/- Enter the framework addon directory.vtest- Load the ticker script file
The
.vtest file must have no name (just the extension) and be saved with the VTest file type.What the Ticker System Enables
The.vtest script is the foundation for advanced features:
W!,A!,S!,D!- Enable null binds and desubtick movementM1!,M2!- Enable rapid fire and follow-recoilJT!- Enable CS:GO-style jumpthrow bindsJ!- Enable desubtick jumping
Aliases called multiple times in a row (e.g.,
W! appears twice) allow for chaining multiple alias substitutions in a single frame. This is how complex features like jumpthrow can execute a sequence of commands frame-perfectly.Features Requiring Launch Options
These features will NOT work without the ticker system:Jumpthrow Binds
Null Binds (Snap-Tap)
Desubtick Binds
Rapid Fire
Better Follow-Recoil
- With Ticker
- Without Ticker
All advanced features work:
- Jumpthrow binds
- Null movement
- Rapid fire
- Follow-recoil
- Desubtick jump/movement
Troubleshooting Launch Options
Error: “couldn’t exec cfg/csafap/main.cfg”
This means the config file isn’t found. Common causes:-
Wrong installation path: Config must be at:
NOT at:
-
Case sensitivity on Linux: Use lowercase:
Error: “Unknown command: W!…”
This means ticker aliases aren’t initialized. Causes:- Missing launch option: Verify
-testscriptis in launch options - Path is wrong: Check the
.vtestfile path - File type is wrong:
.vtestmust be saved as VTest file type - Command queue truncated: A command in
MAIN.cfgis too long
The launch option spams these alias every frame. If the alias are not assigned on game launch, this will happen and other binds using the ticker function (including movement and mouse binds) will not work.
Movement/Mouse Buttons Not Working
If WASD or mouse buttons stop responding after installation:- Check console for “Unknown command: W!” spam
- Verify
.vtestlaunch option is correct - Check that
alias reset_crosshairinMAIN.cfgisn’t too long - Try removing crosshair settings to shorten the command
Kicked from Official Servers
If you’re getting kicked when using certain features:- Don’t use practice mode teleports on official servers - they require
sv_cheats 1 - Rapid fire is server FPS dependent - works at >150 FPS by default
- Some line-ups are patched - check the version history in README
All features in the CSAFAP Config Package are legal on Valve official servers and FaceIt. You will not be banned for using them. However, some practice commands require
sv_cheats 1 and will kick you if attempted on official servers.Optional Launch Options
These aren’t required but can be useful:Disable Intro Video
Set Tickrate for Local Servers
Full Example
Verifying Launch Options Work
After setting launch options, verify they work:- Launch CS2
-
Open console (usually
~key) -
Look for confirmation message:
-
Test a basic keybind: Press
M(default map wheel bind) - Check for ticker spam: You should NOT see “Unknown command: W!” messages
Launch Option Compatibility
FaceIt
The CSAFAP launch options are compatible with FaceIt Anti-Cheat:- Config files are allowed
.vtestticker script is allowed- Null binds are allowed
- Auto line-ups use allowed commands
FaceIt explicitly confirmed that yaw/pitch commands, custom radio wheels, and null binds are legal for ranked PUGs. They are not allowed in higher leagues like ESEA/ESL which prohibit the
alias command entirely.VAC (Valve Anti-Cheat)
All features work on VAC-secured servers:- Everything uses legal console commands
- No memory modification
- No external tools
- Works under
sv_cheats 0
Community Servers
Most community servers allow the config, but some may:- Block
+execin launch options - Disable
yaw/pitchcommands - Restrict radio wheel customization