# 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.

- Type: Case study
- Targets: Game · Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-27
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/fluofoxxo/outrun>
- Primary source: <https://github.com/fluofoxxo/outrun/blob/750d7b9729a199fcc46acd7e55dfad1ccddd5a8b/README.md>
- Catalog page: <https://awesomerea.org/resources/outrun-sonic-runners-server-case/>
- Record JSON: <https://awesomerea.org/resources/outrun-sonic-runners-server-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/outrun-sonic-runners-server-case/index.md)

## 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.

## Primary sources

1. <https://github.com/fluofoxxo/outrun/blob/750d7b9729a199fcc46acd7e55dfad1ccddd5a8b/README.md>
2. <https://github.com/fluofoxxo/outrun/blob/750d7b9729a199fcc46acd7e55dfad1ccddd5a8b/main1.go>
3. <https://github.com/fluofoxxo/outrun/blob/750d7b9729a199fcc46acd7e55dfad1ccddd5a8b/go.mod>
4. <https://github.com/fluofoxxo/outrun/tree/750d7b9729a199fcc46acd7e55dfad1ccddd5a8b/muxhandlers>
5. <https://github.com/fluofoxxo/outrun/tree/750d7b9729a199fcc46acd7e55dfad1ccddd5a8b/config>
6. <https://github.com/fluofoxxo/outrun/blob/750d7b9729a199fcc46acd7e55dfad1ccddd5a8b/LICENSE>
7. <https://github.com/fluofoxxo/outrun/releases/tag/v1.0.1>

## More in Games

- [Overwatch: mapping highlight-file metadata](https://awesomerea.org/resources/overwatch-highlights-case/index.md) · Case study
- [PANGYA Mobile: reconstructing the shutdown game service](https://awesomerea.org/resources/pangya-mobile-server-case/index.md) · Case study
- [Panzer Dragoon Saga: Saturn asset-format research and extraction tools](https://awesomerea.org/resources/pds-tools-case/index.md) · Case study
- [Perlica RS: reconstructing the Perlica game server](https://awesomerea.org/resources/perlica-rs/index.md) · Case study
- [Phantom Blade Zero: documenting the PBZS v3 save format](https://awesomerea.org/resources/phantom-blade-zero-save-format-case/index.md) · Case study
- [picowalker: recreating the Pokéwalker accessory](https://awesomerea.org/resources/picowalker-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
