Giter Site home page Giter Site logo

osu-pps's Introduction

osu-pps - osu! farm maps

A website made by grumd with a list of most farmy maps in osu!.
Supports osu!std, taiko, mania, fruits.

Setup

You should have nodejs and npm installed first. I'm using node v8.9.
For initial setup, npm i in the root directory and in /react-app if you want to run front-end.
To run update scripts, you also need to create a /update-scripts/config.json file that looks like this:

{
  "apikey": "<your-osu-api-key>"
}

Front-end

Open /ui and run npm start.

For debugging, you can change VITE_LOCAL_FETCH env variable in /ui/.env - front-end will search for json data files in /react-app/public instead of fething json from github.

Back-end (json update scripts)

Open /update-scripts and run node scheduler.js.

For debugging, you can change DEBUG variable in /update-scripts/constants.js - limits update process to just a few users/maps for debugging and testing purposes.

Contributing

I didn't intend for this repository to have contributions, it's mostly here for my own convenience. The code is pretty messy and hard to understand.

But if you still want to contribute, you can create a merge request based on develop branch. master branch shouldn't be touched, it's used for data updates and is force-pushed regularly.

License

I'm using an MIT license, see LICENSE.

osu-pps's People

Contributors

dependabot[bot] avatar grumd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

osu-pps's Issues

Hard to contribute / add separate data branch

It's difficult contributing to this project right now as the master branch keeps getting force-pushed with every data update. It breaks the history or working changes of contributors because of inconvenient pulls that need to be done to keep the local changes but receive upstream commits. You can also see this issue in the pull requests page as nearly all PRs get closed without being merged but the commits or functionality still kind of make it in, which might be encouraged by the comments/update history being flooded with force-pushes into the branch and making the auto merge button hard to use.

Could a separate dedicated data branch (or similar) without any code be used instead for pushing the data? You could also no longer force the push and this way keep a history of PP data which might be very interesting for data analysis too. Simply adding a new line character at the end of every song would also immensely help git with keeping track of changes and allow for parallel JSON parsing of each line.

Fix map length for DT maps

I already do it with BPM, just need to adjust length for DT maps too

Sadly can't adjust SR because no idea what formula to use

Possibility for endpoint to get data

Would you consider to make an endpoint to get data? E.g.
https://osu-pps.com/#/osu/maps?name="Sotarks"&ppMin=300&ppMax=400&ModCombinations=2&...
which yields back a JSON file with x amount of maps within criteria.
Parameters are basically filters found on the website, so it would be filled by those. (ModCombinations could be for instance &HD=yes&DT=any) as well.
To make it less power consuming it would yield back x amount, and the endpoint might allow to get x amount of other maps within that criteria, e.g.
https://osu-pps.com/#/osu/maps?name="Sotarks"&ppMin=300&ppMax=400&ModCombinations=2 &page=2

JSON yields back:
{
foundMaps: amount of beatmaps found
pages: foundMaps / pagesize
List of objects {
mapname: "mapname"
url: "urltoBeatmap"
approxPP: pp
modCombinatons: "HD, DT, HR" - or combination (1,2,4,8...)
length: in seconds (so user can format themselves)
difficultyNormal: NM calculation
difficultyCalculated: Mod Combination calculation (If this is possible and not too power consuming)
overweightnessPlaycount: overweightness by playcount
overweightnessAdjusted: overweightness by adjusted
overweightnessAge: overweightness by age
overweightnessTotal: overweightness by total
}

}

overweightness values don't match at all between maps and mapeprs

I might be missing something, but none of the overweightness values match between maps in the mappers tab, and the corresponding entry in the maps tab.

For example, Zan'ei has 6596.7 overweightness points in the mappers tab:
image

but virtually no overweightness points in the maps tab:
image

I have tried clearing site data, but the discrepancy remains.

Incorrect difficulty name and value

Difficulty Name

Go to (site)[https://grumd.github.io/osu-pps/#/maps] and search by speed of link 450
Correct difficulty name is 450 000m/s but this site says 450
image

Difficulty Value

Not compatible with pp-rebalance update? It shows 3.98 but correct value is 4.32
image
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.