Star on GitHubStar2.4k stars

Case study

outrun: a Sonic Runners custom server

Reimplements the game server for the Sonic Runners mobile game as a Go service, so Android and iOS clients redirected to it can log in, play Timed and Story modes and use the shop, roulettes, character and Chao progression, events, notices and basic rankings. The README says it was reverse engineered from the Sonic Runners Revival server, on whose code it bases much of its own; it serves about 40 HTTP endpoints of the client's API, decrypts and encrypts AES-CBC request payloads and keeps player state in a bbolt database.

Targets
Game · Protocol
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Evidence class
C1 partial scope or analysis entry
Stars
101
Last commit
2023-12-31
Language
Go
License (GitHub)
GPL-3.0

GitHub data as of 2026-11-10

Copy as MarkdownView JSONCite

Evidence

Demo available · no screenshot

Observed
Demo documented; the documentation covers part of the feature set.
Scope
Partial
Checked
2026-11-09

How evidence classes are assigned

Requirements & limits

  • Release v1.0.1 provides Windows, macOS and Linux server builds for amd64 and arm64. The README aims to cover every non-debug endpoint; no tests are listed.
  • Builds with Go. go.mod declares Go 1.17, while the README build steps use Go 1.15.8 and warn that Go 1.16+ breaks some RPC programs. Configuration uses config.json and optional event, info and game files; the default client port is 9001.
  • Play needs the user’s Sonic Runners client. The README targets the v2.0.3 Android APK, modified to connect to the server. The repository contains no client or game assets.
  • The README credits contributors for the client-traffic AES key, traffic logs and story-mode data.
  • Server code is GPL-3.0; the game, client, assets and trademarks retain their own rights.

Cite

BibTeX

@misc{outrun-sonic-runners-server-case,
  title = {{outrun: a Sonic Runners custom server}},
  howpublished = {\url{https://github.com/fluofoxxo/outrun}},
  url = {https://github.com/fluofoxxo/outrun},
  urldate = {2026-10-27},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/outrun-sonic-runners-server-case/}}
}

Plain text

outrun: a Sonic Runners custom server. https://github.com/fluofoxxo/outrun (accessed 2026-10-27). Awesome REA entry: https://awesomerea.org/resources/outrun-sonic-runners-server-case/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · fluofoxxo/outrun · Revision 750d7b9
  2. main1.go GitHub · fluofoxxo/outrun · Revision 750d7b9
  3. go.mod GitHub · fluofoxxo/outrun · Revision 750d7b9
  4. muxhandlers GitHub · fluofoxxo/outrun · Revision 750d7b9
  5. config GitHub · fluofoxxo/outrun · Revision 750d7b9
  6. LICENSE GitHub · fluofoxxo/outrun · Revision 750d7b9
  7. https://github.com/fluofoxxo/outrun/releases/tag/v1.0.1

More in Games

All 2976 entries in GamesGames case studies (2832)

↑↓ move↵ open⌘↵ new tab