gsi-csgo

Crates.iogsi-csgo
lib.rsgsi-csgo
version0.1.1
sourcesrc
created_at2022-11-11 04:18:43.779066
updated_at2023-03-21 20:57:41.341809
descriptionA library containing ready-made structures for deserializing or reverse serializing data provided by CSGO GSI using serde. With examples.
homepagehttps://github.com/sam-ai56/gsi-csgo
repositoryhttps://github.com/sam-ai56/gsi-csgo
max_upload_size
id712656
size45,587
Sam Miller (sam-ai56)

documentation

https://docs.rs/gsi-csgo

README

gsi-csgo

A library containing ready-made structures for deserializing or reverse serializing data provided by CSGO GSI using serde.

Example

First you need to install gamestate_integration_fast.cfg in csgo/cfg folder.

examples/payload.rs

use poem::{handler, listener::TcpListener, post, Route, Server, web::Json};
use gsi_csgo::Body;

#[handler]
async fn update(data: Json<Body>) {
    println!("{:#?}", data);
}

#[tokio::main]
async fn main() -> Result<(), std::io::Error> {
    tracing_subscriber::fmt::init();

    let app = Route::new().at("/", post(update));
    
    Server::new(TcpListener::bind("127.0.0.1:3000"))
        .run(app)
        .await
}

You need add this to your Cargo.toml

[dependencies]
gsi-csgo = "0.1.0"
poem = "1.3.48"
tokio = { version = "1.21.2", features = ["rt-multi-thread", "macros"] }
tracing-subscriber = "0.3.16"

or just use cargo run --example payload

Another examples can be found in the github repository.

License

MIT

Commit count: 9

cargo fmt