Steam-Vent

Interact with the Steam network via rust

Allows communication with the steam servers using the same protocol as the regular steam client.

State

While the project is still very incomplete, the basics of authenticating to steam and sending requests is working.

Usage

Note that this project is still in early development and api's might see large changes.

```rust use std::error::Error; use steamvent::connection::Connection; use steamvent::proto::steammessagesgameserverssteamclient::CGameServersGetServerListRequest; use steam_vent::serverlist::ServerList;

[tokio::main]

async fn main() -> Result<(), Box> { let serverlist = ServerList::discover().await?; let mut connection = Connection::anonymous(serverlist).await?;

let mut req = CGameServers_GetServerList_Request::new();
req.set_limit(16);
req.set_filter("\\appid\\440".into());
let some_tf2_servers = connection.service_method(req).await?;
for server in some_tf2_servers.servers {
    println!(
        "{}({}) playing {}",
        server.get_name(),
        server.get_addr(),
        server.get_map()
    );
}

Ok(())

} ```

Credit

This is in large parts inspired by and based of @DoctorMcKay's work on SteamUser, massive credits go to all who worked on that.