ut3 Global Player Stats API

warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /var/syscp/webs/apophis/apophis-neXt/gallery2/modules/core/classes/GalleryPlatform.class on line 1219.
I started a bit with wireshark, I did some research and thanks to Cruz I got the necessary information I needed to program an example client which queries directly Gamespy to get the information of the players.

The project is written in C# and works under .NET and Mono, the fast prototyping, and automation of the Writing of the proxy classes for the webservices made it very nice to develop.

This is quite sure the same method enemydown.co.uk uses, I tried to contact them, but I was faster with getting the info myself, and I want to make it easier for other interested people.

How it works:

We log in at gpcm.gamespy.com and get a valid user ticket (thats why we need a valid login) then with this ticket we query a webservice at ut3pc.sake.gamespy.com. In principle this is all what we need.

The parameters needed can be obtained via WireShark, a little list is added to the client as well. For experimenting this should be enough.

I was working on a web interface (here: prx.apophis.ch/viewer.php) and I released a console client. You can download the client from above, in the unreal forum at epic I saw A thread asking for the no-pure server stats. Now, I also support the custom Server Stats from the UT3 Leadboard -I added a new switch --custom to the command line client.

 
Here follows some help, and the Links to the Program and a example webpage which queries the Player stats...

Yes I know its ugly and rudimentary, I have no plans to make them better soon... but its a good start if you want to make your own stats.

Author:
Apophis / Thomas Bruderer
Thanks to Cruz and the author of gslist (Luigi Auriemma)

 

Usage: ut3playerStats.exe [-g <username> <pass>][Options] Options: -c --count Only get the count of records --custom Non-pure Server stats -d <player> Part or Complete Name of player -e <filter> Filter, containing fields (-f) -f --fields <param> List field/coloumnames all param All fields main param Main Fields (3) general param General fields weapon param Weapon fields vehicle param Vehicle fields turret param Turret fields -g <username> <pass> All queries to the GS Database need a valid login -h --help This help -l --limit <num> Get at most <num> records (10) -n, --surround <num> Get surrounding entries (only use with -u) -o, --offset <num> Order by column -p, easy parsing, not for humans, no markup --pure Pure Server stats (*) -q, --query f1 f2 f3 Query Coloumns f1,f2,f3, for coloum names use -f --q-all Query All fields --q-main Query only 3 values per Records (*) --q-general Query General Stats --q-weapon Query Weapon Stats --q-vehicle Vehicle fields --q-turret Turret fields -s, --sort <col> [a/d] Sort by column [ascending/descending] (ELO desc) -u, --user <uid> ... Get data of certain user -v, --verbose Debug information --version Version information Examples: ut3playerStats.exe -g <username> <pass> -d player Lists all players with Nick containing 'player', and list their complete name, ownerid and row values ut3playerStats.exe -g <username> <pass> -f-all -u 1337 Lists all attributes from the user with id 1337 ut3playerStats.exe -g <username> <pass> -q Nick -l 3 -s Pure_VehiclesDM_VEHICLE KILL_UTVEHICLE_GOLIATH_CONTENT d This will give the three nicks which used the tank the most. ut3playerStats.exe -g <username> <pass> --custom Lists The Top 10 Players on non Pure servers ut3playerStats.exe -g <username> <pass> --custom -q Nick PlayerDM_ELO Pure_PlayerDM_ELO Lists The Top 10 Players on non Pure servers and compares there Custom Elo Ranking to the Pure Elo Ranking

The Program is written in C# and the compiled executable works fine on Windows/.NET and Linux/Mono. The Code is GPL and I hope its useful to you.

PS: consult the Source Code I tried to document it understandable.

PPS: You can also ask me via email or at the unrealadmin-Forum.

Console Program:
download.apophis.ch/UT3/ut3playerStats.exe

Source Program:
download.apophis.ch/UT3/gameSpyWebService.zip

Example Webpage:
prx.apophis.ch/player.php

 

Kommentare

Bild von apophis

Update (Dec 2008)

The Project is working again, updated to the newest GameSpy Policies and fixed some Minor Bugs today.