# godotnet
A Go networking library for Godot 4. Write the client in Godot, run the server in Go.
- role
- solo
- stack
- GoGodot
- repo
- github.com/jordanstites/godotnet
## Why
Godot's built-in multiplayer is decent but it's kind of limited. It really only works well if your server is also Godot, and it's tied to the node system. I wanted to write the client in Godot but run a real Go server for the backend. Go is way better for backends. Concurrency, tooling, all that.
So I started this library to be the network layer between Godot clients and a Go server.
## What it does
It handles the boring network stuff so you can focus on the game. Sockets, reconnection, framing, sessions, dispatching messages to handlers, a tick loop, all that. It does not do game logic, that's up to you.
## The client
There's a companion plugin called godotnet-client. It's an autoload you drop into your Godot project and it handles the interface to the server. Makes the Godot side really simple.
## Status
v0.1.3 is out. Basic connection works and you can transport events between Godot and the server. Working on demos for the client right now. Plenty more to add, but the foundation is there.
## devlog(1 entry)
v0.1.3 and a companion client plugin
v0.1.3 of godotnet is out. Basic connection works and you can transport events between Godot and the server.
There's also a companion plugin now called godotnet-client. It's a Godot autoload you drop into your project to interface with the server. Makes the Godot side really simple.
Currently working on demos to show it in action.