GameMaker Multiplayer Server: Beginner’s Guide
Building a GameMaker multiplayer game? Learn how rooms, servers and player synchronisation fit together, and how GMDB can reduce the server work.
Get started freeRead GMDB documentationWhat is a multiplayer server?
A multiplayer server receives player messages, manages connections and distributes updates to the right players. For example, when player one moves, the server can relay their updated position to player two.
Turn-based versus real-time multiplayer
- Turn-based: players submit moves in sequence, useful for board games, card games and strategy titles.
- Real-time: players exchange frequent updates, useful for co-op, racing and action games.
How GMDB real-time multiplayer works
GMDB uses a hosted Node.js multiplayer service with secure server connections and a GameMaker integration layer. The initial integration is aimed at Windows GameMaker projects.
Step 1: Configure your project
Create a GMDB project and configure multiplayer options such as player limits and private rooms in the dashboard.
Step 2: Authenticate and connect
Use the GMDB multiplayer SDK and its current setup guide to obtain a player or guest token, connect to the multiplayer service and join a room. The SDK handles the required connection protocol; a plain HTTP request is not a substitute for the real-time connection.
Step 3: Send player updates
When your local player moves, prepare a small message containing the information other players need. The following is a sample payload format, not a documented GMDB SDK call:
var _update = {
type: "player_move",
x: x,
y: y
};
var _message = json_stringify(_update);
// Send using the current GMDB multiplayer SDK method.Step 4: Update remote players
When the SDK receives a room message, identify the sending player and update that player's remote object. Do not create a new remote object on every position message; maintain a mapping from player IDs to object instances.
Step 5: Test with two Windows clients
Run two game instances, connect both to the same room and verify that movement is visible on both screens. Test disconnections, reconnects and players joining late.
Common multiplayer issues
- Players cannot see each other: verify that both joined the same room.
- Authentication failed: check project IDs and token expiry.
- Movement stutters: avoid sending unnecessary updates and consider interpolation for remote players.
Build it faster with GMDB
GMDB provides hosted online services for GameMaker projects. Create a free account, configure your project, and follow the service documentation to connect your game.
Open GMDB dashboard