Skip to content

stanriders/WebPerformanceCalculator

Folders and files

NameName
Last commit message
Last commit date
Apr 21, 2021
May 4, 2021
May 28, 2021
Jun 22, 2022
Aug 10, 2021
Nov 12, 2019
Oct 25, 2019
May 31, 2021
May 4, 2021

Repository files navigation

WebPerformanceCalculator

https://newpp.stanr.info/

API

[GET] /api/version
Get calculation module update date and commit hash / name


[GET] /api/top?offset=0&limit=50&search=chocomint&order=desc&sort=localPp&country=KR
Get leaderboard page
Params:

  • search - Player name or jsonname, doesn't work with country
  • sort - Which field results should be sorted by
  • order - Which order (asc/desc) should results be order by
  • country - Country acronym to get a country leaderboard page, doesn't work with search
  • offset - How many rows to skip
  • limit - How many rows to return (max 500)

[GET] /api/player/cookiezi
Get user profile
Params:

  • name - Player user id or nickname

[GET] /api/queue
Get current queue


[POST] /api/queue?player=nathan on osu
Add player to queue and returns current queue
Params (url encoded):

  • player = Player nickname or ID

[POST] /api/maps/calculate
Calculate map pp values for 90-100 acc values
Params (json):

  • Map - Beatmap ID, can't be BeatmapSet ID
  • Mods - Array of mod abbreviations

[GET] /api/maps/probabilitychart/129891?mods=HDDT
Get miss probability data for calculated map
Params:

  • mapId - Beatmap ID
  • mods - Joined string of mod abbreviations

[GET] /api/highscores
Get current top scores sorted by local PP


[GET] /api/countries
Get all known countries in the player database


Running

dotnet WebPerformanceCalculator.dll

appsettings.json

{
  "Urls": "http://localhost:5001",
  "Key": "abcdefghjklmnopqrstuvwxyz0123456789",  // admin/worker endpoints access key

  "HighscoreThreshold": 699.5,  // pp threshold for /highscores/
  "CalcsPerHourPerUser": 15,  // how many profiles one user can calc in an hour

  "CalculatorPath": "/home/pp/osu-tools/bin/netcoreapp3.1",  // path to a PerformanceCalculator.dll for map calculation
  "CalculationModuleFileName": "osu.Game.Rulesets.Osu.dll",
  "CalculationModuleUpdateLink": "http://localhost/osu.Game.Rulesets.Osu.dll",  // URL from which workers should download calc updates

  "CommitHashFileName": "commithash"  // path to file with commit hash, can be relative
}

Running workers

dotnet WebPerformanceCalculator.Worker.dll

appsettings.json

{
  "CalculatorPath": "/home/pp/osu-tools/bin/netcoreapp3.1",  // path to a PerformanceCalculator.dll
  "CalculationModuleFileName": "osu.Game.Rulesets.Osu.dll",
  "APIKey": "",  // osu! API v1 key

  "GetWorkEndpointAddress": "http://localhost:6000/api/workers",  // endpoint to get work data from, GET
  "SubmitWorkEndpointAddress": "http://localhost:6000/api/workers",  // endpoint to submit work data to, POST
  "PollingRate": 1000,  // how often to poll work endpoint
  "Key": "abcdefghjklmnopqrstuvwxyz0123456789"  // worker endpoints access key
}

ASP.NET 5.0