Author Topic: Ranking site?  (Read 4679 times)

HJvK

  • PGP
  • Posts: 12
Ranking site?
« on: November 24, 2007, 04:37:48 AM »
Hey PB2 Community,

I’m playing PB2 now for a few days, and I was wondering why there was no rankings system. Wouldn’t it be possible to make one? Based on query’s from the game server to a mysql database? And then you could display all stats on a php-based page, everyone would be able to gain stats and that would be a good reference point for clans right? The idea is to make the server reporting every kill to a mysql database with some little details: who killed who, with which weapon? Then you could calculate a load of different stats on a php page like: kills, deaths, kill death ratio, biggest kill spree, worst enemy, biggest rival. Wouldn’t that be a cool idea? Is it possible btw? I hope you guys could consider it, and off course I'm willing to help you guys with the php / mysql system.

BTW, @jitspoe: You got a pm about this idea if i'm right!

godzilla

  • Stingray
  • Posts: 76
Re: Ranking site?
« Reply #1 on: November 24, 2007, 05:15:44 AM »
people have already thought of this even i have.......http://dplogin.com/forums/index.php?topic=9966.0

so i am just saying that alot of people have put forth this idea..

if you want you can post this in the feature vote thread if you'd ever want to see it done

=]

HJvK

  • PGP
  • Posts: 12
Re: Ranking site?
« Reply #2 on: November 24, 2007, 05:27:10 AM »
Ok, but let's see, if I only knew how to do it I would do it myself, but since I don't... It seems that this idea would be depend on the people who know!

b00nlander

  • Autococker
  • Posts: 784
Re: Ranking site?
« Reply #3 on: November 24, 2007, 05:28:48 AM »
there have been plans and ideas like this plenty of times before (please use the search function next time).  However, nobody has made such a system productive so far.

HJvK

  • PGP
  • Posts: 12
Re: Ranking site?
« Reply #4 on: November 24, 2007, 06:06:14 AM »
And that's just where I wan't to make a difference ;)

y00tz

  • Autococker
  • Posts: 2742
Re: Ranking site?
« Reply #5 on: November 24, 2007, 11:35:18 AM »
And that's just where I wan't to make a difference ;)

Ok, but let's see, if I only knew how to do it I would do it myself, but since I don't... It seems that this idea would be depend on the people who know!

How are you going to make a difference by only depending on the people who haven't done it in the past?

HJvK

  • PGP
  • Posts: 12
Re: Ranking site?
« Reply #6 on: November 24, 2007, 12:14:08 PM »
Eehm, good question :)

nightryder

  • 68 Carbine
  • Posts: 448
Re: Ranking site?
« Reply #7 on: November 24, 2007, 02:56:09 PM »
i think bain is making it but needs some things implemented before he can do so

MiZ

  • VM-68
  • Posts: 114
Re: Ranking site?
« Reply #8 on: December 02, 2007, 09:15:07 AM »
A bunch of people already have thought of this idea:Godzilla,Eradicator,Cusoman,Kilo,XtremeBain, and many more that i don't know of. Why don't you reply to some of the topics about ranking they posted?Well the idea is getting worked on by numorus people, so sit tight.You should type "ranking" in serch to get their topics.

XtremeBain

  • Developer
  • Autococker
  • Posts: 1470
Re: Ranking site?
« Reply #9 on: December 03, 2007, 01:42:20 PM »
Here's the deal, HJvK.  PB2 has had support for stats logging for the last 8+ yrs, using a format that once was compatible with the StdLog 1.2 spec that GibStats published.  Recent changes in the PB2 code (which were made mainly from my input and experiences) have seen the addition or modification of a few of these standards, and there isn't currently an up to date resource for this information (I'm probably your best bet to talk to).

I developed such a stats systems 4-5 years ago that had two major components:
- A parser written in perl to quickly run through the log file every 20 minutes and populate the MySQL database with new stats.
- A front end webpage written in PHP to rank/search/sort players based on kills, deaths, k:d, kills with each weapon, caps, grabs, streaks, average ping, total time played, etc.

With Blitz's help (read: mathematical genius) we came up with a formula to calculate a "skill" value for each player based on their kills/death against a particular opponent, which took into consideration a few things like which gun they were using, how much "skill" their opponent had, etc.  When we implemented that into the Perl parser we were running into stupid integer overflows.  One overflow would cause the entire skill column to corrupt itself because one overflow would cause chain reaction through everyone who ever killed or was killed by the affected player and so on.

We lost our server, I was in college and I didn't work on any of this code for a couple years.  I picked it back up May of last year when I was running servers for ch1ll.com.  I made the stats look a lot cleaner, introduced things like country based stats, but I never officially released it because of that integer overflow problem in perl.  I would sit there for hours stepping through MBs worth of log files in my parser, monitoring variables trying to see what was throwing it off.  I squashed a few bugs, but still ran into problems after parsing a couple weeks worth of stats.  I've recoded those areas of the parser probably half a dozen times, always running into similar problems.

So then I gave up the ch1ll.com servers, since they weren't worth keeping around (terrible hardware problem with DP anyway.  In September, I just got a new server with the help of my friends in eR33t and getting some pub servers up and stats going is at the top of our todo list.  The only hurdle right now is that stats are so much different than they were a year ago, and 5 years ago.

Now we have a wonderful global login system that we can leverage in terms of stats tracking.  Stats tracking up until now was done based on a person's name, or potentially an IP address.  This is a problem because people play under different names and/or funnames, and dynamic IPs making IP-based tracking stupid.  So now that we have global login, and decent stats support we should be able to whip up a pretty killer stats app, right?  Not quite... Our StdLog implementation hasn't been updated to make it global login aware.  Pretty simple change if you ask me, but this changed must be feature-voted up by our beloved forum community before the developer (jitspoe) even thinks about doing this.  What's more is that all of the StdLog code resides in the closed-source game binary, so I can't even make the simple change myself.

So here we are today.  Currently I'm working on a really painful proxy mod that will take player connections and dump them to a log so I can have all the players associated with their global login account.  Using this log, I'll be able to cross-reference it with our stats log, and come up with a pretty neat implementation.  I've sketched out a bunch of different ideas on paper as to how I'm going to approach the entire project, since it's looking like I'll be starting from scratch instead of trying to solve year old answers.  I've been debating about whether or not to add a social networking twist to it, since those are all the rage right now.  I've got some pretty big ideas on integrating it into in-game pub, IRC and tracking matches through there, but there's too many hurdles to go through just to get anything done around here.

If you have any questions, let me know, or come drop by #eR33t-Gaming on GGC.  I'm usually around during North American evenings.

Edit: typo
« Last Edit: December 04, 2007, 06:19:04 AM by XtremeBain »

HJvK

  • PGP
  • Posts: 12
Re: Ranking site?
« Reply #10 on: December 03, 2007, 11:47:28 PM »
Big story, what can I say :P I really like the ideas and the way's how you wan't to do or make it, it sounds so easy and yet so good. It'll however still be a big job, right? I wish you good luck and I hope jitspoe will change the stdlog code...

nightryder

  • 68 Carbine
  • Posts: 448
Re: Ranking site?
« Reply #11 on: December 08, 2007, 01:36:36 PM »
which features do you need voted on?

Magical-Tree

  • Stingray
  • Posts: 88
Re: Ranking site?
« Reply #12 on: December 09, 2007, 05:54:53 AM »
I've been waiting for something like this ever since I started playing. Would be amazing to see something like this implemented, But i guess it'll still be a good few years until that happens. We'll just have to see what happens.

Good luck Bain.



~MT

nXe

  • Stingray
  • Posts: 94
Re: Ranking site?
« Reply #13 on: February 12, 2008, 01:59:54 AM »
1) Can I see the source of the Perl parser? I'd be interested in porting it.

