All Projects → fluofoxxo → outrun

fluofoxxo / outrun

Licence: GPL-3.0 license
A Sonic Runners custom server.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to outrun

Sonic-1-2-2013-Decompilation
Sonic 1/2 (2013) Decompilation for New 3DS
Stars: ✭ 41 (-39.71%)
Mutual labels:  sonic
pitaya-notes
Scalable game server framework with clustering support, code notes. pitaya游戏服务器代码注释
Stars: ✭ 99 (+45.59%)
Mutual labels:  golang-server
poly-commit
A Rust library for polynomial commitments
Stars: ✭ 170 (+150%)
Mutual labels:  sonic
wi
Installer for Python Wheels
Stars: ✭ 17 (-75%)
Mutual labels:  sonic
dellemc.enterprise sonic
Ansible Network Collection for Enterprise SONiC Distribution by Dell Technologies
Stars: ✭ 26 (-61.76%)
Mutual labels:  sonic
HedgeLib
A C++ library and collection of tools that aims to make modding games in the Sonic the Hedgehog franchise easier.
Stars: ✭ 63 (-7.35%)
Mutual labels:  sonic
XinFramework
Android 快速开发框架 总结以往开发结合三方项目 不断更新
Stars: ✭ 21 (-69.12%)
Mutual labels:  sonic
retro-contest-sonic
World Models applied to the Open AI Sonic Retro Contest
Stars: ✭ 74 (+8.82%)
Mutual labels:  sonic
laravel-scout-sonic
Sonic driver for Laravel Scout
Stars: ✭ 47 (-30.88%)
Mutual labels:  sonic
psonic
Sonic is a super fast auto suggestion engine built by the team at crisp.chat, a customer engagement platform. its built in Rust and they officially support a javascript client, but if you want to use sonic via php, this is the library that you can look for. Completely unit tested, and adheres to modern coding standards, and offers a clean api to…
Stars: ✭ 90 (+32.35%)
Mutual labels:  sonic
python-sonic-client
sonic search backend client in python
Stars: ✭ 45 (-33.82%)
Mutual labels:  sonic
sonic-gms2
A GameMaker Studio 2 template project used for constructing games based on the Sonic the Hedgehog series.
Stars: ✭ 18 (-73.53%)
Mutual labels:  sonic
sonix
An Elixir client for Sonic Search
Stars: ✭ 56 (-17.65%)
Mutual labels:  sonic
gotor
This program provides efficient web scraping services for Tor and non-Tor sites. The program has both a CLI and REST API.
Stars: ✭ 97 (+42.65%)
Mutual labels:  golang-server
goframe
a light go web framework
Stars: ✭ 51 (-25%)
Mutual labels:  golang-server

outrun

Summary

Outrun is a custom server for Sonic Runners, reverse engineered from the Sonic Runners Revival (Now uses Outrun) project.

Goals

  • Implement all non debug endpoints as fulfilled by the original server
  • Maintain speed throughout runtime
  • Consume little resources for conservative deployment

Current functionality

Notable:

  • Timed Mode
  • Story Mode
  • Ring/Red Star Ring keeping
  • Functional shop
  • Character/Chao equipping
  • Character leveling and progression
  • Item/Chao roulette functionality
  • Events
  • Basic ranking

Functional:

  • Android and iOS support
  • High score keeping
  • In game notices
  • Deep configuration options
  • Powerful RPC control functions
  • Ticker notices
  • Small database size and memory footprint
  • Low CPU usage
  • Analytics support

Building

  1. Download and install Go 1.15.8 (NOTE: Go 1.16+ currently break the ability to build some or all of Outrun, such as RPC programs. A fix should hopefully be coming soon!)
  2. Download and install Git (for go get)
  3. Set your GOPATH environment variable
  4. Open a terminal/command prompt
  5. Use cd (Windows, Linux/macOS) to navigate to a directory of choice
  6. Run go get github.com/fluofoxxo/outrun and wait until the command line returns
  7. Run go build github.com/fluofoxxo/outrun and wait until the build is complete
  8. Run the produced executable (outrun.exe on Windows, outrun on Linux/macOS)

Binary releases can be found in the releases tab.

Modifying an APK to connect to your instance (from Windows)

  1. Install dnSpy (dnSpy-netcore-win64.zip)
  2. Install 7-Zip
  3. Install ZipSigner on an Android device or emulator
  4. Open a Sonic Runners v2.0.3 APK file with 7-Zip
  5. Navigate to assets/bin/Data/Managed and extract all the DLL files to their own folder
  6. Open Assembly-CSharp.dll in dnSpy
  7. Open the class NetBaseUtil, and find the variable mActionServerUrlTable
  8. Edit every string in the mActionServerUrlTable array to http://<IP>:<PORT>/ where <IP> is replaced by the IP for your instance and <PORT> is replaced by the port for your instance (Default: 9001)
  9. Repeat step 7 for mSecureActionServerUrlTable
  10. If you have an assets server, use its IP and port to replace the values in mAssetURLTable and mInformationURLTable to http://<IP>:<PORT>/assets/ and http://<IP>:<PORT>/information/ respectively
  11. Click File -> Save Module... and save the DLL file
  12. Drag the newly saved Assembly-CSharp.dll back into assets/bin/Data/Managed in 7-Zip, confirming to overwrite if asked
  13. Transfer the APK to an Android device and use ZipSigner to sign it
  14. Install the APK

Misc.

Any pull requests deemed code improvements are strongly encouraged. Refactors may be merged into a different branch.

Palmbound (Public Development Server)

As of 1 September, 2019, an instance of this server named Palmbound is currently publicly accessible. App file downloads can be acquired by joining the Palmbound Download Discord server: https://discord.gg/eeQAe8R

Credits

Much thanks to:

  • YPwn, whose closest point of online social contact I do not know, for creating and running the Sonic Runners Revival server upon which this project bases much of its code upon.
  • @Sazpaimon for finding the encryption key I so desparately looked for but could not on my own.
  • nacabaro (nacabaro#2138 on Discord) for traffic logging and the discovery of DaGuAr's asset archive.

Additional assistance

  • Story Mode items
    • lukaafx (Discord @Kalu04#3243)
    • TemmieFlakes
    • SuperSonic893YT
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].