2021-09-06 10:57:01 +02:00
2021-07-26 21:19:43 +02:00
2021-07-27 13:56:40 +02:00
2021-03-25 13:54:56 +01:00
2021-09-06 10:57:01 +02:00
2020-02-21 16:51:14 +01:00
2020-10-18 05:58:23 +02:00
2021-06-01 15:53:38 +02:00
2019-06-09 14:56:36 +00:00
2021-05-31 22:27:05 +02:00
2021-06-01 15:53:38 +02:00
2021-07-26 21:07:57 +02:00

Open Web Leaderboard

The Open Web Leaderboard is a leaderboard that can easily be used with any backend as long as you find a way to supply the following information (see database.py):

  • getRankRange(start, end) -> return a list of players from start rank to end rank
  • getMaxEntries() -> return the total number of entries in the leaderboard
  • findPlayer() -> find a player by name and return a (player, rank)-tupel

The system was developed to be used with the skillbird-framwork. If you use this framework, the program should be working without any arguments. If you need more conductibility feel free to open a pull-request or send me a message.

Requirements

  • MDB Jquery (unpack to ./static/bootstrap/)
  • Fontawesome (move to static/boostrap/fontawesome.css)
  • python3 -m pip install -r req.txt
  • Moment.js (directly into static/)

How to run

You can run the leaderboard as a flask standalone (arguments overwrite config.py settings!):

./server.py --skillbird-db PATH_TO_DB

or with a runner like waitress:

/usr/bin/waitress-serve --host 127.0.0.1 --port 5002 --call 'app:createApp'

the DB_PATH is set in config.py in this case.

GDPR: Blacklisting players

Players can be blacklisted by name via a blacklist.json file in the project root.

{
    "blacklist" : ["name", "name_2"]
}

Adding servers for player count live info

Source-Servers can be added via the servers.json-file:

[
    {
        "name" : "server_1",
        "host" : "example.com",
        "port" : 27015
    },
    {
        ...
    }
]

Python-valve is required if this file exists.

Live Demo

insurgency.atlantishq.de

Description
An open source leader-board for websites based on flask.
Readme MIT 1.3 MiB
Languages
Python 49.6%
HTML 38.7%
CSS 6.7%
JavaScript 4.4%
Dockerfile 0.6%