2) Why waste time creating the reverse proxy blah blah blah?  Just get on jitspoe... we'll all get on him... it's clearly a core feature intercourseup rather than some unnecessary addition...

Here's the deal, HJvK.  PB2 has had support for stats logging for the last 8+ yrs, using a format that once was compatible with the StdLog 1.2 spec that GibStats published.  Recent changes in the PB2 code (which were made mainly from my input and experiences) have seen the addition or modification of a few of these standards, and there isn't currently an up to date resource for this information (I'm probably your best bet to talk to).

I developed such a stats systems 4-5 years ago that had two major components:
- A parser written in perl to quickly run through the log file every 20 minutes and populate the MySQL database with new stats.
- A front end webpage written in PHP to rank/search/sort players based on kills, deaths, k:d, kills with each weapon, caps, grabs, streaks, average ping, total time played, etc.

With Blitz's help (read: mathematical genius) we came up with a formula to calculate a "skill" value for each player based on their kills/death against a particular opponent, which took into consideration a few things like which gun they were using, how much "skill" their opponent had, etc.  When we implemented that into the Perl parser we were running into stupid integer overflows.  One overflow would cause the entire skill column to corrupt itself because one overflow would cause chain reaction through everyone who ever killed or was killed by the affected player and so on.

We lost our server, I was in college and I didn't work on any of this code for a couple years.  I picked it back up May of last year when I was running servers for ch1ll.com.  I made the stats look a lot cleaner, introduced things like country based stats, but I never officially released it because of that integer overflow problem in perl.  I would sit there for hours stepping through MBs worth of log files in my parser, monitoring variables trying to see what was throwing it off.  I squashed a few bugs, but still ran into problems after parsing a couple weeks worth of stats.  I've recoded those areas of the parser probably half a dozen times, always running into similar problems.

So then I gave up the ch1ll.com servers, since they weren't worth keeping around (terrible hardware problem with DP anyway.  In September, I just got a new server with the help of my friends in eR33t and getting some pub servers up and stats going is at the top of our todo list.  The only hurdle right now is that stats are so much different than they were a year ago, and 5 years ago.

Now we have a wonderful global login system that we can leverage in terms of stats tracking.  Stats tracking up until now was done based on a person's name, or potentially an IP address.  This is a problem because people play under different names and/or funnames, and dynamic IPs making IP-based tracking stupid.  So now that we have global login, and decent stats support we should be able to whip up a pretty killer stats app, right?  Not quite... Our StdLog implementation hasn't been updated to make it global login aware.  Pretty simple change if you ask me, but this changed must be feature-voted up by our beloved forum community before the developer (jitspoe) even thinks about doing this.  What's more is that all of the StdLog code resides in the closed-source game binary, so I can't even make the simple change myself.

So here we are today.  Currently I'm working on a really painful proxy mod that will take player connections and dump them to a log so I can have all the players associated with their global login account.  Using this log, I'll be able to cross-reference it with our stats log, and come up with a pretty neat implementation.  I've sketched out a bunch of different ideas on paper as to how I'm going to approach the entire project, since it's looking like I'll be starting from scratch instead of trying to solve year old answers.  I've been debating about whether or not to add a social networking twist to it, since those are all the rage right now.  I've got some pretty big ideas on integrating it into in-game pub, IRC and tracking matches through there, but there's too many hurdles to go through just to get anything done around here.

If you have any questions, let me know, or come drop by #eR33t-Gaming on GGC.  I'm usually around during North American evenings.

Edit: typo