GithubHelp home page GithubHelp logo

needs / teerank Goto Github PK

View Code? Open in Web Editor NEW
11.0 5.0 3.0 2.75 MB

A simple ranking system for teeworlds

Home Page: https://teerank.io

License: GNU General Public License v3.0

CSS 0.16% Shell 0.12% Dockerfile 0.69% TypeScript 97.82% JavaScript 1.21%
teeworlds flyio nx postgresql prisma nextjs

teerank's Introduction

Teerank.io is a simple and fast ranking system for Teeworlds. You can test the lastest stable version at teerank.io.

Build and run

npm install
docker compose up -d
npx nx run frontend:serve
npx nx run worker:serve

Alternatively, open the projetc on VSCode and run the start building using: Command + Shift + B.

Legacy

This project is a reboot of teerank.com. The former was written in C and used SQLite. While good, this technologies are arguably not the best tools in the box for making and maintening a ranking system.

This project instead relies on Typescript, NextJS, PostgreSQL. Performance is not really a concern so Typescript is a good language to use, as it improves developement speed and is accessible to more people, it also make concurrency easy.

Finally, the old teerank frontend was a C program compiled into a CGI which then was plugged into Nginx. It worked, but it was difficult to setup. Using NextJS saves a lot of time and is more flexible. Frontend, worker and database are all hosted on fly.io.

Also the domain teerank.com expired by accident, and was immediately cyber-squatted. They refused my buying offers, so at some point I stopped the server and let the project die. Now the domain is available again but due to the premium system for .com demains, it costs more than a thousand dollars, which is not something I can afford for a pet project. That's why teerank is now available at teerank.io.

Goals

  • Reference every servers and players accross all teeworlds versions;
  • Provide a ranking system for every mods;
  • Gather historical data on players, servers, maps, clans and more;

teerank's People

Contributors

needs avatar nzyuzin avatar sonix- avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

teerank's Issues

Rank gain gradation for different maps

Hi, I just noticed your wonderful project. It really looks great, thanks for your work!

But I have question -- currently, as noted in "About" section, rating is computed based on score difference between time intervals. Maybe rating could be adjusted based on map too?

For example, reaching a high score on ctf5 servers is not a hard task for almost any player, while reaching high score on such maps as ctf2 and ctf3 is completely different.

I would be glad to implement the adjustment after I get to know the code better, but I want to know your opinion about this change before.

Hall of fame (highest ratings achieved)

It could be interesting to maintain a record of the players who in some point in time achieved the highest ratings ever seen, even if later they had it lowered.

List showing, say, 10 or 20 players who hold records on the highest ranks achieved could be implemented.

dm1 ranking

As I understand, dm1 is not polled for scores now, which sad because it could provide a perfect opportunity to set up a proper elo rating system.

It's usually a 1o1 player fight and if there are more than 2 players on map they could be just all ignored.

The problem of course is -- how to reliably detect a winner.

Favorite maps

A more easy-to-code idea is to just record the favorite map of the player and display it in the ranking. So a player getting a high rank by playing mostly ctf2 is more likely to be a pro than ones playing ctf5. What's your thoughts about the issue?
Favorite map is indeed an interesting idea, an option to filter on it could be implemented then to separate ctf2 players from ctf5 players.

Changed names in teerank

Hi,

Recently I have discovered that the names of several players (including me and zandyZ) have been changed, while retaining all the other attributes, like score and clan.
http://teerank.com/pages/1.html
zandyZ's rank record got renamed to 'zanchho' and mine to 'Shiister'.

How could this happen? :O

Tee ranks appear out of order

Below is the image that displays the bug. Tee ranks appear out of order. It holds for pages other than first too.

teerank_rankings

losing rank over time

Hi,
I think there is a problem about players who doesn't play any more. As you can see on the first and second pages of teerank site, most of players just play once and get an high rank. For example, the first player played the 22 july and never played since. Maybe a system to make the lost of rank when people doesn't play could be great ?

Improvements to elo calculation

To rank players in ctf2 games it may be beneficial to match players against not every other player on the field but only against the opposite team players considering the average levels of both teams.

So it won't be easy to get high rank when the games are seriously unbalanced.

Incorrect display of unicode symbols

As seen on screenshot below, unicode characters are not displayed correctly.
For example: Magnet should have ÆON clan and R4z0r should have χron clan.
teerank-unicode

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.