Skip to content

Repository files navigation

FKZ API

For tracking game servers, players and more.

API Documentation

Interactive API documentation is available at /docs when the server is running:

The documentation is automatically generated from JSDoc comments in the code using Swagger/OpenAPI 3.0.

Prerequisites

  • Node.js (v20 or higher)
  • MySQL/MariaDB database(s)
  • Game servers to monitor (CS:GO, CS2, etc.)
  • Steam API Key
  • Docker is recommended

Project Structure

api/
├── config/          # Server configuration files
├── db/              # Database schemas and migrations
├── docker/          # Custom Docker configuration
├── scripts/         # Data management scripts
├── src/
│   ├── api/         # API route handlers
│   │   ├── global/  # GlobalAPI mirror (gokz)
│   │   └── local/   # Local timer DBs, per game
│   ├── config/      # API Internal configuration
│   ├── db/          # Database connection
│   ├── services/    # Service logic
│   │   ├── servers/ # Polling game servers, presence, history
│   │   ├── kz/      # KZ data pipelines (scraper, bans, stats, caches)
│   │   ├── vip/     # Ko-fi, currency, entitlements, contact links
│   │   └── comms/   # WebSocket, cross-server chat, Discord
│   ├── utils/       # Utilities (logger, validators, auth, error handling)
│   ├── app.js       # Express app configuration
│   └── server.js    # Server entry point
├── tests/           # Tests for server endpoints
└── package.json

License

MIT

Contributing

Why?

Contributors

Languages