Skip to content
Gothic MultiplayerMultiplayer

Modding

Create your own server

Your Colony, your rules. Gothic MP servers are scripted in Lua - from quests and events to a custom economy - and the full scripting API lives on our wiki.

Scripting

All the logic in Lua

A simple language with serious power. You write plain .lua files and the server loads them on startup - no compilation, no toolchain. A text editor is all you need.

  • The full scripting API documented on our wiki
  • Hot-reload - script changes without a server restart
  • Events, commands, quests, NPCs and a custom economy
  • Starter scripts included in the server package
scripts/main.lua
-- scripts/main.lua
local gmp = require("gmp")

gmp.on("playerJoin", function(player)
  gmp.chat.broadcast(player:getName() .. " entered the Colony")
  player:teleport(gmp.spawn.OLD_CAMP)
end)

gmp.command.register("ore", function(player)
  player:giveItem("ItMi_Nugget", 10)
  player:message("The Ore Barons are watching...")
end)

From zero to your own Colony

Four steps stand between you and a server other players will join.

01

Get the server package

Server binary, sample configuration and starter scripts in one archive.

02

Script your world

Open the scripts/ folder and write Lua. The API docs on the wiki walk you through it.

03

Deploy to a VPS

Rent a cheap VPS, upload the package and open a port - it starts with one command.

04

Get on the list

Enable announcing in the config and the server reports itself to the public list.

Deploying to a VPS

  1. 01Rent a Linux VPS - 2 vCPU and 4 GB RAM are plenty to start
  2. 02Upload the server package (e.g. via SFTP) and unpack it
  3. 03Open port 28770 (TCP/UDP) in the firewall
  4. 04Fill in config.lua: name, mode, slots, language
  5. 05Start ./gmp-server and keep it running (systemd or screen)

Showing up on the server list

  • Set announce = true in config.lua
  • The server reports to the master server every few minutes
  • Name, mode, language and player count appear on the list automatically
  • During the alpha, also submit your server on Discord to get a verified badge

Do Lua scripts need to be compiled?

No. Lua is an interpreted language - the server reads .lua files directly on startup and swaps them live (hot-reload). You don't need a compiler or any toolchain; any text editor will do.