Create an account


Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What's new in XonStat

Great stuff, as usual. Wait for my medals Big Grin
<machine> dude, i know i suck Smile
<OHSNAP! Mossepo> but you dont like finko-suck, u have potential to be good
Diomedes: Finko: You are the most intelligent guy in this community.
Reply

Great! Thank you very much
Reply

Awesome! Gosh, now I need to participate in cups! Preferrably cups with only three participants (so I get to have a medal, too). Medals ftw!
My Xonstats Profile
Latest track on soundcloud: Farewell - to a better Place (piano improvisation)
New to Xonotic? Check out the Newbie Corner!

Reply

Nice update! The medal looks great!

Waiting for my Beginners Cup Medal... Big Grin
Reply

(03-29-2016, 10:40 AM)Antibody Wrote: Right now I only have the most recent world cup participants loaded, but all past placeholders will soon have medals of their own too.

Does this count for all cups including quick cups? Seems like that'd be quite a lot of work.
Anyway really nice job on that!
[Image: 9214.png]
Reply

I don't think I'm going to do any "quick" cups. It has to be a decently-sized cup otherwise everyone would have medals coming out their ears.
asyyy^ | are you releated to chuck norris?
Reply

I've introduced a bunch of new changes to server pages of XonStat. Here's the lowdown.

All of the tables along the top are now expandable. Clicking on the little plus sign icon at the top of the table will take you to a paginated list of the things in that category.

[Image: xonstat_server_links.png]

[Image: xonstat_server_link_followed.png]

At the bottom you'll have a "next" arrow until there are no more items to be fetched.

In addition to all this stuff, each of these pages also has a JSON view. I put this in so server administrators can fetch data about their server in a machine-readable format if they want. Unlike some of the other JSON views, these are controllable via the "Accept" header in the GET request - set it to "application/json" and fetch the same url to get a JSON response instead of an HTML one! Should you want to test this, I'd recommend a tool like Postman for inspecting requests. Here's a snippet of what that looks like:

[Image: xonstat_server_refactor_postman.png]

The full list of views where this works:

/server/<server_id>
/server/<server_id>/topactive
/server/<server_id>/topscorers
/server/<server_id>/topmaps

Have fun!
asyyy^ | are you releated to chuck norris?
Reply

nice nice AntiBody!

thx

Kwakkie
[Image: 39855.png]
Reply

Hello everyone! Yesterday evening I shipped out a couple of changes to XonStat. Here's the lowdown.

First, I disabled the logic that made 1v1 deathmatch games equivalent to duels. Those that have been around long enough might recall that we've never actually had a "duel" game mode. It was always just "deathmatch with only two players". That meant if you went to a FFA server that wasn't very populated you'd be tracking Elo for a totally different category! Mario helped to eliminate this discrepancy by incorporating a psuedo-gametype only when the actual game type conforms to duel (see here for the exact specification) . It's a small distinction but an important one - the less garbage the better! 

Next, XonStat now factors latency into the Elo ranking algorithm. For a while we have been sending and storing average latency metrics for each player in matches without using it much in the application. With the help of a mathematical model from divVerent we now leverage that information to adjust our predictions of match outcomes. Your ping advantage or disadvantage with respect to your opponents will thus boost or decrease the points you receive. It is our hope that these adjustments will allow more players to turn on stats tracking despite playing at ping disadvantages. 
Cheers and enjoy, everyone. Happy fragging!
asyyy^ | are you releated to chuck norris?
Reply

The latter feature is bit iffy, because some people are more accustomed to high ping than others. Would even go as far as to say it's natural to them and only a disadvantage in technical sense.
Reply

As someone who has always played with 240+ ping, I can say that is only partly true... While you do get used to it in a sense, it is always a huge disadvantage, especially against low ping players.
Weapons mode especially is virtually unplayable without relying mostly on hitscan and fast hitting weapons, as nothing else has a chance of hitting reliably. Getting bounced around by other players makes thing far worse, as prediction has no idea what to do.
Instagib is a bit different, but you're delayed by laser jumps and hooks (not to mention other players coming around corners and hitting you before they even load on your screen).

