An agent server implementation of the game Silkroad Online ,
based on go-sro-framework
and go-sro-fileutils,
written in Golang. Also raylib-go
is being used for the navmesh viewer in cmd/navmesh-viewer/
It was developed using vSRO 1.88 files. Using different versions might result in errors and bugs.
Environment variable values are prioritized over config file values
Configuration can be done by config file or env variables. There is some default configuration which you can check here:
- Character Lobby
- Character Creation
- Character Deletion
- Joining Game
- Movement
- Currently, just click-walking is possible
- Terrain collision detection working
- Object collision detection working (almost perfect)
- Spawn System
- Automatic spawning of objects/players/monsters/NPCs in range
- Automatic despawning of objects/players/monsters/NPCs out of range
- Position updates of objects/players/monsters/NPCs
- Chat
- Custom Chat Commands (Currently just for accounts with GM status)
- All Chat
- Party Chat
- Notices
- Whisper
- Party
- Party invitation
- Party matching system registration
- Party matching system application (join request)
- Party matching system application handling
- Inventory
- Equipping items
- Unequipping items
- Moving items in inventory
- Stall
- Stall creation
- Stall item registration
- Stall item deletion
- Stall name changing
- Stall chat
As the development was not a single person's effort, I want to thank DaxterSoul for sharing his wide knowledge on the game and its peculiarities.
Without his packet and file structure documentation this would not have been possible.
As this is just a framework, there are also projects taking this framework into use:
If you want to engage in the development, you are free to so. Simply fork this project and submit your changes via Pull Requests.
There is some documentation around the game located under docs
,
however it does not give any guideline.
It is more like a collection of information I gathered over time.
Some of it may still be in German, so take my apologies here for not translating them yet.
Providing a usable documentation is still a big item on my TODO list for this project. Any help on this is highly appreciated.
If you have any more questions, feel free to contact me.
go-sro-agent-server is licensed under the DON'T BE A DICK PUBLIC LICENSE. See LICENSE for the full license text