Skip to content

ferdoran/go-sro

Repository files navigation

go-sro

A custom server/backend implementation of the game Silkroad Online written in Go.

GitHub go.mod Go version Lines of code GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status

Architecture

architecture diagram

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published