opengsq / opengsq-python

Python library designed for querying game servers. It supports 24 different query protocols and has been downloaded over 34,000 times.
https://python.opengsq.com/
MIT License
24 stars 3 forks source link

Mordhau class missing useful server info #2

Closed pblaas closed 2 years ago

pblaas commented 2 years ago

Hi,

I am leveraging opengsq to build a public server monitoring frontend for Mordhau. For this purpose I could use as much information as available through a2s.

https://github.com/opengsq/opengsq-python/blob/4f2b57a8defa159bf74435ec1f78f70f72b19f36/opengsq/servers/mordhau.py#L13

Would it be possible to extend this referenced part with VAC boolean, passworded server boolean, platform string and the keywords string?

BattlefieldDuck commented 2 years ago

hi @pblaas,

Please notice that the latest version of opengsq is v0.1.1, mordhau.py has been removed.

You may use the script below to get the full server query data.

import asyncio
from opengsq.protocols import Source

async def main():
    source = Source(address='78.108.216.207', query_port=27015)
    info = await source.get_info()
    print(info)

asyncio.run(main())
{
 'Protocol': 17,
 'Name': 'Duke of York - EU - Duel/Roleplay - Rp Feitoria/Noria♛',
 'Map': 'Feitoria_RP',
 'Folder': 'mordhau',
 'Game': 'Mordhau',
 'ID': 0,
 'Players': 0,
 'MaxPlayers': 65,
 'Bots': 0,
 'ServerType': 'd',
 'Environment': 'w',
 'Visibility': 0,
 'VAC': 0,
 'Version': '502402952',
 'EDF': 177,
 'GamePort': 7500,
 'SteamID': 90154808672368644,
 'Keywords': 'C:4107,B:19,N:Deathmatch',
 'GameID': 629760
}
pblaas commented 2 years ago

ok thanks.

BattlefieldDuck commented 2 years ago

sorry @pblaas, I haven't release the latest release yet 😅, I will release v1.0.0 soon, thank you.

pblaas commented 2 years ago

thanks, btw I don't think the Source implementation returned proper player count. This was fixed in the Mordhau module. I currently use an RCON implementation. Not ideal.. but does the job. Thank you for building open source. Regards, Patrick

BattlefieldDuck commented 2 years ago

Mordhau doesn't return player count on Players field, but you can get the player count in Keywords B

'Keywords': 'C:4107,B:19,N:Deathmatch',

See the fix implemented: https://github.com/opengsq/opengsq-python/blob/4f2b57a8defa159bf74435ec1f78f70f72b19f36/opengsq/servers/mordhau.py#L23

pblaas commented 2 years ago

aaah thanks! I didn't notice.

BattlefieldDuck commented 2 years ago

v1.0.0 has been released, thank you for using opengsq, thank you.