Case study

CS2 Server Creator

A Python command line tool that turns a Counter-Strike 2 server setup into one repeatable command.

Role
Solo project
Period
2025

Context

Standing up a Counter-Strike 2 game server is the same sequence of steps every time, and every repetition is another chance to get one flag wrong. It is exactly the kind of task that should be code.

What I did

Split into cli, core and models layers, so the command line interface and the logic underneath it can be tested independently of each other.

Network calls go through httpx, with tenacity wrapping the retry behaviour for the steps that fail intermittently.

rich handles the terminal output, so progress and failures stay readable while a long setup runs.

pytest covers the core and GitHub Actions runs the suite on every push.

What changed

The setup is a single command instead of a checklist somebody has to remember.

The tests and the CI are the part that matters most. A personal project still has to prove it works before it ships, and keeping that habit on something nobody asked for is the point.

Built with

  • Python
  • httpx
  • tenacity
  • rich
  • pytest
  • GitHub Actions

Links

Get in touch