# Go Client Library/Package

**URL:** <https://forum.heroiclabs.com/t/go-client-library-package/3409>\
**Category:** Showcase\
**Tags:** golang\
**Created:** [January 11, 2023, 9:21pm UTC](https://forum.heroiclabs.com/t/go-client-library-package/3409 "2023-01-11T21:21:08Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tomasz](https://avatars.discourse-cdn.com/v4/letter/t/dbc845/32.png) [@tomasz](https://forum.heroiclabs.com/u/tomasz)\
**Post date:** [January 11, 2023, 9:21pm UTC](https://forum.heroiclabs.com/t/go-client-library-package/3409/1 "2023-01-11T21:21:09Z")

</div>

Hi, we’ve made available a Go client for Nakama, which includes realtime websocket functionality. We’ve been working on it for the last couple of months, along with a testing package for Nakama that we’re using for building a commercial game with a Nakama backend. The Go client library is available here: [GitHub - ascii8/nakama-go: Nakama web and realtime client for Go (works with WASM)](https://github.com/ascii8/nakama-go) and the testing package for Nakama server is available here: [GitHub - ascii8/nktest: Nakama test runner for Go](https://github.com/ascii8/nktest)

The Go client can be used in EbitEngine / other Go based game engines, and can compile to/be used with WASM without issues. We’ve been spending our energy on building our game, but will likely release a full Go version of the xoxo example game module to show how the client can be used in a fully Go based game. Documentation is a bit light at the moment, but if you’re familiar with how the client works in other languages, it should be fairly straight forward.

We’ve put a lot of work into this, and believe it’s ready for testing purposes, as we’re using it ourselves to do end-to-end testing of complex RPCs/game logic in a fully Go oriented way. Input from third-parties would be appreciated, thanks.

---

<div class="post-metadata">

**Author:** ![tomasz](https://avatars.discourse-cdn.com/v4/letter/t/dbc845/32.png) [@tomasz](https://forum.heroiclabs.com/u/tomasz)\
**Post date:** [January 16, 2023, 9:19am UTC](https://forum.heroiclabs.com/t/go-client-library-package/3409/2 "2023-01-16T09:19:07Z")

</div>

I pushed a Go version of the Tic-Tac-Toe (xoxo) example, here: [GitHub - ascii8/xoxo-go: Nakama xoxo game module in Go](https://github.com/ascii8/xoxo-go) – it has end-to-end unit tests written in Go, and a simple command client. The game module works with the Defold client. I will be committing a Ebitengine client that works similarly to the Defold client very soon™️.

---

<div class="post-metadata">

**Author:** ![mofirouz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/mofirouz/32/1523_2.png) [@mofirouz](https://forum.heroiclabs.com/u/mofirouz)\
**Post date:** [January 16, 2023, 8:00pm UTC](https://forum.heroiclabs.com/t/go-client-library-package/3409/3 "2023-01-16T20:00:05Z")

</div>

This is wonderful work @tomasz - well done sir. I’m sure this will be used by the community at large. @gabriel do you think we can make this a sticky in the Show Off section?

---

<div class="post-metadata">

**Author:** ![gabriel](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/gabriel/32/644_2.png) [@gabriel](https://forum.heroiclabs.com/u/gabriel)\
**Post date:** [January 17, 2023, 9:33am UTC](https://forum.heroiclabs.com/t/go-client-library-package/3409/4 "2023-01-17T09:33:13Z")

</div>



---

<div class="post-metadata">

**Author:** ![tomasz](https://avatars.discourse-cdn.com/v4/letter/t/dbc845/32.png) [@tomasz](https://forum.heroiclabs.com/u/tomasz)\
**Post date:** [February 2, 2023, 5:57am UTC](https://forum.heroiclabs.com/t/go-client-library-package/3409/5 "2023-02-02T05:57:24Z")

</div>

I added a quick Fyne UI and Gio UI client to the `xoxo-go` example. the Ebitengine client is not yet finished, but the bulk of the setup for Ebitengine to use the client is also available there.
