csgo-gsi2 0.3.1

rust library for CS:GO's Game State Integration API
Documentation
# csgo-gsi2

<!-- [![builds.sr.ht status](https://builds.sr.ht/~boringcactus/csgo-gsi.svg)](https://builds.sr.ht/~boringcactus/csgo-gsi?)
[![Crates.io version](https://img.shields.io/crates/v/csgo-gsi)](https://crates.io/crates/csgo-gsi)
[![Crates.io downloads](https://img.shields.io/crates/d/csgo-gsi)](https://crates.io/crates/csgo-gsi)
![Crates.io license](https://img.shields.io/crates/l/csgo-gsi) -->

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

Best used with the [tokio](https://tokio.rs/) async ecosystem.

[gsi]: https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Game_State_Integration

> Forked from https://github.com/rosefromthedead/csgo-gsi

<!-- ## Usage

Add this to your `Cargo.toml`:

```toml
[dependencies]
csgo-gsi = "0.3.0"
``` -->

## Simple Example

[examples/simple.rs](https://github.com/redsuitman/csgo-gsi2/blob/main/examples/simple.rs) Can be run with `cargo run --example simple`.

```rust
use csgo_gsi2::{GSIConfigBuilder, GSIServer, Subscription};

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

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

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

Check [examples/verbose.rs](https://github.com/redsuitman/csgo-gsi2/blob/main/examples/verbose.rs) for the verbose example. Can be run with `cargo run --example verbose`.

### Features
"autoinstall" - Automatically install the gamestate_integration_csgo-gsi.cfg in the csgo folder

## License

Licensed under the [Anti-Capitalist Software License](https://anticapitalist.software/) 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 -->