Skip to content

Achievements ​

TomYum awards osu!'s medals for stable plays, under osu!'s own medal ids and rules. They're the same medals the website shows and ppy's score processor awards for lazer plays. When a stable play earns one, the client pops it up, and it's recorded on the account and the website.

Which medals, and who awards them ​

MedalsStable playslazer plays
Skill (pass / full combo, per ruleset and star tier), mod introductionTomYumppy's score processor
Combo (500 / 750 / 1000 / 2000)TomYum(stable only, as on osu!)
Beatmap packs, challenge packs, spotlights, Project LovedTomYumTomYum
Statistics, rank milestones, daily challengethe processorthe processor

The rules are osu!'s:

  • Skill medals judge the map's star rating in the ruleset played, with the play's mods. Only ranked or approved maps; no difficulty reduction (EZ, NF, HT, SO), automation (RX, AP) or unranked mods; in mania no key or co-op mods. osu! has 9★ and 10★ tiers too.
  • Combo medals: every milestone the play reached.
  • Mod introduction: the play used exactly that mod (Nightcore and Perfect include the mod they build on).
  • Pack medals: every set of the pack passed. A pack only counts once the server has all of osu!'s pack, since a set the server doesn't have can't be passed.

No medals for Relax or Autopilot plays, failed plays, maps without a leaderboard, or restricted players.

The website's catalog ​

At startup TomYum writes osu!'s full medal list into the website (osu_achievements), read from osu.ppy.sh. Offline, it writes its own medals instead and tries again at the next start. Local beatmap packs are numbered from 20000, so ppy's processor never mistakes one for an osu! pack.

Unlocks go to the website through InterOp, which adds the "unlocked the … medal" activity entry and notification (the website).

Medal icons ​

assets.<domain>/medals/client/{file}.png serves the icons: fetched from ppy's CDN on first use and cached under data/assets/medals/client/ (TOMYUM_ASSETS__CACHEPATH, default data/assets). Both the stable client and the website load them from there (USER_ACHIEVEMENT_ICON_PREFIX, set by the production compose file).

Storage ​

TomYum's own unlocks are in its user_achievements table; the website's in osu_user_achievements.

Custom medals aren't in TomYum-OSS yet (somtum.fun's TomYum has them).

TomYum is MIT licensed. Not affiliated with ppy Pty Ltd; osu! is a trademark of ppy Pty Ltd.