pub struct Info { /* private fields */ }
Expand description
Represents a steam game server.
Ref: https://developer.valvesoftware.com/wiki/Server_queries#A2S_INFO
ⓘ
let server_name = info.name();
let loaded_map = info.map();
let max_players = info.player_max();
let players_online = info.player_count();
Implementations§
Source§impl Info
Getters (Immutable)
impl Info
Getters (Immutable)
Sourcepub fn name(&self) -> &str
pub fn name(&self) -> &str
Name of the server.
Examples found in repository?
examples/basic.rs (line 12)
3fn main() {
4 let server =
5 Server::new("127.0.0.1:12345").expect("Connect to dedicated server running Valve game");
6
7 let info = server.info().expect("Get general server information");
8 let players = server.players().expect("Get server player information");
9 let rules = server.rules().expect("Get server rules");
10
11 // Server Information
12 let server_name = info.name();
13 let loaded_map = info.map();
14 let max_players = info.player_max();
15 let players_online = info.player_count();
16
17 println!("Server Name: {}", &server_name);
18 println!("Map Loaded: {}", &loaded_map);
19 println!("Players Max: {}", &max_players);
20 println!("Players Online: {}", &players_online);
21
22 println!("");
23
24 // Player Information
25 for player in players.iter() {
26 println!("Player: {:?}", player);
27 }
28
29 println!("");
30
31 // Rules
32 for (rule, setting) in rules.iter() {
33 println!("Rule: {}", rule);
34 println!("Setting: {}", setting);
35 }
36}
Sourcepub fn map(&self) -> &str
pub fn map(&self) -> &str
Map the server has currently loaded.
Examples found in repository?
examples/basic.rs (line 13)
3fn main() {
4 let server =
5 Server::new("127.0.0.1:12345").expect("Connect to dedicated server running Valve game");
6
7 let info = server.info().expect("Get general server information");
8 let players = server.players().expect("Get server player information");
9 let rules = server.rules().expect("Get server rules");
10
11 // Server Information
12 let server_name = info.name();
13 let loaded_map = info.map();
14 let max_players = info.player_max();
15 let players_online = info.player_count();
16
17 println!("Server Name: {}", &server_name);
18 println!("Map Loaded: {}", &loaded_map);
19 println!("Players Max: {}", &max_players);
20 println!("Players Online: {}", &players_online);
21
22 println!("");
23
24 // Player Information
25 for player in players.iter() {
26 println!("Player: {:?}", player);
27 }
28
29 println!("");
30
31 // Rules
32 for (rule, setting) in rules.iter() {
33 println!("Rule: {}", rule);
34 println!("Setting: {}", setting);
35 }
36}
Sourcepub fn keywords(&self) -> &Option<String>
pub fn keywords(&self) -> &Option<String>
Tags that describe the game according to the server (for future use)
Sourcepub fn game_id(&self) -> &Option<LongLong>
pub fn game_id(&self) -> &Option<LongLong>
The server’s 64-bit GameID. If this is present, a more accurate AppID is present in the low 24 bits. The earlier AppID could have been truncated as it was forced into 16-bit storage.
Sourcepub fn game_version(&self) -> &str
pub fn game_version(&self) -> &str
Version of the game installed on the server.
Sourcepub fn steam_app_id(&self) -> &Short
pub fn steam_app_id(&self) -> &Short
Steam Application ID of game
Sourcepub fn player_count(&self) -> &Byte
pub fn player_count(&self) -> &Byte
Number of players on the server.
Examples found in repository?
examples/basic.rs (line 15)
3fn main() {
4 let server =
5 Server::new("127.0.0.1:12345").expect("Connect to dedicated server running Valve game");
6
7 let info = server.info().expect("Get general server information");
8 let players = server.players().expect("Get server player information");
9 let rules = server.rules().expect("Get server rules");
10
11 // Server Information
12 let server_name = info.name();
13 let loaded_map = info.map();
14 let max_players = info.player_max();
15 let players_online = info.player_count();
16
17 println!("Server Name: {}", &server_name);
18 println!("Map Loaded: {}", &loaded_map);
19 println!("Players Max: {}", &max_players);
20 println!("Players Online: {}", &players_online);
21
22 println!("");
23
24 // Player Information
25 for player in players.iter() {
26 println!("Player: {:?}", player);
27 }
28
29 println!("");
30
31 // Rules
32 for (rule, setting) in rules.iter() {
33 println!("Rule: {}", rule);
34 println!("Setting: {}", setting);
35 }
36}
Sourcepub fn player_max(&self) -> &Byte
pub fn player_max(&self) -> &Byte
Maximum number of players the server reports it can hold.
Examples found in repository?
examples/basic.rs (line 14)
3fn main() {
4 let server =
5 Server::new("127.0.0.1:12345").expect("Connect to dedicated server running Valve game");
6
7 let info = server.info().expect("Get general server information");
8 let players = server.players().expect("Get server player information");
9 let rules = server.rules().expect("Get server rules");
10
11 // Server Information
12 let server_name = info.name();
13 let loaded_map = info.map();
14 let max_players = info.player_max();
15 let players_online = info.player_count();
16
17 println!("Server Name: {}", &server_name);
18 println!("Map Loaded: {}", &loaded_map);
19 println!("Players Max: {}", &max_players);
20 println!("Players Online: {}", &players_online);
21
22 println!("");
23
24 // Player Information
25 for player in players.iter() {
26 println!("Player: {:?}", player);
27 }
28
29 println!("");
30
31 // Rules
32 for (rule, setting) in rules.iter() {
33 println!("Rule: {}", rule);
34 println!("Setting: {}", setting);
35 }
36}
Sourcepub fn server_type(&self) -> &ServerType
pub fn server_type(&self) -> &ServerType
Indicates the type of server
Sourcepub fn visibility(&self) -> &Visibility
pub fn visibility(&self) -> &Visibility
Indicates whether the server requires a password
Sourcepub fn spectator_name(&self) -> &Option<String>
pub fn spectator_name(&self) -> &Option<String>
Name of the spectator server for SourceTV.
Sourcepub fn spectator_port(&self) -> &Option<Short>
pub fn spectator_port(&self) -> &Option<Short>
Spectator port number for SourceTV.
Trait Implementations§
impl StructuralPartialEq for Info
Auto Trait Implementations§
impl Freeze for Info
impl RefUnwindSafe for Info
impl Send for Info
impl Sync for Info
impl Unpin for Info
impl UnwindSafe for Info
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more