Ripple's score server
  • Python 68.1%
  • Cython 31.8%
  • Shell 0.1%
Find a file
2019-07-16 14:24:30 +02:00
common@e1ac503baa Most played beatmaps 2019-05-25 20:17:56 +02:00
constants Automatically unrank approved, qualified, loved maps above a certain pp threshold 2018-11-19 22:03:35 +01:00
handlers Changed autorestriction value from 700pp to 800pp 2019-07-16 14:24:30 +02:00
helpers Make FokaBot api calls delta-compatible 2019-06-26 15:54:40 +02:00
objects duh 2019-05-18 17:19:41 +02:00
pp Removed broken submodule 2019-06-08 00:56:43 +02:00
pubSubHandlers .SCORES. Cythonized some files 2016-12-08 15:11:27 +01:00
secret@45bed62642 Updated submodule secret 2019-03-31 19:14:52 +02:00
.gitignore Add .pyenv to .gitignore 2019-04-21 11:10:25 +02:00
.gitmodules Submodule hell part 3 2019-06-08 01:02:47 +02:00
.landscape.yaml .HIDE. Update landscape config file 2016-12-28 16:17:01 +01:00
full_build.sh Add full build script 2016-12-08 15:46:39 +01:00
lets.py Fix missing format in startup log 2019-04-23 12:13:42 +02:00
LICENSE Update README and LICENSE 2016-08-01 10:42:38 +02:00
personalBestCache.py .SCORES. .HIDE. Log personal best stuff as debug 2016-11-17 14:49:35 +01:00
README.md Revert "Update README" 2019-03-05 20:43:59 +01:00
requirements.txt Revert python 3.7 compatibility 2019-04-23 11:14:23 +02:00
run.sh Use pyoppai rather than calling oppai as a subprocess 2017-07-05 19:10:17 +02:00
runserver.bat .SCORES. More error checks in ripp 2016-04-23 19:52:10 +02:00
setup.py Ignore pyx files in .pyenv 2018-04-13 23:37:04 +02:00
tomejerry.py New config file 2019-03-31 19:13:05 +02:00
userStatsCache.py .SCORES. General refactoring 2016-12-08 21:13:49 +01:00
version 🔼 1.21.0 🔼 2019-05-17 19:34:24 +02:00

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

Requirements

  • 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 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) and osu-tools (inside pp/maniapp-osu-tools).

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.

usage: tomejerry.py [-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
                        (user_id)
  -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

License

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