All Projects → heroiclabs → nakama-common

heroiclabs / nakama-common

Licence: Apache-2.0 license
The runtime framework for Nakama server.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to nakama-common

protobuf-d
Protocol Buffers Compiler Plugin and Support Library for D
Stars: ✭ 32 (+3.23%)
Mutual labels:  protocol-buffers, protobuf3
pronto
Clojure support for protocol buffers
Stars: ✭ 66 (+112.9%)
Mutual labels:  protocol-buffers, protobuf3
Protoc Jar Maven Plugin
Protocol Buffers protobuf maven plugin - based on protoc-jar multi-platform executable protoc JAR
Stars: ✭ 177 (+470.97%)
Mutual labels:  protocol-buffers
protobluff
A modular Protocol Buffers implementation for C
Stars: ✭ 66 (+112.9%)
Mutual labels:  protocol-buffers
Protoc Gen Lint
A plug-in for Google's Protocol Buffers (protobufs) compiler to lint .proto files for style violations.
Stars: ✭ 221 (+612.9%)
Mutual labels:  protocol-buffers
Go Grpc Examples
This repo contains examples and implementations of different types of GRPC services and APIs using Golang.
Stars: ✭ 180 (+480.65%)
Mutual labels:  protocol-buffers
unity-sampleproject
A sample game called Pirate Panic for Unity engine built with Nakama server.
Stars: ✭ 115 (+270.97%)
Mutual labels:  nakama
Buf
A new way of working with Protocol Buffers.
Stars: ✭ 3,328 (+10635.48%)
Mutual labels:  protocol-buffers
ccex-api
Cryptocurrency exchanges realtime api wrapper
Stars: ✭ 29 (-6.45%)
Mutual labels:  realtime-api
Mu Haskell
Mu (μ) is a purely functional framework for building micro services.
Stars: ✭ 215 (+593.55%)
Mutual labels:  protocol-buffers
j2cl-protobuf
Protocol Buffers implementation for J2CL
Stars: ✭ 23 (-25.81%)
Mutual labels:  protocol-buffers
Rules protobuf
Bazel rules for building protocol buffers and gRPC services (java, c++, go, ...)
Stars: ✭ 206 (+564.52%)
Mutual labels:  protocol-buffers
Node Protobuf
Google Protocol Buffers wrapper for Node.js [UNMAINTAINED]
Stars: ✭ 184 (+493.55%)
Mutual labels:  protocol-buffers
rules proto grpc
Bazel rules for building Protobuf and gRPC code and libraries from proto_library targets
Stars: ✭ 201 (+548.39%)
Mutual labels:  protocol-buffers
Protozero
Minimalist protocol buffer decoder and encoder in C++
Stars: ✭ 177 (+470.97%)
Mutual labels:  protocol-buffers
protocol-buffers
Haskell protocol-buffers package
Stars: ✭ 75 (+141.94%)
Mutual labels:  protocol-buffers
Evans
Evans: more expressive universal gRPC client
Stars: ✭ 2,710 (+8641.94%)
Mutual labels:  protocol-buffers
Nanopb
Protocol Buffers with small code size
Stars: ✭ 2,668 (+8506.45%)
Mutual labels:  protocol-buffers
Protoman
Postman for protobuf APIs
Stars: ✭ 241 (+677.42%)
Mutual labels:  protocol-buffers
parquet-flinktacular
How to use Parquet in Flink
Stars: ✭ 29 (-6.45%)
Mutual labels:  protocol-buffers

nakama-common

The runtime framework for Nakama server.

This codebase defines the runtime API and protocol interface used by Nakama.

The code is broken up into packages for different parts of the runtime framework:

  • api - The request/response messages used with GRPC and in some of the realtime API.
  • rtapi - The realtime messages sent and received over a socket connection.
  • runtime - The Go types and functional interface used by Nakama plugins to execute native logic. See the Nakama server documentation for more info.

Contribute

The codebase uses Protocol Buffers. The protoc toolchain is used to generate source files which are committed to the repository to simplify builds for contributors.

To build the codebase and generate all sources use these steps.

  1. Install the Go toolchain and protoc toolchain.

  2. Intall the protoc-gen-go plugin to generate Go code.

    go install "google.golang.org/protobuf/cmd/protoc-gen-go"
  3. Use the Go generate command to generate all Go stubs.

    env PATH="$HOME/go/bin:$PATH" go generate -x ./...

These steps have been tested with the Go 1.14 toolchain. Earlier Go toolchain versions may work though YMMV.

Using this Go package

To use the Go language with your Nakama server project you compile your code as a shared object. Use these basic steps to set up the Go project and consult the documentation for more information.

  1. Install the Go toolchain.

    NOTE: You must use the exact same version of the Go toolchain as the specific release the server was built with. Run the server with "--logger.level DEBUG" to see the version of the Go runtime used.

  2. Create a Go project.

    go mod init "myproject/server"
  3. Add this package as a dependency to the project and vendor it.

    go get -u "github.com/heroiclabs/nakama-common/runtime"
    go mod vendor
  4. Write your Go code and compile it as a Go plugin

    go build -buildmode=plugin -trimpath

Release Process

Make sure that the package.json version is in tandem with the go package releases.

License

This project is licensed under the Apache-2 License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].