Skip to content

Repository files navigation

gamemaker-server

Multi-threaded TCP game server for GameMaker:Studio (or any game engine).

Requirements

  • Python 3.8+

Running the Server

Install dependencies:

uv sync

Start the server:

python -m gamemaker_server

Configuration

Configure the server using environment variables:

VariableDescriptionDefault
GAMEMAKER_PORTServer port64198
GAMEMAKER_MAX_CLIENTSMaximum client connections32

Example:

GAMEMAKER_PORT=8080 GAMEMAKER_MAX_CLIENTS=64 python -m gamemaker_server

Protocol

This server uses a raw binary protocol. GameMaker clients must use the raw networking functions:

  • network_send_raw() - Send data without GameMaker headers
  • network_send_udp_raw() - Send UDP data without headers

Standard network_send_packet() adds GameMaker-specific headers that this server does not parse.

Message Format

Messages use a simple 1-byte event ID prefix:

Event IDNameDescription
0PINGEcho request (server echoes back)
1HANDSHAKEConnection establishment
2DISCONNECTClean disconnection

About

Server for GameMaker:Studio written in Python

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages