Page 1 of 2

Server Query Protocol

Posted: 12 Mar 2013, 04:20
by Masher
Is there any documentation on the query protocol that is used for shootmania dedicated servers? I've done a few packet captures and have a few details figured out on the protocol, but can't sort out the majority of the data in the data sent from the dedi's to the client.

I'm not interested in the XML RPC protocol on tcp/5000 (by default), but the query protocol used on tcp/2350 (default again) the client uses to get the status of the server.

Thanks!

Re: Server Query Protocol

Posted: 12 Mar 2013, 08:19
by TheM
Masher wrote:Is there any documentation on the query protocol that is used for shootmania dedicated servers? I've done a few packet captures and have a few details figured out on the protocol, but can't sort out the majority of the data in the data sent from the dedi's to the client.

I'm not interested in the XML RPC protocol on tcp/5000 (by default), but the query protocol used on tcp/2350 (default again) the client uses to get the status of the server.

Thanks!
I don't think that you use that port on the dedicated, it's only meant for the ManiaPlanet client, so not a client you build or so.
What are you trying to do ...?

Re: Server Query Protocol

Posted: 12 Mar 2013, 14:20
by Masher
I'm the author of a web based control panel for small GSPs and clans/communities. There are two main reasons why I ask:

-I'd like to show live server status in the control panel (almost all game server engines support this) with out having to mess with credentials using xml rpc
-Be able to tell when the server is not responding to queries and restart the server. If the server dies, but the process is still running this is helpful for that sole reason.

Re: Server Query Protocol

Posted: 12 Mar 2013, 18:18
by TheM
Masher wrote:I'm the author of a web based control panel for small GSPs and clans/communities. There are two main reasons why I ask:

-I'd like to show live server status in the control panel (almost all game server engines support this) with out having to mess with credentials using xml rpc
-Be able to tell when the server is not responding to queries and restart the server. If the server dies, but the process is still running this is helpful for that sole reason.
As far as I know, all those things are possible using the XML-RPC port, which would be the appropiate one.
I believe that there hasn't been disclosed any information about the server protocol, because you can do everything with the XML-RPC one and it makes sure the dedicated can't be tricked by other clients.

The "Server Query Protocol" you are referring to is in the case of the ManiaPlanet server the XML-RPC protocol.

Re: Server Query Protocol

Posted: 13 Mar 2013, 20:07
by sotn0r
Take a look at this:

http://www.gamers.org/tm2/docs/ListMeth ... 08-01.html

for a reference to methods available on the XML-RPC port of Maniaplanet. Most of them also apply to Trackmania Forever.

If you just want to check if a port is opened (e.g. the server's game port), you can achieve that with the following php code snippet:

Code: Select all


$connection = @fsockopen($host, $port);

if (is_resource($connection))
{
    echo 'port is open';
    fclose($connection);
}
else
{
        echo 'port is NOT open';
}

Re: Server Query Protocol

Posted: 13 Mar 2013, 21:05
by Masher
Thanks for the link. I haven't looked into the xml-rpc api much yet, but can some calls be made without having to login (i.e. getStatus)?

Re: Server Query Protocol

Posted: 13 Mar 2013, 21:13
by sotn0r
No, you always need to log in with one of the userlevels defined in the server's config file.

Re: Server Query Protocol

Posted: 13 Mar 2013, 22:59
by Masher
sotn0r wrote:No, you always need to log in with one of the userlevels defined in the server's config file.
That's a shame. Everyother gameserver allows you to anonymously query the the status of a game server if you know its address and port. Would be nice if Nadeo could publsh the query protocol used by the client or implement another way of getting the status of the server that didn't require a login.

Re: Server Query Protocol

Posted: 13 Mar 2013, 23:07
by sotn0r
I'm not too fond of the methods and return types there, but some information can be queried through the ManiaPlanet WebServices.. maybe its suitable for your needs.

https://code.google.com/p/maniaplanet-w ... arted?tm=6

Re: Server Query Protocol

Posted: 14 Mar 2013, 15:16
by TheM
Masher wrote:Everyother gameserver allows you to anonymously query the the status of a game server if you know its address and port.
That doesn't mean that this should be done for the ManiaPlanet server as well...
Masher wrote:Would be nice if Nadeo could publsh the query protocol used by the client or implement another way of getting the status of the server that didn't require a login.
The way they are making this (kind of) server has been the same for quite some years (I think since 2003), so I won't count on that and try to make what you want with the possibilities you have ;)