26

Re: teerank.io: A simple ranking system for teeworlds

Search is now case insensitive, and I also try to sort results by relevance.  A relevant result is when player's name match exactly the query, or when the query match the beginning (or the end) of the player's name.  When two players have the same relevance, I display players with higher rank first.

27 (edited by needs 2016-07-12 21:03:07)

Re: teerank.io: A simple ranking system for teeworlds

Each players have now its own page.  On this page you will find an interactive chart plotting elo points and rank over time.  I've also changed a lot of internal stuff, and make things a little bit less messy and more stable.  Here is the graph for "nameless tee", you can find an interactive version on teerank.

http://i.imgur.com/oyr2rFc.jpg

Teerank also run on a much better server than it used too.  The previous server was a kimsufi with 10GB SSD, and it wasn't really the best thing for teerank because it write a lot to the disk, and the database use quite some space.  At the end I got a lot of writing failures, probably due to broken SSD sectors.

Teerank runs now on a kimsufi with a conventional 2 TB harddrive, wich is more than enough.  I've seen no speed differences for now, kernel file caching works incredibly well, and fast.  That means there should be no more frozen database and strange bugs like in the past months.

Now that I finally have plenty of time, I've some cool stuff I want to get done for the next releases, I'm already working on some of them:

  • Providing a list of clans, servers and online players

  • More stats and charts for players

  • JSON API

  • Rank by maps

  • Rank TDM and DM players as well, except for 1v1

  • Have a special ranking for 1v1 games, it require a lot of changes to make sure we got the right winner

  • Maybe works with clan-zone to provide an "official" list of clans with their members

  • Achievements

  • And probably more charts, like the average count of players, new players...

28 (edited by Sonix 2016-07-13 01:07:40)

Re: teerank.io: A simple ranking system for teeworlds

Really nice, great work smile

29

Re: teerank.io: A simple ranking system for teeworlds

Good work indeed.

Any plan for coding server binaries? Integration into Teerace API/account system?

30

Re: teerank.io: A simple ranking system for teeworlds

Nice work smile

How do you identify players ?

teeworlds-stats considers unique (name, clan) but maybe that's overkill (~ 1,5 Gb) and unique names are enough.

Developper of teeworlds-stats.info

31

Re: teerank.io: A simple ranking system for teeworlds

With 0.7, each player will have an unique ID. So it will be easier to maintain a coherent list of players.

32

Re: teerank.io: A simple ranking system for teeworlds

A unique id without an account system ? How ?

What abt teerank ?

Developper of teeworlds-stats.info

33

Re: teerank.io: A simple ranking system for teeworlds

You can check this commit: https://github.com/teeworlds/teeworlds/ … f0c2f6c3d7

An ID is sent to the server alongside the player name. It's not an account system, just an ID that is less prone to changes on comparison with the player name/clan.

34

Re: teerank.io: A simple ranking system for teeworlds

Teerank just use the name.  As players can change their clans often.  Teerank use a file for each player, so to avoid issues with players named like "/etc/passwd" it use the hexadecimal representation of the name for filenames (and urls).

35

Re: teerank.io: A simple ranking system for teeworlds

Yes, but with this ID, you are sure that even if the player change his name, you can continue to track him. And "nameless tee" will no more correspond to 10000... different players. Of course, it will not solve all problems, but it's still a good improvement.

However, it's for 0.7 so you will need to wait 3 years to use it big_smile

36

Re: teerank.io: A simple ranking system for teeworlds

Looks like this id is valid for as long as the client is connected.
Doesn't seems useful to teerank or tw-stats.

Developper of teeworlds-stats.info

37 (edited by rand() 2016-07-16 15:55:20)

Re: teerank.io: A simple ranking system for teeworlds

There is no way to track a player
The ID is only there to solve some issue about close or same names in game.
It does not identify a player.
It remove all the "name (X)" tho

