koraktor / steam-condenser

A multi-language library for querying the Steam Community, Source, GoldSrc servers and Steam master servers
https://koraktor.de/steam-condenser
Other
356 stars 67 forks source link

updatePlayers trows SteamCondenserException when ~100+ players on server #263

Closed Nitro-N closed 9 years ago

koraktor commented 9 years ago

Please provide more information. What exception is thrown and what game server are you querying?

AFAIK there's no game using the protocol that supports more than 64 players.

Nitro-N commented 9 years ago

46.188.16.205:2302 - Arma 2 TimeoutException

Nitro-N commented 9 years ago

any idea?

koraktor commented 9 years ago

Sorry for the late response.

Are you sure that information is still correct? That host is completely down for me. Additionally, the default query port for ArmA 2 seems to be 2304. Maybe you just got the wrong port?

Nitro-N commented 9 years ago

Yes, information is correct. Yes, server is off right now. Game port 2302, query port 2303. Others active query ports: 2343, 2353. Usually servers full at ~19 pm UTC+3 every day.

koraktor commented 9 years ago

This seems to be a limitation on the server-side of ArmA 2. There’s no reply at all to A2S_PLAYER packets. I fear there’s nothing we can do on Steam Condenser’s side.

Server info and rule queries seem to be working flawlessly, just like player queries with less players.

Nitro-N commented 9 years ago

How about multipackets? "Because UDP packets can arrive in different order or delayed, every packet should be verified by its "ID" and "Number"! Every request or response with or without this header is continued with an integer -1 (0xFFFFFFFF) and the user data. So by reading the first 4 bytes you can decide whether the data is split (-2) or in one packet (-1)." https://developer.valvesoftware.com/wiki/Server_queries

koraktor commented 9 years ago

This is already implemented.

The server doesn't respond with a single packet. I verified this using Wireshark.