Teerank.io is a simple and fast ranking system for Teeworlds. You can test the lastest stable version at teerank.io.
npm install
docker compose up -d
npx nx run frontend:serve
npx nx run worker:serve
npx nx run scheduler:serve
In Conductor, the dev run script does all of the above. Spotlight testing
syncs the active workspace into the repository root and the script serves from
there, so every workspace shares one node_modules, one docker stack and one
database.
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.
- 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;