u/CyberGen49

▲ 32 r/osugame

Introducing osu!feed: A live feed of newly submitted osu! scores with tons of ways to filter what you see.

Hi everyone! I'm excited to share my newest contribution to the osu! community with you: osu!feed!

https://osufeed.kaysting.dev/

osu!feed is a simple webapp that lets you watch a real-time feed of scores being submitted to the osu! servers. It piggybacks off of my previous dev-focused project, osu-score-cache (post on my profile), whose purpose is to poll the osu! servers for new scores and broadcast them to clients. This project takes the raw data from osu-score-cache, gets all of the extra cosmetic data, and sends it to the webapp.

To tame the unrelenting firehose of scores flooding in every second, osu!feed also provides users with several ways to filter the scores down to only what you're interested in. You'll find filters for game mode, min/max accuracy, star rating, and combo, as well as letter rank, map status, mods, players, and maps. More filters will continue to be added as they're requested.

osu!feed is also intended to be a replacement of the now offline osu!live, which was posted about here last year.

Here's the link again if you wanna check it out: https://osufeed.kaysting.dev/

And for the code-inclined, here's the GitHub repo: https://github.com/kaysting/osu-score-feed

Feel free to leave a comment here or reach out to me on Discord (@kaysting) with any questions or feature requests!

osufeed.kaysting.dev
u/CyberGen49 — 18 days ago
▲ 44 r/osugame

Introducing osu-score-cache: An API and WebSocket for community devs to better fetch recent scores

Do you develop community apps for the osu! ecosystem? Do your apps need a constant stream of newly submitted scores or a deeper list of user or map recent scores? If so, osu-score-cache is for you!

osu-score-cache is a JSON API and real-time WebSocket providing access to osu!'s recently submitted passing scores. It stores days of score history, letting your app sync back up after downtime with no hiccups.

While the osu! API provides a Get Scores endpoint that returns recent passing scores, it has some shortcomings. This project expands on it by:

  • Providing a real-time websocket that broadcasts new scores, allowing clients to receive events passively instead of polling osu! servers.
  • Exposing a deeper history (up to 30 days) as opposed to only a couple days.
  • Allowing navigation forwards and backwards in recent score history using timestamps instead of opaque query strings.
  • Allowing you to fetch recent scores in all modes or a specific mode with a single request.
  • Allowing you to filter recent scores for specific players or beatmaps (or both).

While oSC does poll the osu! API's Get Scores endpoint every 5 seconds to save and broadcast new scores, it aims to prevent other devs from doing the same, thus lightening the load on osu!'s own infrastructure.

Read the full documentation here: https://osc.kaysting.dev/

Or check out the GitHub repo: https://github.com/kaysting/osu-score-cache

Happy coding :)

osc.kaysting.dev
u/CyberGen49 — 1 month ago