New Ripple's score server https://ripple.moe
Giuseppe Guerra 9e26d76871 Updated submodule pp/catch_the_pp 1 week ago
common @ 36d6c0dac5 Updated submodule common 1 month ago
constants .SCORES. Use levbod rather than bloodcat in osu!direct beatmaps listing/search 1 year ago
handlers CTB pp 2 weeks ago
helpers Correctly handle BOM in .osu files 3 months ago
objects CTB pp 2 weeks ago
pp Updated submodule pp/catch_the_pp 1 week ago
pubSubHandlers .SCORES. Cythonized some files 1 year ago
secret @ a52b7fd1cf Ops 3 months ago
.gitignore .SCORES. Add distutils setup file 1 year ago
.gitmodules CTB pp 2 weeks ago
.landscape.yaml .HIDE. Update landscape config file 1 year ago
LICENSE Update README and LICENSE 1 year ago
README.md Update README 2 weeks ago
__init__.py First (uncomplete) release 1 year ago
full_build.sh Add full build script 1 year ago
lets.py CTB pp 2 weeks ago
personalBestCache.py .SCORES. .HIDE. Log personal best stuff as debug 1 year ago
requirements.txt Force latest Cython version because the old one doesn't work well with catch_the_pp 2 weeks ago
run.sh Use pyoppai rather than calling oppai as a subprocess 6 months ago
runserver.bat .SCORES. More error checks in ripp 1 year ago
setup.py .SCORES. Add distutils setup file 1 year ago
tomejerry.py Tomejerry: use an appropriate number of MySQL connections 1 week ago
userStatsCache.py .SCORES. General refactoring 1 year ago
version 1.13.1 9 months ago

README.md

LETS Code Health

  • Origin: https://zxq.co/ripple/lets
  • Mirror: https://github.com/osuripple/lets

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 wifipiano2, made by Nyo with reference code from Tom94's osu-performance
  • catch the beat pp calculation with catch-the-pp, made by Sunpy and cythonized by Nyo

Requirements

  • Python 3.5+
  • 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 setup.py (distutils file). This compiles catch-the-pp as well.

$ python3 setup.py build_ext --inplace

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

$ python3 lets.py
$ nano config.ini

finally, compile oppai-ng (inside pp/oppai-ng).

tomejerry.py

tomejerry.py 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.
tomejerry supports a lot of parameters, the main ones are:

  • -r, to recalculate PP for every score on every game mode
  • -z to calculate PP for scores with 0 pp
  • -g x to recalculate PP for scores for x gamemode (0: std, 1: taiko, 2: ctb, 3: mania)
  • -i x to recalculate PP for score with x id
  • -n x to recalculate PP for scores submitted by user with x username
    For a full list of all the arguments supported by tomejerry, run python3 tomejerry.py --help

License

This project is licensed under the GNU AGPL 3 License.
See the "LICENSE" file for more information.
This project contains code taken by reference from osu-performance by Tom94.