PDA

View Full Version : Xfire status update failure


~SiR~ Mandrake
11th April 2007, 12:33
Hi, our server (MH4728) is refusing to display game data in the xfire status window. Game servers use various ports, usually between 4000 and 60000 UDP, which is what Xfire is receiving data from when you log on. It does this to get the ping, playerlist, map and other info that is then displayed in your Xfire client for each of the game servers your friends are playing on.

I've considered the fact that we're using a different gameport than the norm (17167 instead of 15567) but other servers with custom gameports are displayed ok.

Could a multiplay firewall be blocking xfire traffic?

~SiR~ Mandrake
1st May 2007, 19:07
Help, please?

K
2nd May 2007, 08:38
The problem here will be Xfire ( by design ) is broken and will be querying the wrong port. We informed Xfire about this years ago but they either dont have the skills or carnt be bothered to fix it.

You could raise a but with them and see if they do anything but I wouldnt hold your breath.

~SiR~ Mandrake
2nd May 2007, 13:45
Hi, thanks for reply. I was on irq with Steve last night and he pointed out the same problems. What port should it be querying? I know that using some remote managers (bfrm from black bag ops), you can change the server query port, although this doesnt seem to be an option in clanforge. It really cant be so difficult to align the ports correctly. We've rented our server mainly as a public server and resolving this issue would be invaluable to us. Thanks again.

K
2nd May 2007, 13:57
The problem is that Xfire dont expect the port to change and as such have no way to tell it what port to query, only what port the server is running on.

All well and good if your running a single server on a machine at home which can only cope with one server but GSP's simply dont do that its not viable.

Instead we run many servers on very powerful machines. This is where Xfire breaks as it cant deal with this even though every game server supports and works well with this and as do other browsers.

So until Xfire sort their lives out and fix their code to enable it to work with servers on none default ports they are going to be missing a massive amount of servers, over 1/3 of the worlds servers last time I checked.

~SiR~ Mandrake
2nd May 2007, 14:19
So the gameport is fixed, but the query port floats? No offense, but that does seem a little ridiculous. There are obviously many providers out there, running more than one server off the same box, I just find it difficult to believe that none of these servers are succesfully queried.
I'm trying to not come across as hostile here, I really just want to get it sorted out. Xfire sends me here, you send me back there. I've given xfire your irq details and asked them to come and talk directly with your staff, or you could get the ball rolling with them.

K
2nd May 2007, 14:32
They are both variable. Nothing is hard coded as obviously no two servers on the same machine can use the same port either for game or query.

I do seriously hope they will get in contact and from that a fix is forthcoming, but we have tried on numerous occasions to highlight this issue and have so far never got anywhere.

If its of any consolidation I do know this subject in side out as I help maintain qstat a command-line utility for collecting real-time statistics from on-line game servers which successfully queries all of our servers.

http://sourceforge.net/projects/qstat/

~SiR~ Mandrake
2nd May 2007, 14:47
It's good to know I'm talking to the right man.

You say our gameport is variable, its been statically 17167 for the past few months though, since we started running bfv. I cant say beyond that, as I only admin the bfv side of things.

I think all parties involved would be happy to get to the root of this and find a fix. Lets hope xfire make the effort

K
2nd May 2007, 15:27
The ports are variable but they don't vary for a specific server / game once setup obviously.

~SiR~ Mandrake
2nd May 2007, 16:14
I need to get this straight.

You guys add a server game and query port from a variable list.
After the ports are chosen, it's fixed on that server, for that game.
The gameport we're using (17167) falls within xfire's search bracket and is read ok.
The query port we're using is fixed, but xfire doesnt check it.

Is there any way we can change the query port to a known good xfire setting? Even if it meant a reinstall? Or would that just give us a randomly variable port setting again? It does seem strange that you cant just dedicate a port on that system to conduct xfire traffic, there's gotta be one free.

Thanks again

K
2nd May 2007, 16:28
Correct, our system knows what ports are available on the machine and will pick the next available port closest to the games default port. From there it allocates a block of 100 ports to the server for other uses e.g. query port, admin port, punkbuster port etc.

Again you are correct that xfire is not checking the query port.

In general a game server is uniquely identified by its ip, game port and query port. For some games game a query port are the same but for those which use the GameSpy protocol this is a separate port.

Additionally from the information sent back from the query port you can determine the servers game port and as such its usually possible to uniquely identify a server from its ip:query_port pair.

Reinstall would make no difference as the machine would still have exactly the same used ports afterwards.

The only fix is for xfire to query the correct port for the server information like all other applications / server lists do, its not rocket science :)

P.S. There should be no "bracket" all ports are valid no exceptions so this is also a bug in their software.

~SiR~ Mandrake
2nd May 2007, 18:37
Game servers use various ports, usually between 4000 and 60000 UDP, which is what Xfire is receiving data from when you log on.

Apparently there is a bracket.

Thanks man, much appreciated info. I'm getting dizzy from running in circles:smile-l:

Ok, so I'll continue on my mission to get xfire to rewrite their software. Deep breathe...



...so not holding that one.

K
2nd May 2007, 18:50
The only reason for a "bracket" is when doing broadcast checks for LAN servers. The reason for this is the case for LAN server is you don't want to spam every port as it would be very inefficient and wasteful.

However on the Internet broadcast simply doesn't work due to its size, so there are "master servers" which game servers register with. These master servers contain the information about the game server including both their game port and query port, so when clients retrieve the "server list" from the master they can then proceed to query the game servers directly.

With this architecture there is no limitation to the ports which can be used as its just "check what your told to check". This is where Xfire is falling down.

If you need any more info just shout.

~SiR~ Mandrake
2nd May 2007, 18:54
Cheers K, most helpful