Sparkle-server




Let’s draw the continuation of the story with you
Star-Api emulation server built with Love
Progress
- Account
- Create
- Login
- Login bonus
- Transfer
- Stamina
- Profile
- Achievement
- Support party
- Battle party
- Town party
- Import data
- Weapon
- Make
- Upgrade
- Evolution
- Receive
- Sale
- SkillUpPowder
- Character
- Upgrade
- Limitbreak
- Evolution
- SetView
- ResetView
- SetShown
- Ability board
- Room
- Sub room
- Buy/Sale/Set room objects
- Schedule (static)
- Content room
- Town
- Schedule (dynamic)
- Schedule (static)
- Friend
- Search
- Request
- Accept
- Reject
- Delete
- SupportList (dynamic)
- SupportList (static)
- Training
- Init
- Start
- Complete
- Cancel
- Mission
- Refresh
- Progress
- Complete
- Present
- Insert
- Receive (initial)
- Receive (basic)
- Received list
- Trade
- Monthly trade
- Event trade
- Gem trade
- Paid gem trade
- Item sale
- Gacha
- Tutorial gacha
- Selectable gacha
- Normal gacha
- Quest
- Core
- Start
- Save
- Complete
- Player Exp leveling
- Weapon Exp leveling
- Friendship Exp leveling
- Character Exp leveling
- Option
- Resume
- Retry
- Re-challenge
- Give-up
- List
- Part1 quests
- Part2 quests
- Author quests
- Daily quests
- Weekend quests (challenge quests)
- Event quests
- Memorial quests
- Crea quests
- Creamate community quests
- Event
- Trade event
- Box event
- Point event
- Map event
- System
- App version
- Information
- Event banner
- Notifications
Project goal
- Implement all endpoints of the game
- All endpoints must respond in 3 seconds.
Architecture
- Generator: openapi-generator-cli
- API framework: Golang net/http + mux.Router
- Architecture: Domain Driven Development
- Database: gorm(MariaDB / MySQL / SQLite)
- Logger: zap
- Observability: OpenTelemetry(Traces and logs) (Jaeger or Uptrace)
Requirements (Development)
- VSCode
- Golang 1.25.7
- Docker (Optional)
- Air (Optional)
Requirements (Production)
- MariaDB (or MySQL)
- Docker (Optional)
Running the server (Development)
To run the server, follow these simple steps:
cp .env_example cmd/main/.env
(Write your .env)
go run cmd/main/main.go
If you need hot-reload, follow these steps:
Install Docker-Desktop
Open repository folder in VSCode
Run "Remote-Containers: Reopen in Container"
Run "air"
Running the server (Production)
See docker-compose.yml, or download binary from release page.
Contributing
To contribute to the server, please follow these simple steps:
- Fork a code and make your repository.
- This project doesn't allow direct push currently.
- Read the docs at some folders, and read issues about what we needs next.
- This project uses DDD architecture, so you need to understand the how it works.
- Find the issue you want to do, and assign yourself.
- Please contact to ZYUBE first if you have time.
- It will helps to preventing file conflicts.
- Push your modified code to your private repository.
- Make a pull request to the original repository.
- Wait for the review and merge.
- After a approve, the code will be merged to the original repository.
Contributors
- Server development
- Data mining / Decryption
- Seed data provider
- 【krfnRΤΑ 走者】全手動 ANDR○ID 最高 B○T (左テンキー)
- Launcher development
- Tester & suggestion
- 炼铜魔导师
- fibachocolate
- AyayaRize
- smallwu
- ababababa_teaya
- BAW の 772
- HimahariNeru
- aditya putra
- Thanks for all contributors. It couldn't done without their a lot of hard works.
- (Of course, big thanks to original game developers!)
FAQ
- Q. So, how to run the game?
- A. You need the official assets before the service was shut down.
- Q. Where is database?
- A. Please make it yourself.
- Q. Can I donate to this project?
- A. ABSOLUTELY NO, NEVER. Please buy books or another game by the publishers. (Send me the screenshot if you like it)
References
- Analysis
- Fan wiki
- Other wiki
- Big thanks to these websites. It couldn't done without these infos.
- If you need to contact, please send to here.
License
AGPL-3.0 (See LICENSE)
Basically you can use for your own purpose, but you need to publish code if you serve with change.
This license is for preventing commercial use.
The "commercial" includes ads, donations, youtube monetization, etc.