You are an unregistered user, you can register here
Navigation

Information

Site

Donations
If you wish to make a donation you can by clicking the image below.


 
Go Back   The Unreal Admins Page > Forums > Unreal Admins > Unreal Tournament 3 > UT3 Server - Beta Only

Reply
Thread Tools Display Modes
  #1  
Unread 15th October, 2007, 12:18 AM
Andromeda Andromeda is offline
Dominating
 
Join Date: Sep 2004
Posts: 105
Default Sever Query Protocol

Has anyone else tried to figure out how to externally query UT3 servers? The great thing about UT & UT2k* was that we could query servers with udp socket scripts. It helps the pugging communities on IRC, and is also great for clan websites

It looks like a 'challenge' request needs to be sent to the server, and then another UDP packet needs to be sent with the server's response, and then you finally get the reply with the data you want.

I was testing sending data to the 13000 UDP server port, but was unable to get a response back. I wasn't sure if the proper port was being used, I only chose 13000 because it was listed in the BaseEngine.ini

Packet I am sending get the challenge request (in hex):
FE FD 09 10 20 30 40

I was assuming it was using the same gamespy protocol as Battlefield 2142.
However, when you packet sniff and see data coming in and out when using the in-game browser, you can see the browser is sending the packets to completely random UDP ports.

Any information would be greatly appreciated

...Maybe El Muerte can cook up a package that makes querying act similarly to UT/UT2K*
Reply With Quote
  #2  
Unread 15th October, 2007, 08:02 AM
elmuerte's Avatar
elmuerte elmuerte is offline
Administrator
 
Join Date: Oct 2002
Location: Netherlands
Posts: 823
Default

I haven't looked at it, but I have doubts the functionality will be available.
UT3 uses the GameSpy library, and the communication will probably be locked down (encrypted using GameSpy's stuff). Additionally it appears that a random port will be used, making it impossible to query a server just by it's IP and gameport.
I don't know if it will be possible to provide a custom query mechanism. Last time I checked they dropped tcp or udp access from unrealscript and I don't know if this functionality has been brought back.
__________________
Reply With Quote
  #3  
Unread 15th October, 2007, 08:51 AM
zoro zoro is offline
Killing Spree
 
Join Date: Jan 2006
Posts: 19
Default

Ah here :/
That's terrible news - if indeed it is true...
Reply With Quote
  #4  
Unread 15th October, 2007, 04:11 PM
ep1taph ep1taph is offline
Killing Spree
 
Join Date: Aug 2005
Posts: 15
Default

So does this mean we no longer need to have 7778 and 7787 on our servers? I also noticed none of the query tools worked.
Reply With Quote
  #5  
Unread 15th October, 2007, 05:18 PM
DvTJonahHex's Avatar
DvTJonahHex DvTJonahHex is offline
Forum Newcomer
 
Join Date: Nov 2002
Location: USA
Posts: 12
Default

Quote:
Originally Posted by zoro View Post
Ah here :/
That's terrible news - if indeed it is true...
Calling this "terrible news" is without a doubt the biggest understatement that I have encountered since I started playing Unreal in 1998.
__________________
Reply With Quote
  #6  
Unread 16th October, 2007, 11:07 AM
apophis.ch apophis.ch is offline
Killing Spree
 
Join Date: Oct 2007
Posts: 41
Default

Upon the Documentation of the Queryprotocol in the Wiki:

http://wiki.unrealadmin.org/index.ph...query_protocol

I hacked a proof of concept together

http://download.apophis.ch/UT3/example.php

Feel Free to use the Code I made, as said I only had some minutes time, but I am sure some of you try to do it better yourself and its a good start especially if you use the Documentation along side.

Here is the code:

http://download.apophis.ch/UT3/ut3show.rar

Issues:

* I dont consider Negative numbers, I just try till I get a postive one
* sometimes it hangs (probably too small challange numbers, I ignore the 0 character as end of string) Just reload
* 0 is used as String delimiter
* Timestamps are hardcoded at the moment
* Port is Hardcoded at the moment

Use this script if u need the Queryport:

http://download.apophis.ch/UT3/cron_ut3demo.rar
This is from Yannick Delwiche and came of the ut3server list

With that info it should now be possible to write a flexible Script, hope you have fun.

greets Apophis

Last edited by apophis.ch : 16th October, 2007 at 11:12 PM. Reason: typo / update
Reply With Quote
  #7  
Unread 16th October, 2007, 11:23 AM
zoro zoro is offline
Killing Spree
 
Join Date: Jan 2006
Posts: 19
Default

These scripts apparantly crash UT3 Servers - so be careful for a while
Reply With Quote
  #8  
Unread 16th October, 2007, 12:19 PM
apophis.ch apophis.ch is offline
Killing Spree
 
Join Date: Oct 2007
Posts: 41
Default

They crash anyway
Reply With Quote
  #9  
Unread 16th October, 2007, 12:30 PM
deadite66 deadite66 is offline
Forum Newcomer
 
Join Date: Sep 2005
Posts: 5
Default

qstat does seem to work.
found some info here http://d3.jpn.org/wiki/GyaASE:Master_Servers
Reply With Quote
  #10  
Unread 16th October, 2007, 12:31 PM
zoro zoro is offline
Killing Spree
 
Join Date: Jan 2006
Posts: 19
Default

Quote:
Originally Posted by apophis.ch View Post
They crash anyway
Reply With Quote
  #11  
Unread 16th October, 2007, 01:08 PM
KRIS_PL's Avatar
KRIS_PL KRIS_PL is offline
Killing Spree
 
Join Date: Jun 2005
Location: Poland
Posts: 29
Default

Quote:
Originally Posted by apophis.ch View Post
They crash anyway
damn right
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 08:08 PM.


 

All pages are copyright The Unreal Admins Page.
You may not copy any pages without our express permission.