Skip to main content
Coding Quests

Godot Multiplayer Starter

Most multiplayer tutorials stop once two windows can see each other. This starter carries on to the parts that break in a real game. The server decides where everyone is, your own player still moves the moment you press a key, and bad input gets rejected.

Free Godot 4.7 project · MIT licensed · v1.0.0

No account needed. Or download the v1.0.0 ZIP directly.

A host window and a client window side by side. Both players move in both windows, and a chat message and an emote arrive in both.

What is in it

  • Host, join or run a headless dedicated server, for up to 4 players over Godot's built-in ENet.
  • A ready-up lobby, timed rounds, and chat with emotes.
  • The server owns every player. Clients send their input, never their position.
  • Client-side prediction and reconciliation, so your own player responds instantly even with lag.
  • Other players are drawn 100 ms in the past, so they move smoothly between updates.
  • Every RPC (a function call sent over the network) checks who sent it before it runs.
  • Testing tools: a network inspector on F3, a lag dial on F4, and a bot that joins and walks around.

Quick start

Download the project from GitHub and unzip it. In the Godot Project Manager, click Import and pick the project.godot file inside the folder.

  1. In Godot, open Debug > Customize Run Instances, turn on Enable Multiple Instances and set the count to 2.
  2. Give instance 1 the arguments --host --name=Host and instance 2 --join=127.0.0.1 --name=Alex.
  3. Press F5. Two windows open, already connected.
  4. Click Toggle ready in both windows, then Start round in the host window.
  5. Move with WASD, sprint with Shift, and click the chat box to talk.

The README on GitHub explains how each part works and how to copy it into your own game.

Compatibility and limits

Made for
Godot 4.7, standard build. GDScript only, no .NET needed.
Tested on
Godot 4.7.2 stable, on Windows, with two local windows and a headless dedicated server. Earlier versions of Godot 4 are untested.
Renderer
Compatibility
Code license
MIT. You can use it in commercial games. Read the license
Art and fonts
None. Everything you see is drawn in code or uses Godot's built-in theme.
Release
v1.0.0, commit 68aee38, published 2026-10-03

Known limits

  • A starter, not anti-cheat. Traffic is not encrypted and chat has no rate limit.
  • Players join by IP address. There is no lobby browser, relay or NAT punch-through.
  • There is no host migration. If the host leaves, the session ends.
  • 2D and desktop only. There is no Steam, WebSocket or browser transport.

Learn to build it

Copying a system works until you need to change it. These quests build it with you, one small step at a time. You write the GDScript in your browser and each step is checked before you move on.

Two Windows Talking

Starts from zero: host a game, join it, and send your first RPC.

Free, 9 lessons

RPCs: Who Is Allowed To Say What

Who is allowed to call what: RPC authority and the different RPC modes.

Free, 8 lessons

Never Trust the Client

Builds this project's validation, so the server checks every request.

First 3 lessons free

Prediction and Reconciliation

Builds this project's prediction, reconciliation and interpolation.

First 3 lessons free

See all the free Godot projectsReport a problem with this project