Skip to main content
The CSAFAP Config Package is a sophisticated CS2 configuration framework built entirely on legal in-game commands and aliases. It enables advanced features like automatic line-ups, jumpthrow binds, and movement configurations through an innovative radio wheel interface.

Architecture

The framework follows a modular architecture with several key components:

Entry Point: MAIN.cfg

The MAIN.cfg file serves as the user-facing configuration hub where players customize their experience:
This file then loads the core framework logic:

Core Logic: logic.cfg

The logic.cfg file contains the main framework logic, implementing:
  • Alias system for dynamic keybind switching
  • Radio wheel mechanics for interactive UI
  • Zeroing system for precise angle alignment
  • Sensitivity management for auto line-ups
  • State management for different game modes
The framework is designed to work on official Valve servers, FaceIt, and other competitive platforms. All features use only commands available under sv_cheats 0.

Component Loader

The loader system (addons/loader.cfg) initializes framework components in a specific order:

Module System

The framework organizes features into modules:
  • maps/ - Map-specific line-ups and configurations
  • movement/ - Movement configurations (null binds, desubtick)
  • crosshair/ - Pro crosshairs and follow-recoil
  • practice_mode/ - Practice mode with guides and teleports
  • addons/ - Advanced features and ticker system

Alias System

The framework leverages CS2’s alias command to create dynamic, context-aware keybinds. This allows a single key to perform different actions based on the current state.

Dynamic Hotkey Switching

Example from logic.cfg:6-11:
These aliases create a two-phase system:
  1. Phase 1: First key press opens the radio wheel with labels
  2. Phase 2: Second key press executes the selected command
The framework switches between phases by rebinding the action alias after each press.
This two-phase approach allows the same key to both open the selection menu and confirm the choice, creating an intuitive user experience.

State Management

The framework maintains state through alias chains:
These initialization commands set the default state for each hotkey system.

Sensitivity System

For auto line-ups to work accurately, the framework uses a standardized sensitivity:
The system:
  1. Saves the player’s original sensitivity (defined in MAIN.cfg)
  2. Switches to standard sensitivity for angle calculations
  3. Automatically restores player sensitivity after line-up execution

Initialization and Loading

The framework is loaded via launch options:
This ensures:
  • Configuration loads before entering any server
  • Ticker system initializes properly (required for advanced features)
  • All aliases are registered before use
The framework echoes a confirmation message on successful load: