Ripple's score server
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Giuseppe Guerra 5685f40a79 1.25.4 pirms 3 nedēļām
common @ b6bd782dba Updated submodule common pirms 1 mēnesi
constants Automatically unrank approved, qualified, loved maps above a certain pp threshold pirms 1 gada
handlers Upload screenshots to S3 pirms 3 nedēļām
helpers Upload screenshots to S3 pirms 3 nedēļām
objects Minor performance improvements pirms 4 nedēļām
pp Removed submodule pirms 3 mēnešiem
pubSubHandlers .SCORES. Cythonized some files pirms 3 gadiem
secret @ 588e0c7d10 Updated submodule secret pirms 3 mēnešiem
.dockerignore Add entrypoint, less verbose startup log, fix process not exiting correctly pirms 1 mēnesi
.gitignore Signore vienici a salvare pirms 10 mēnešiem
.gitmodules Removed submodule oppai-ng pirms 3 mēnešiem
.landscape.yaml .HIDE. Update landscape config file pirms 3 gadiem
LICENSE Update README and LICENSE pirms 3 gadiem Revert "Update README" pirms 1 gada Add entrypoint, less verbose startup log, fix process not exiting correctly pirms 1 mēnesi Ignore pyenv and oppai in cython full build script pirms 9 mēnešiem Fix missing import pirms 4 nedēļām Relax leaderboards pirms 3 mēnešiem
requirements.txt Update oppai pirms 2 mēnešiem Use pyoppai rather than calling oppai as a subprocess pirms 2 gadiem
runserver.bat .SCORES. More error checks in ripp pirms 4 gadiem Force distutils Cython language, replaced tabs with spaces pirms 9 mēnešiem --no-download option in pirms 2 mēnešiem .SCORES. General refactoring pirms 3 gadiem
version 1.25.4 pirms 3 nedēļām

LETS Code Health

Latest Essential Tatoe Server

This server handles every non real time client feature, so:

  • Ingame scoreboards
  • Score submission
  • Screenshots
  • Replays
  • osu!direct, thanks to cheesegull
  • Tillerino-like API (partially broken)
  • osu!standard and taiko pp calculation with oppai-ng, made by Franc[e]sco
  • osu!mania pp calculation with a slightly edited version of osu-tools, made by the osu! team
  • catch the beat pp calculation with catch-the-pp, made by Sunpy and cythonized by Nyo


  • Python 3.6
  • Cython
  • C compiler

How to set up LETS

First of all, initialize and update the submodules

$ git submodule init && git submodule update

afterwards, install the required dependencies with pip

$ pip install -r requirements.txt

compile all *.pyx files to *.so or *.dll files using (distutils file). This compiles catch-the-pp as well.

$ python3 build_ext --inplace

then, run LETS once to create the default config file and edit it

$ python3
$ nano config.ini

finally, compile oppai-ng (inside pp/oppai-ng) and osu-tools (inside pp/maniapp-osu-tools). is a tool that allows you to calculate pp for specific scores. It's extremely useful to do mass PP recalculations if you mess something up. It uses lets’ config and packages, so make sure lets is installed and configured correctly before using it.

usage: [-h]
                    [-r | -z | -i ID | -m MODS | -g GAMEMODE | -u USERID | -b BEATMAPID | -fhd]
                    [-w WORKERS] [-cs CHUNKSIZE] [-v]

pp recalc tool for ripple, new version.

optional arguments:
  -h, --help            show this help message and exit
  -r, --recalc          calculates pp for all high scores
  -z, --zero            calculates pp for 0 pp high scores
  -i ID, --id ID        calculates pp for the score with this score_id
  -m MODS, --mods MODS  calculates pp for high scores with these mods (flags)
  -g GAMEMODE, --gamemode GAMEMODE
                        calculates pp for scores played on this game mode
                        (std:0, taiko:1, ctb:2, mania:3)
  -u USERID, --userid USERID
                        calculates pp for high scores set by a specific user
  -b BEATMAPID, --beatmapid BEATMAPID
                        calculates pp for high scores played on a specific
                        beatmap (beatmap_id)
  -fhd, --fixstdhd      calculates pp for std hd high scores (14/05/2018 pp
                        algorithm changes)
  -w WORKERS, --workers WORKERS
                        number of workers. 16 by default. Max 32
  -cs CHUNKSIZE, --chunksize CHUNKSIZE
                        score chunks size
  -v, --verbose         verbose/debug mode


This project is licensed under the GNU AGPL 3 License.
See the “LICENSE” file for more information.