Skip to content

Releases: cainky/CounterStrikeInterface

v0.1.0 - Initial Release

02 Feb 19:04

Choose a tag to compare

Initial release of CounterStrikeInterface - a Python interface for Counter-Strike 1.6 reinforcement learning.

Features

Core Interface

  • Redis-based observation/action transport with configurable channels
  • PettingZoo-compatible parallel environment for multi-agent RL
  • Gymnasium observation/action spaces with configurable dimensions

Performance Optimizations

  • UDP transport - Optional low-latency transport (~10x faster than Redis)
  • msgpack serialization - 2-3x speedup over JSON (optional)
  • Pre-allocated buffers - Zero-allocation observation vectors

Reliability

  • Circuit breaker pattern for connection handling
  • UDP health tracking with auto-fallback to Redis
  • Tick validation and synchronization

Observation Schema

  • Full player state (position, health, armor, weapons, etc.)
  • Game events (damage, kills, bomb plant/defuse)
  • Round state and match context
  • Tactical info computations (aim score, exposure, teammate proximity)

Documentation

  • Config reference
  • Troubleshooting guide
  • GitHub Pages landing page

Installation

pip install counterstrikeinterface
# Or with optional dependencies:
pip install counterstrikeinterface[fast]  # msgpack support
pip install counterstrikeinterface[gym]   # gymnasium/pettingzoo

Requirements

  • Python 3.10+
  • Redis server (for default transport)
  • Counter-Strike 1.6 with CSIF plugin