this is the client side of zigcho. it lives here now instead of being buried under the server repo.
i keep one reviewable patch against an exact official osu! commit instead of dumping their entire source tree into ours. the upstream pin is in upstream-commit.txt; apply-endpoints.sh and apply-endpoints.ps1 refuse to touch a different checkout.
- gives the client its own name, storage directory, application ids and IPC identity
- points account, API, chat, multiplayer, spectator, BSS, wiki, news and media requests at the right
kai.ovhservices - keeps the official updater away from the portable zigcho build
- adds the response and profile work needed for scores, leaderboards, medals, maps, replays, rooms and ranked play
- keeps production endpoints HTTPS-only while leaving one explicit loopback Debug lane
the server contract still lives in zigcho/zigcho. changing a client model here does not magically make the server route correct, and a route returning 200 does not prove the client accepted or rendered it.
- GitHub checks out this repo and the exact
ppy/osucommit beside it. - the patch is checked before it is applied. a stale or half-applied patch stops the run.
- the focused upstream client tests exercise the Zigcho-specific screens and response models.
- Windows, macOS, Linux, Android and iOS build on their own hosted runners.
- every package records the client commit and upstream osu! commit, then gets a SHA-256 sidecar and format checks before it can become a release.
release builds happen on GitHub runners, not on somebody's laptop.
gh workflow run lazer-clients.ymlthe workflow applies the patch from a clean checkout, runs the focused client tests once, then builds and verifies:
- Windows x64
- macOS arm64
- Linux x64
- Android arm64
- iOS arm64
every artifact has a SHA-256 sidecar. desktop builds are portable folders with no installer or updater. the Android APK uses runner signing; the iOS IPA is intentionally unsigned and needs signing when it is installed.
run-local-debug.sh is only for the loopback QA lane. production builds always use HTTPS on the normal kai.ovh hosts.
zigcho-client.patchis the complete client deltaupstream-commit.txtpins the only accepted osu! source revisionclient-version.txtis the portable build versionapply-endpoints.*owns safe patch applicationpackage-*andverify-*own release layout, metadata and checksums.github/workflows/builds and publishes the packages
Zigcho's work in this repo uses the Zigcho Public Use License. public use, modification and free redistribution are allowed with credit and a link back. do not sell it, charge for access or pretend the work is entirely yours.
the official osu! code remains Copyright ppy Pty Ltd under its MIT licence. that licence covers code, not the osu!/ppy names or game resources. the exact boundary is in THIRD_PARTY_NOTICES.md.