Crates.io | rcon-client |
lib.rs | rcon-client |
version | 0.1.2 |
source | src |
created_at | 2022-07-22 08:21:44.048951 |
updated_at | 2022-07-22 08:21:44.048951 |
description | RCON client |
homepage | |
repository | https://github.com/donkey-engine/rcon-rs |
max_upload_size | |
id | 630620 |
size | 11,925 |
Simple implementation of a crate that allows you to work with the RCON protocol
To work with TCP, the TcpStream
structure built into the std::net
module is used
use rcon::{AuthRequest, RCONClient, RCONConfig, RCONError, RCONRequest};
fn main() -> Result<(), RCONError> {
// Create new RCON client
let mut client = RCONClient::new(RCONConfig {
url: "donkey-engine.host".to_string(),
// Optional
read_timeout: Some(13),
write_timeout: Some(37),
})?;
// Auth request to RCON server (SERVERDATA_AUTH)
let auth_result = client.auth(AuthRequest::new("rcon.password".to_string()))?;
assert!(auth_result.is_success());
// Execute command request to RCON server (SERVERDATA_EXECCOMMAND)
let version = client.execute(RCONRequest::new("seed".to_string()))?;
assert_eq!(version.body, "Seed: [3257840388504953787]");
Ok(())
}