You're also at the mercy of the client prediction, which is very far from perfect in Xonotic (you can forget about playing maps with moving parts, and good luck around teleporters). This aspect fortunately got a huge upgrade in 0.8.2, making high ping a lot more bearable.


That said, this new feature to XonStat is very much welcomed to me, may encourage us Aussies to play a bit more with the Americans again!
[Image: 230.png]
Reply

@Smilecythe - the latency adjustments  are pretty conservative. They can only affect the predicted outcome by a maximum of 20% in either direction, and almost no matches fall under those extreme circumstances (to get that you'd have to have like 1000ms versus 1ms). To arrive at our formula divVerent and I analyzed over 7000 duel matches from January to about two weeks ago. This gave us about 14000 data points to look at, and when we plotted ping ratios to actual outcomes we could see a clear downward trendline. That is to say that on average the higher the ping ratio was for any given player, the more likely they were to lose the match. Experience (taken from the players' Elo values) exhibited the same trend when we plotted that along with it.
asyyy^ | are you releated to chuck norris?
Reply

(05-01-2017, 10:34 AM)Mario Wrote: Weapons mode especially is virtually unplayable without relying mostly on hitscan and fast hitting weapons, as nothing else has a chance of hitting reliably. Getting bounced around by other players makes thing far worse, as prediction has no idea what to do.
Instagib is a bit different, but you're delayed by laser jumps and hooks (not to mention other players coming around corners and hitting you before they even load on your screen).

Instagib is different on the ground level, because you're far less likely to win if you hit less than your opponents. By contrast in weapons mode: you calculate damage instead of hits and the required amount of damage for a kill is inconsistent. Because you can recycle health and armor, which you control with strategy rather than just raw performance affected by ping.

(05-01-2017, 02:35 PM)Antibody Wrote: @Smilecythe - the latency adjustments  are pretty conservative. They can only affect the predicted outcome by a maximum of 20% in either direction, and almost no matches fall under those extreme circumstances (to get that you'd have to have like 1000ms versus 1ms). To arrive at our formula divVerent and I analyzed over 7000 duel matches from January to about two weeks ago. This gave us about 14000 data points to look at, and when we plotted ping ratios to actual outcomes we could see a clear downward trendline. That is to say that on average the higher the ping ratio was for any given player, the more likely they were to lose the match. Experience (taken from the players' Elo values) exhibited the same trend when we plotted that along with it.

Fair enough. But to clarify, does the latency adjustment become more significant the more closer the players elo value is?
Reply

It doesn't scale based on experience. It is added to (or subtracted from) the Ea value in this formula:

[Image: elo.png]

...so the new points change formula is K(Sa - (Ea + Pf)), with Pf being the "ping factor". The "ping factor" for P1 is 0.2*(0.5 - P1_avg_ping/(P1_avg_ping + P2_avg_ping)).

A concrete example might help. I'll focus on the core of the algorithm and leave out some of the finer details like score per second and loss scaling for sake of clarity. Let's take two experienced players with equal Elos (say 500). They both have over 32 games under their belts, so K=40 for both. P1 has 150 ping and loses to P2 who has 50 ping, with the score being 15-30. 

Sa is approximately 15/(15+30) => 0.33.
Ea is exactly 0.5 since their Elos are the same.
Pf is 0.2*(0.5 - 150/(150 + 50)) => -0.05.
Thus the points change for P1 is 40*(0.33 - (0.5 + (-0.05))) = -4.8 with ping factored in and 40*(0.33 - 0.5) = -6.8 under the old system. In other words s/he lost less points due to the ping disadvantage.
The points change for P2 is 40*(0.66 - (0.5 + 0.05)) = 4.4 with ping factored in and 40*(0.66 - 0.5) = 6.4 under the old system. In other words s/he won less points due to the ping advantage.
asyyy^ | are you releated to chuck norris?
Reply

