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§
- update
- all information that can be contained in a GSI update
Structs§
- GSIConfig
- Game State Integration configuration
- GSIConfig
Builder - Builder struct for GSIConfig
- GSIServer
- a server that listens for GSI updates
Enums§
- Error
- any error caused by this library
- Subscription
- which pieces of information to subscribe to