Blog

Writing your first SDK module

JSJesse Schokker·July 8, 2026·8 min read
Writing your first SDK module

Every officially supported application in GameDash is itself an SDK module. That means anything the built-in modules can do, yours can too — from custom console commands to entirely new applications.

A service, in code

A module describes how to install, configure and control an application. Here is a graceful shutdown, warning players before the server stops:

MinecraftService.php
public function stop(): void {

    $Console = $this->Instance->getConsole();

    $Console->getIo()->getInput()->send('say Server will shut down in 5 seconds');
    $Console->getIo()->getInput()->send('save-all');

    sleep(5);

    $this->Instance->getProcess()->getChildProcesses()->getCurrent()->stop();

}

Kept compatible on purpose

The module system includes a compatibility layer, and a conformance test pins module registration across the catalog files so a module cannot be half-registered by a release. Install your own or community-made modules and update them from the web interface.

  • Customize every part of GameDash through code
  • Ship new applications without waiting on us
  • Share modules with the community on GitHub

The fastest way to learn the shape of a module is to read one: every application GameDash ships is built the same way yours will be.

Share this article

JS
Jesse SchokkerFounder & Engineer, GameDash

Building GameDash at Schokker IT — the game server control panel we always wished existed. Writes about infrastructure automation, the SDK and running game servers at scale.

Get early access

GameDash is not open for sign-ups yet. Leave your e-mail and we will tell you the moment it is. Your address is never shared with any 3rd parties and is used exclusively for GameDash news.