Skip to content

danie1Lin/Distributed-Golang-Game-Server

 
 

Repository files navigation

Tank Game Server

The client is made with unity. Here is the github. https://github.com/daniel840829/Tank-Online

How to Use :

client endpoint:

download client codeHere

server endpoint

physic package is base on https://github.com/ianremmler/ode Open Dynamic Engine
use some struct to wrap ianremmler's ode golang library
Please read his repository to build ODE's share library
But I made some change in order to let the collide callback to deal with geom is space please install https://github.com/daniel840829/ode

The file structure:

  1. entity
    1. GameManager
    2. Entity
    3. Room
  2. hmap
  3. msg
    - use protobuf to define package and rpc interface
  4. physic
    this package is base on https://github.com/ianremmler/ode Open Dynamic Engine
    use some struct to wrap ianremmler's ode golang library
    Please read his repository to build ODE's share library
    • World
    • Obj
    • ObjData
  5. rpctest
  6. service
    implemente gRPC's Service defined in msg package to communicate with client
    I divide the message into five parts
    • Error
    • Sync Postion
    • CallMathod
    • Regist
    • Login
    use Game Manager to select three parts of these
    • Error
    • Sync Postion
    • CallMathod
  7. uuid
    generate different IDs of objects that can be call with reflection
  8. user
    • UserManager
    • User
    • TODO: There should be a session manager to cache user infomation and state
    • storage
      Use mogdb to storage user infomation
    • timeCalibrate
    • util
      some tools
    • data
      use to load some model data e.g. character or map

Releases

No releases published

Packages

No packages published

Languages