All Projects → ppy → Osu Performance

ppy / Osu Performance

Licence: agpl-3.0
Calculates user performance aggregates from scores

Labels

Projects that are alternatives of or similar to Osu Performance

Osu Web
the browser-facing portion of osu!
Stars: ✭ 610 (+227.96%)
Mutual labels:  osu
Ezpp
pp made easy!
Stars: ✭ 47 (-74.73%)
Mutual labels:  osu
Raindrop
yet another beatgame.
Stars: ✭ 113 (-39.25%)
Mutual labels:  osu
Osu Framework
A game framework written with osu! in mind.
Stars: ✭ 692 (+272.04%)
Mutual labels:  osu
Osuqqbotfornewbiegroup
为osu!新人群开发的QQ Bot,在其他群也可以使用一些基本功能。
Stars: ✭ 29 (-84.41%)
Mutual labels:  osu
Opsu Dance
fork of opsu! (which is an osu! clone) with extra stuff
Stars: ✭ 69 (-62.9%)
Mutual labels:  osu
Tillerinobot
Stars: ✭ 254 (+36.56%)
Mutual labels:  osu
Sync
Sync your Live Channel's Danmaku or Comment to osu! IRC
Stars: ✭ 139 (-25.27%)
Mutual labels:  osu
Kjbot
kjBot Framework and Modules
Stars: ✭ 32 (-82.8%)
Mutual labels:  osu
Osu Resources
assets used by osu!
Stars: ✭ 102 (-45.16%)
Mutual labels:  osu
Osu
rhythm is just a *click* away!
Stars: ✭ 8,573 (+4509.14%)
Mutual labels:  osu
Tabletdriver
TabletDriver Download: http://hwk.fi/TabletDriver/TabletDriverV0.2.3.zip
Stars: ✭ 936 (+403.23%)
Mutual labels:  osu
Flowabot
Modular Discord bot with fun features including twitch commands and advanced osu! commands. 🌷
Stars: ✭ 86 (-53.76%)
Mutual labels:  osu
Opsu
opsu! ~ an open-source osu! client
Stars: ✭ 617 (+231.72%)
Mutual labels:  osu
Gosumemory
Cross-Platform memory reader for osu!
Stars: ✭ 112 (-39.78%)
Mutual labels:  osu
Webosu
➤⓵ web rhythm game (unofficial osu!) http://osugame.online/
Stars: ✭ 434 (+133.33%)
Mutual labels:  osu
Collectionmanager
CollectionManager gives you ability to create and manage your osu! collections easier.
Stars: ✭ 68 (-63.44%)
Mutual labels:  osu
Streamcompanion
osu! information extractor, ranging from selected map info to live play data
Stars: ✭ 161 (-13.44%)
Mutual labels:  osu
Osu Player
A multifunctional media player for osu and osuer. Modern interface with WPF.
Stars: ✭ 123 (-33.87%)
Mutual labels:  osu
Realtimeppdisplayer
A Sync Plugin, calculate and display your Osu game data in real time.
Stars: ✭ 88 (-52.69%)
Mutual labels:  osu

osu!performance dev chat

This is the program computing "performance points" (pp), which are used as the official player ranking metric in osu!.

Compiling

All that is required for building osu!performance is a C++11-compatible compiler. Begin by cloning this repository and all its submodules using the following command:

$ git clone --recursive https://github.com/ppy/osu-performance

If you accidentally omitted the --recursive flag when cloning this repository you can initialize the submodules like so:

$ git submodule update --init --recursive

osu!performance runs on Windows, macOS, and Linux. The build environment is set up using CMake as follows.

Windows

Open the command line and navigate to the root folder of this repository.

osu-performance> mkdir build
osu-performance> cd build
osu-performance\build> cmake ..

Now the build folder should contain a Visual Studio project for building the program. Visual Studio 2017 and a 64-bit build are recommended (cmake -G "Visual Studio 15 2017 Win64" ..).

macOS / Linux

On macOS / Linux you need to install the MariaDB MySQL connector and cURL packages. Afterwards, in a terminal of your choice, do

osu-performance$ mkdir build
osu-performance$ cd build
osu-performance/build$ cmake ..
osu-performance/build$ make -j

Sample Data

Database dumps with sample data can be found at https://data.ppy.sh. This data includes the top 10,000 users along with a random 10,000 user sample across all users, along with all required auxiliary tables to test this system. Please note that this data is released for development purposes only (full licence details available here).

You can import these dumps to mysql (after first extracting them) by running cat *.sql | mysql. Note that all existing data in tables will be dropped and replaced. Make sure to import the latest available data dumps as older snapshots may be incompatible with the latest version of osu!performance.

Usage

First, set up a MySQL server and import the provided data from above which is most relevant to your use case. Next, edit bin/config.json with your favourite text editor and configure mysql.master to point to your MySQL server.

After compilation, an executable named osu-performance is placed in the bin folder. You can use it via the command line as follows:

./osu-performance COMMAND {OPTIONS}

where command controls which scores are the target of the computation. The following commands are valid:

  • all: Compute pp of all users
  • new: Continually poll for new scores and compute pp of these
  • scores: Compute pp of specific scores
  • users: Compute pp of specific users
  • sql: Compute pp of users given by a SQL select statement

The gamemode to compute pp for can be selected via the -m option, which may take the value osu, taiko, catch, or mania.

Information about further options can be queried via

./osu-performance -h

and further options specific to the chosen command can be queried via

./osu-performance COMMAND -h

Configuration options beyond these parameters, such as various API hooks, can be adjusted in bin/config.json.

Licence

osu!performance is licensed under AGPL version 3 or later. Please see the licence file for more information. tl;dr if you want to use any code, design or artwork from this project, attribute it and make your project open source under the same licence.

Note that the sample data is covered by a separate licence.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].