(05-02-2017, 07:29 AM)Smilecythe Wrote: Fair enough. But to clarify, does the latency adjustment become more significant the more closer the players elo value is?
I think errors in Elo algorithm itself can be much larger then any additional adjustments added by Antibody. Unfortunately in Elo, it matters in which order you win/lose your matches e.g. in Bo5 going loss-loss-win-win-win will give you different results than win-loss-win-loss-win (unless all 5 games are counted as a single match).
[Image: 62200.png]
Reply

I don't consider those as errors as-such, boomboom. The algorithm adjusts its predictions based on your outcomes on a per-match basis! We chose this frequency because we don't really have set periods where it really makes sense to "stop and calculate" like they do in chess after tourneys.
asyyy^ | are you releated to chuck norris?
Reply

(05-03-2017, 09:52 AM)Antibody Wrote: I don't consider those as errors as-such, boomboom. The algorithm adjusts its predictions based on your outcomes on a per-match basis! We chose this frequency because we don't really have set periods where it really makes sense to "stop and calculate" like they do in chess after tourneys.
Ok maybe it wasn't the best choice of words for this trait of Elo. I just wanted to point out to people who might not be familiar with Elo ranking, that all of the ranking algorithms always have quirky behaviours in certain situations, so it is better not to expect 100% accurate results from them all of the time. Even double elimination bracket can give inaccurate results for places below 2nd.
[Image: 62200.png]
Reply

I noticed that the totals displayed in the rankings (e.g. x of 2549) quadrupled since a few months ago. Did you change something to the algorithm deciding who count as active players, or did we suddenly get a bunch of new players?
Reply

(05-21-2017, 05:18 PM)gd Wrote: I noticed that the totals displayed in the rankings (e.g. x of 2549) quadrupled since a few months ago. Did you change something to the algorithm deciding who count as active players, or did we suddenly get a bunch of new players?

There was a change (I don't remember when) that IDs with 100 elo (rotted down) would not show up in the rankings anymore, which led to less players in the rankings.
My guess behind the reason of this extreme rise would be the 0.8.2 release. Maybe players tried it out again, gained some elo points and returned to the rankings.
Reply

32 game requirement to be ranked was lifted.
https://web.archive.org/web/201705230455...40cf030e59
Reply

Antares hit the nail on the head - we used to require 32+ games in there AND for your Elo to be greater than the floor (100). Now it is just the latter. One thing to keep in mind is that the ranks page will show the rounded value for space reasons but the actual value goes out to two decimal places. That's why you see a couple of folks at the bottom of the ranks that appear to be at level 100. They are actually at something sliiiiightly higher!
asyyy^ | are you releated to chuck norris?
Reply

Initial, work-in-progress version of what I'm calling the "frag matrix" table on the game page:

[Image: uSshLul.png]

It's in order of the scoreboard position top-to-bottom and left-to-right. The junction of the rows and columns is the number of frags between the two nicks, with the victim being along the column. In the above, "Anonymous Player" fragged the bot Thunderstorm 5 times.

More work is needed to make the column headings vertical or at a 45-degree angle so we can keep the table as small as possible.
asyyy^ | are you releated to chuck norris?
Reply

Diggin it!
Reply

Reply

I've finished up the frag matrix feature discussed earlier. Here's what it looks like:
[Image: 20171028_frag_matrix_small.png]
Enjoy!
asyyy^ | are you releated to chuck norris?
Reply



Possibly Related Threads…
Thread Author Replies Views Last Post
  XonStat turns 1! Antibody 13 12,085 10-25-2012, 03:36 AM
Last Post: harry_ftw
  XonStat FAQ Antibody 2 4,760 04-20-2012, 10:30 PM
Last Post: Antibody

Forum Jump:


Users browsing this thread:
2 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-