peppy's osu!dev work log

Total Posts
Topic Starter
It's becoming increasingly hard for me to share what I want to with the community without getting frustrated at the platforms. Twitter has become somewhat of a shit-show; while discord could work, I don't really want people to be forced to digest content that way (and don't have that much trust in discord not to screw up in the future).

In the spirit of how I used to keep all development updates in the forum, posting every day with new content, I'm going to give this a try. I already keep my own daily log for my own purposes, so I'll begin to post here with insights into what's going on behind the scenes, and what we're working on next.

I may even reach out for feedback and voting on forward direction from the community.

Please subscribe to this thread for daily / weekly updates on what's going on behind the scenes of osu! :)
Topic Starter


The lazer "pp" release is done and dusted! I know that everyone's going to want to see us going full steam ahead on anything and everything (be that game balance, missing features, more mods supporting pp) but you're going to have to give us a bit of time to step back and make sure all the new systems we deployed are working well.

We've already found some points of concern so are working through those over the text week or two. The main things are that

  1. We somehow managed to break auto-updating in the latest release due to a very silly oversight. The fact this got past the whole team has us disappointed, but we do have a potential fix for this and are looking to deploy it today. If you want to get your osu! updating, we recommend manually downloading and installing the latest lazer release without uninstalling first.
  2. Some users have reported weird edge cases with leaderboards – missing scores, scores appearing which should be deleted, or even some scores showing wrong values. We're running existing tools we made to verify the integrity of scores and working through reported issues to make sure the root cause(s) are plugged.
We have a public task tracker specifically for the ongoing work post-pp-release so feel free to check it out and follow along!

You might be interested to know that the osu! website is now running completely on the new lazer infrastructure I've been working on for the last couple of years! The osu!(stable) game client is still using the old infrastructure, and this is by design – I wanted to ensure we don't break the stable game experience and the best way of doing this was keeping everything running precisely as it is.

Which is to say, if it turns out we broke game balance and had to reset lazer scores/leaderboards it's just a matter of nuking it and re-importing from the old database from scratch.

This came with some overheads and quite a few processes in place to make sure both score databases are in sync, but it does mean we can move forward and change things much more easily. I might do up a diagram showing how (complex) things are in the near future.

For the record, while I really don't have the bandwidth to reply to every comment (usually I do), we are reading feedback on the changelog, on youtube and even reddit.

✅ Show a better message when score submission fails due to system clock being set wrong (
✅ Adjust slider tick / end misses to show slightly longer (
✅ Investigate: Some scores missing from new leaderboards (
✅ Make verify command faster by bypassing second-level data lookup (
Topic Starter


We continue to iron things out in the hope of getting back to a relatively clean slate to make a push for some forward progress. This involves a myriad of changes including UI/UX (better showing which mods / mod settings are "ranked"), infrastructure fixes (missing scores; scores visible which shouldn't be; #1 beatmap ranks not matching in rare cases; replay flag not always being correct) and reliability improvements (edge cases on linux where the new auth systems are not working as expected; fixing android and iOS not working; fixing many crashes).

There has also been a push by smoogi to get everything updated to .NET 8.0. We had been on 6.0 and waiting for an opportunity to get things back up-to-date. Early reports are that this can improve overall performance by ~30% in the best case.

I've also been taking some moments to repay sleep debt and catch up on real life issues and a huge email backlog.

As previously mentioned, ongoing tasks continue to be tracked on this github project if you want to keep up with progress!

✅ Fix `BatchInserter` not showing correct process range due to no guaranteed ordering (
✅ Give better visibility when the game is pending 2FA (
✅ Add a timeout condition to avoid score watchers getting stuck (
✅ Order by `score_id` instead of `queue_id` (
✅ Use logo without shadow to fix blurriness on Safari (
✅ Review: Fix incorrect connection metrics tracking on instances pending shutdown (
✅ Deploy fix for windows auto update
✅ Verify all scores present from legacy->scores across all rulesets
✅ New dev log thread (community/forums/topics/1878630?n=1)
✅ Investigation into account creation flow not working as expected
✅ Investigation into missing replays
✅ Investigate: Score conversion is failing for failed osu! scores (
✅ Review: Upgrade to .NET 8 and C# 12 (
✅ Review: Update to .NET 8 + C# 12 (
✅ Add verification step for confirming replay flag is correct (
✅ Review: Convert selected legacy skin sprites to grayscale (
✅ Review: Allow a few new mods and mod settings for pp (
✅ Improve exception logging of unobserved exceptions via `FireAndForget` (
✅ Review: Hide ruleset selector when on kudosu ranking (
✅ Review: Use staggered exponential backoff when retrying in `PersistentEndpointClientConnector` (
✅ Change verify command to support batched writes (
🏃‍♂️ Contracts catch-up
Please sign in to reply.

New reply