gamedig / rust-gamedig

Game Server Query Library.
https://crates.io/crates/gamedig
MIT License
35 stars 10 forks source link

ASA (Ark Survival Ascended): Returns a random server from the cluster (Ignores Port) #204

Open ElBretxa opened 1 month ago

ElBretxa commented 1 month ago

Describe the bug It doesn't matter the port you enter, it will just return one of the servers that is in that ip.

Steps To Reproduce Here my code, for server EU-PVP-TheIsland2163 (ip and port corresponds to it)

` use gamedig::games::asa; use std::net::IpAddr; use std::str::FromStr;

[tokio::main]

async fn main() { let server_ip = "5.62.112.8"; let server_port = Some(7779);

let ip: IpAddr = IpAddr::from_str(server_ip).expect("Invalid IP address");

match asa::query(&ip, server_port) {
    Ok(response) => {
        println!("Server: {:?}", response);
        println!("Server name: {}", response.name);
        println!("Players: {}/{}", response.players_online, response.players_maxmimum);
        for player in response.players {
            println!("Player: {}", player.name);
        }
    }
    Err(e) => eprintln!("Failed to query server: {}", e),
}

} `

Expected behavior It should return the specified server, but it returns one of the following server. Each query I do can be a different one from that list

EU-PVE-TheIsland5197, EU-PVP-TheIsland2162, EU-PVE-TheIsland5196, EU-PVP-TheIsland2164, EU-PVP-TheIsland2163