#game-state #cs-go #payload #integration #structures #api-bindings

csgo-gsi-payload

Data structures for CSGO Game State Integration

2 releases

0.1.1 Jan 6, 2023
0.1.0 Jan 6, 2023

#2092 in Data structures

MPL-2.0 license

18KB
379 lines

csgo-gsi-payload

Data structures for CSGO Game State Integration payload.

Docs

Documentation is available here.

Exemple

Using axum:

use std::net::SocketAddr;

use axum::{extract::Json, routing::post, Router};

async fn root(Json(payload): Json<csgo_gsi_payload::Payload>) {
    let steam_id_provider = match payload.provider {
        Some(provider) => provider.steam_id,
        None => String::from("unknown"),
    };
    
    println!("SteamID of the provider: {}", steam_id_provider);
}

#[tokio::main]
async fn main() {
    let app = Router::new().route("/", post(root));
    let address = SocketAddr::from(([127, 0, 0, 1], 3000));
    
    axum::Server::bind(&address)
        .serve(app.into_make_service())
        .await
        .unwrap();
}

Builder

Check out csgo-gsi-builder if you want to build game state integration cfg files.

Notes

It has not been tested in Danger Zone, nor Hostage Rescue modes.

Dependencies

~1.2–2MB
~43K SLoC