You have to make a modded client to add an account system, say on teerank, so teerank.com know that the player on the server X is identify.
(and that's not sufficient since few player will be identify)

Edit: good work, thats fun to see the rank's evolution.

38 (edited by needs 2016-11-11 01:54:39)

Re: teerank.io: A simple ranking system for teeworlds

A new version of teerank is now available online !

http://i.imgur.com/71qzuK4.jpg

Here is the new stuff:

Some less noticable improvements have been made:

  • Modern, shorter URLs (old URLs are supported to avoid broken links)

  • A warning will be shown if teerank doesn't update anymore

  • You can search for clans and servers

  • JSON is used everywhere in the database

  • And a lot of internals improvements

So you can already use the JSON API for your own programs.  For instance, you can create a teeworlds client that show players rank alongside their name.  Even if the API is subject to changes in futur versions, it will be done in such a way that existing users won't have to upgrade their programs.  Backward compatibility is, and will always be, guaranteed smile

Even tho I'm happy with the actual database, it takes a lot of time to maintain.  Partly because files are not that reliable, and the code is overall more complex compared to sqlite3 API.  However, I believe one of the main advantage it had over sqlite is it's performance.  While I haven't measured anything yet, the next version aim to be as complete as possible so that I can test a sqlite version against the current one and see who performs better.

Thanks to Sonix for improving page footer and many others for their suggestions and bug reports smile

39

Re: teerank.io: A simple ranking system for teeworlds

needs wrote:

A new version of teerank is now available online !

http://i.imgur.com/71qzuK4.jpg

Here is the new stuff:

Some less noticable improvements have been made:

  • Modern, shorter URLs (old URLs are supported to avoid broken links)

  • A warning will be shown if teerank doesn't update anymore

  • You can search for clans and servers

  • JSON is used everywhere in the database

  • And a lot of internals improvements

So you can already use the JSON API for your own programs.  For instance, you can create a teeworlds client that show players rank alongside their name.  Even if the API is subject to changes in futur versions, it will be done in such a way that existing users won't have to upgrade their programs.  Backward compatibility is, and will always be, guaranteed smile

Neox likes this.

while(!Success())
    TryAgain();
Try until you succeed.

40

Re: teerank.io: A simple ranking system for teeworlds

I think this news will make some of you happy: Teerank now use SQlite3!

The main purpose of Teerank was to have a "real" dataset to compare SQL database and file database.  Even tho the result was already pretty much obvious, I still wanted to compare.  And for Teerank use case, SQL databases clearly win.

It took me more than 2 weeks to migrate the whole codebase, mostly because the code was tightly coupled with the old database.  However, moving to SQlite makes the code simpler, and way more reliable.  The diff pretty much speak by itself:

59 files changed, 2093 insertions(+), 5028 deletions(-)

It is more or less a rewrite of the whole project.  By a careful use of indexes, performance are almost the same as before for the CGI, and way better for the builtins binaries.  This changes opens a lot of possibility for futur functionalities, and it will be far more easier to contribute to the project.

One last note: At the beginning I've used the SQlite API directly but it was really verbose and redundant.  I decided to abstract it (see core/database.h).  Doing so saved a little less than 400 lines while making the code way more readable.

41

Re: teerank.io: A simple ranking system for teeworlds

Pfiu, I eventually finished fixing the last remaining bugs and released Teerank 4.0 smile  Of course you can check it online.

So this release is functionally identical to Teerank 3, but under the hood it now use SQlite!  No more database coruptions and other atrocities, Teerank should now be way more reliable smile

One new thing, other than SQlite, is that it tries to detect when a match restarted to avoid ranking it.  That should prevent unexpected elo points loss at the end of a game.  Ah, also: better URLs.

While SQlite is definitively a big, big improvment, I still have some troubles to have decent performances when computing players ranks.  But for now everything should runs smooth.

85 files changed, 3928 insertions(+), 7110 deletions(-)

Anyway, now that this boring but necessary change is done, cool features incoming!

42 (edited by brandconnell 2016-12-12 12:56:09)

Re: teerank.io: A simple ranking system for teeworlds

needs wrote:

Of course you can check it online.

maybe if the site wasnt offline all the time we could check it out big_smile

error 504 Gateway Time-out

43

Re: teerank.io: A simple ranking system for teeworlds

lol, you made a point wink  Sometime fcgiwrap stop to answer for some obscur reasons, causing timeouts or 502 bad gateway.  Should be fixed now.

44

Re: teerank.io: A simple ranking system for teeworlds

brandconnell wrote:
needs wrote:

Of course you can check it online.

maybe if the site wasnt offline all the time we could check it out big_smile

error 504 Gateway Time-out

Seems like it's fixed now! smile

Not Luck, Just Magic.

45

Re: teerank.io: A simple ranking system for teeworlds

Good project...

i Searched myself and MAGIC!!

46

Re: teerank.io: A simple ranking system for teeworlds

Why are there some players in top100 who aren't playing since months.
You could let them lose some points over time to get a active top100.

47

Re: teerank.io: A simple ranking system for teeworlds

ShootXen wrote:

Why are there some players in top100 who aren't playing since months.
You could let them lose some points over time to get a active top100.

I'll definitively implement something to not rank inactive players, but I'm not sure how it should be done..

In the meantime, I've implemented ranking for DM, TDM and many more gametypes, and I also rank players for each map as well.  It's not online yet because every pages needs to be reworked to show this new stuff in a smart way.

http://i.imgur.com/RP4afLC.jpg

48

Re: teerank.io: A simple ranking system for teeworlds

The thing that bothers me about this is that this might become an aimbotter praise site

49

Re: teerank.io: A simple ranking system for teeworlds

For one thing it can help spotting those cheaters, because they will have unreal elo rank compared to clean players.  I've also though about a system to tag aimbotters or known bots (for instance some servers have bots when there isn't enough players), but I don't know how to design such a voting system to prevent abuses.

Something I wanted to for a long time was to use clanzone data to be able to mark "official" clans and their members in the vanilla scene.  Clanzone is maintened by Alucard and probably other trustable dudes as well.  Clanzone data could also include a list of known cheaters, so that I can mark them and exclude them from any ranking.