#valve #cs-go #api-bindings

csgo-gsi

rust library for CS:GO's Game State Integration API

3 releases (breaking)

0.3.0 Sep 21, 2020
0.2.0 Sep 20, 2020
0.1.0 Sep 15, 2020

#422 in Games

Custom license

42KB
856 lines

csgo-gsi

builds.sr.ht status Crates.io version Crates.io downloads Crates.io license

Helper library for the CS:GO Game State Integration (GSI) API.

Best used with the tokio async ecosystem.

Usage

Add this to your Cargo.toml:

[dependencies]
csgo-gsi = "0.3.0"

Simple Example

use csgo_gsi::{GSIConfigBuilder, GSIServer, Subscription};

#[tokio::main]
async fn main() {
    let config = GSIConfigBuilder::new("csgo-gsi Example")
        .subscribe_multiple(Subscription::UNRESTRICTED)
        .build();

    let mut server = GSIServer::new(config, 31337);
    server.add_listener(|update| println!("Got an update {:#?}", update));

    server
        .run()
        .await
        .expect("server didn't start");
}

License

Licensed under the Anti-Capitalist Software License version 1.4.

Contribution

Unless you explicitly state otherwise, any contribution you submit shall be also under the Anti-Capitalist Software License version 1.4, without any additional terms or conditions.

History

v0.3.0 - 2020-09-20

  • add optional export into the Rhai scripting language, with the rhai feature

v0.2.0 - 2020-09-20

  • make Update be Clone

v0.1.0 - 2020-09-15

  • Initial release

Dependencies

~21MB
~371K SLoC