repository
0.0.0-20241026111126-617c6ab52c1e
Repository: https://github.com/emptii/go-sro.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
# README
go-sro
A custom server/backend implementation of the game Silkroad Online written in Go.
Architecture
The backend architecture consists of several components that may interact with each other. There are the 3 front-/client-facing servers (Gateway Server, Agent Server and Download / Patch Server) and 3 backend servers (multiple Game Servers, Shard Server, Chat Server).
All of them handle different kind of aspects to the game:
- Download/Patch Server: Provide updates and patches to the clients.
- Gateway Server: Perform authentication and transfer to the specific realm or shard.
- Agent Server: Proxy server for the client through which all network traffic is sent. Takes care routing network traffic to the correct servers.
- Game Server: Handles core game logic (navigation, AI, combat, ...) and game objects (players, pets, NPCs, ...). Usually there are multiple game servers, each handling a different region of the overall map
- Shard Server: Handles all region-independent logic (guild, party, market, events, ...)
- Chat Server: Handles overall chat messages (except local/region chat). Could also be handled by Shard Server