New Ripple's score server
  • Python 65.2%
  • Cython 34.7%
  • Shell 0.1%
Find a file
tatatat 2fd05d40b6 Update 'pp/wifipiano2.py'
reverted HT pp.
2017-06-19 21:25:52 +02:00
common@32a02e4d56 Update submodules 2017-04-13 17:21:22 +02:00
constants .SCORES. Use levbod rather than bloodcat in osu!direct beatmaps listing/search 2016-12-30 16:13:41 +01:00
handlers Fix wrong variable name in PP api 2017-06-18 23:42:49 +02:00
helpers Don't update global and country leaderboards if user is restricted or banned 2017-04-13 17:21:50 +02:00
objects Fix wrong variable names, slight refactoring, edit comments formatting to make them more consistent with the rest of the code 2017-06-18 21:00:32 +02:00
pp Update 'pp/wifipiano2.py' 2017-06-19 21:25:52 +02:00
pubSubHandlers .SCORES. Cythonized some files 2016-12-08 15:11:27 +01:00
.gitignore .SCORES. Add distutils setup file 2016-12-08 12:09:01 +01:00
.gitmodules .HIDE. Change submodule url to new git server and use HTTPS instead of SSH - Nyo 2017-01-16 19:40:25 +01:00
.landscape.yaml .HIDE. Update landscape config file 2016-12-28 16:17:01 +01:00
__init__.py First (uncomplete) release 2016-04-18 23:20:37 +02:00
full_build.sh Add full build script 2016-12-08 15:46:39 +01:00
lets.py print -> log, remove unused import 2017-04-11 18:49:08 +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 Update README, add .landscape.yaml 2016-12-08 20:58:37 +01:00
requirements.txt .HIDE. Update requirements.txt 2016-11-01 09:56:47 +01:00
runserver.bat .SCORES. More error checks in ripp 2016-04-23 19:52:10 +02:00
setup.py .SCORES. Add distutils setup file 2016-12-08 12:09:01 +01:00
tomejerry.py .SCORES. General refactoring 2016-12-08 21:13:49 +01:00
userStatsCache.py .SCORES. General refactoring 2016-12-08 21:13:49 +01:00
version 1.13.1 2017-04-13 17:23:20 +02:00

LETS Code Health

Latest Essential Tatoe Server

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

  • Ingame scoreboards
  • Score submission
  • PP calculation through oppai (std) and wifipiano2 (mania)
  • Screenshots
  • Replays
  • osu!direct
  • Tillerino-like API

Requirements

  • Python 3.5
  • Cython
  • C compiler
  • MySQLdb (mysqlclient)
  • Tornado
  • Bcrypt
  • Progressbar2 (only for tomejerry.py )
  • Raven
  • Datadog
  • oppai

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)

$ 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, configure oppai as described below.

How to set up oppai with LETS

LETS uses lolisamurai's oppai as pp calculator for std. We use a slightly modified version of oppai, you can find it here.
Go one directory above LETS (in the same directory where you have old-frontend, pep.py, lets and so on) and clone oppai inside the oppai folder, compile it with make and create the maps folder:

$ cd ..
$ git clone https://github.com/osuripple/oppai.git
$ cd oppai
$ make
$ chmod +x oppai
$ mkdir maps

Note: wifipiano (mania pp calculator) is tailor-made for LETS and doesn't require any configuration.

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 (only std and mania are supported at the moment)
  • -z to calculate PP for scores with 0 pp
  • -g x to recalculate PP for scores for x gamemode (0: std, 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.