{"repo":"metagogs/gogs","free":true,"listed":false,"github":"https://github.com/metagogs/gogs","clone":"git clone https://github.com/metagogs/gogs.git","description":"gogs is a simple, fast and lightweight game server framework written in golang","language":"Go","stars":62,"topics":["datachannel","gameserver","go","protobuf","webrtc","websocket","android","game","game-framework","ios"],"license":"Apache-2.0","category":"game-templates","readme_excerpt":"gogs: Golang Game Server Framework gogs is a simple, fast and lightweight game server framework written in golang. It is designed to be easy to use and easy to extend. It will generate logic code from protobuf files, and you can use it to develop your game server. It's also a good starting point for you to learn golang. It supports websocket and webrtc datachannel. Untiy Meta City Demo Online --- TODO - [ ] Support metrics - [x] Support generate Unity C# SDK - [ ] Support generate JS SDK - [ ] Support generate Golang SDK - [ ] Support Remote call - [ ] Support tracing - [x] Support gogs generate docker file - [x] Support gogs generate k8s yaml - [ ] Support custom game packet protocol - [ ] Support kubegame controller, create game pod with api - [ ] Add more examples - [ ] Add more tests - [ ] Add more documentation - [ ] Test coverage reaches 80% - [ ] k8s friendly, hot reload? Getting Started Prerequisites Go = 1.21 Protobuf Init your project install the gogs init project edit your proto, add the game message, then generate the code run your game server Generated Project Generated Unity C# Code this will generate a unity code, you can use it to test your game server. And you need use the Unity Protobuf to run the code. Deployment How to encode/decode the message Packet Protocol gogs uses 8 bytes as the protocol header protocol header = flag + version + action index + message data length What is the action index action index = packetType + component index + action index like","default_branch":null,"files":null,"tree":[],"storefront":"/r/metagogs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/metagogs/gogs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}