Expand description
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-gsi2 = "0.3.4"
tokio = { version = "1.20.1", features = ["full"] }
Simple Example
examples/simple.rs Can be run with cargo run --example simple
.
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 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.
Re-exports
pub use update::Update;
Modules
all information that can be contained in a GSI update
Structs
Game State Integration configuration
Builder struct for GSIConfig
a server that listens for GSI updates
Enums
any error caused by this library
which pieces of information to subscribe to