GDMC HTTP Interface

GDMC HTTP Interface

Minecraft Fabric/Forge Mod that implements an HTTP interface for reading and writing blocks (and more) with an external program or script.

by
1.3K Downloads
fabricforgeneoforgetechnologyutilityworldgen
Rent Server with this Mod

Screenshots

"Gaussianly Filtered" - GDMC 2025 competition winner
"JEB_GEN_" - GDMC 2023 competition winner
GDMC HTTP Interface logo

About this Mod

GDMC HTTP Interface Mod

Mod for Minecraft (Java Edition) that implements an HTTP interface for reading and writing blocks (and more).

With this interface you can use other applications and scripts running on the same machine to read and modify a Minecraft world.

This is designed as a tool for the Generative Design in Minecraft Competition (GDMC). This annual competition for procedural AI systems in Minecraft, where the challenge is to write an algorithm that generates a settlement while adapting to pre-existing terrain. Feel free to join our community Discord server!

Minecraft version GDMC-HTTP version Docs GDMC competition year
1.21.11 📦 GDMC-HTTP 1.8.4 📒 API Docs 2026
1.21.4 📦 GDMC-HTTP 1.6.0 📒 API Docs 2025
1.20.2 📦 GDMC-HTTP 1.6.0 📒 API Docs 2024
1.19.2 📦 GDMC-HTTP 1.6.0 📒 API Docs 2023
1.16.5 📦 GDMC-HTTP 0.4.2 📒 API Docs 2021, 2022

Usage

When you open a Minecraft world, you will see a chat message that the mod has opened an HTTP connection at the address localhost:9000. This means that you can now send HTTP requests from an external program to Minecraft while the world is open.

For testing and experimentation we recommend an API testing tool such as Kreya, Yaak, HTTPie or a command line tool such as cURL or wget.

When you want to build your own settlement generator or some other application, we recommend using the GDPC Python library, which is purpose-built by the GDMC community to work with this mod. But any programming or scripting language that supports communication over HTTP (which includes most of them, be it either built-in or via an easy-to-use library) will work.

HTTP Endpoints

When the HTTP interface is active, you have access to the following HTTP endpoints:

HTTP method URL Description Docs
POST /commands 📜 Send Minecraft console commands 📒 API Docs
GET /blocks 🧱 Get information on blocks in a given area 📒 API Docs
PUT /blocks 🧱 Place blocks 📒 API Docs
GET /biomes 🏜️ Get information on biomes in a given area 📒 API Docs
GET /chunks ⛏ Get raw chunk data in a given area 📒 API Docs
GET /structure 🏗️ Create an NBT structure file from a given area 📒 API Docs
POST /structure 🏗️ Place an NBT structure file into the world 📒 API Docs
GET /entities 🐷 Get information on entities in a given area 📒 API Docs
PUT /entities 🐷 Summon entities into the world 📒 API Docs
PATCH /entities 🐷 Edit entities that already exist in the world 📒 API Docs
DELETE /entities 🐷 Remove entities from the world 📒 API Docs
GET /players 👷 Get information on players in a given area 📒 API Docs
GET /buildarea 📐 Get information on the current build area 📒 API Docs
GET /heightmap 🗺️ Get heightmap information of the build area 📒 API Docs
OPTIONS / 🪪 Get current Minecraft and mod version 📒 API Docs

Detailed documentation of the endpoints can be found at docs/Endpoints.

Commands

This mod adds the following custom console commands to the game:

Command Description
/buildarea Get the current build area, if present. Some endpoints can use the withinBuildArea flag to constrain actions to this area.
/buildarea set <fromX> <fromY> <fromZ> <toX> <toY> <toZ> Set virtual "build area" to a certain area of the world. For the command arguments you can mix and match absolute, local or relative coordinates.
/buildarea set <fromX> <fromY> <fromZ> <toX> <toY> <toZ> <name> Set the current build area and store this data under <name> with the save data for later use.
/buildarea load <name> Load previously set build area.
/buildarea remove Remove current build area.
/buildarea remove <name> Remove build area of given <name>.
/buildarea tp Teleport to within current build area, if present.
/buildarea tp <name> Teleport to within previously saved build area.
/buildarea list List all saved build areas.
/buildarea makebook Give players a book that lists all saved build areas as links that when clicked teleport you to that location.
/buildarea makebook <author> Create book (see above), signed by <author>. If omitted author defaults to "GDMC".
/gethttpport Show current port number of the HTTP interface.
/sethttpport Reset port number of the HTTP interface back to the default 9000.
/sethttpport <number> Changes port number of the HTTP interface. Useful for when the default port (9000) conflicts with some other application on your machine. You need to reload your world for this setting to take effect.

Acknowledgements

GDMC-HTTP has been actively developed with the help of the GDMC community. Of special note here is Niki Gawlik, who created the original version of this mod for Minecraft 1.16.5. This repo is a continuation of their work. Fabric mod loader support was in part based on a fork by Simon Pribylski. The project structure that makes it possible to support multiple mod loaders and Minecraft versions all on the same branch has been adapted from the Distant Horizons mod.

Available Versions

GDMC HTTP Interface 1.8.4-1.21.11release
MC 1.21.11fabric, neoforge
May 29, 2026
GDMC HTTP Interface 1.8.3-1.21.11release
MC 1.21.11fabric, neoforge
March 8, 2026
GDMC HTTP Interface 1.8.2-1.21.11release
MC 1.21.11fabric, neoforge
February 27, 2026
GDMC HTTP Interface 1.8.1-1.21.11release
MC 1.21.11fabric, neoforge
February 6, 2026
GDMC HTTP Interface 1.8.0-1.21.11release
MC 1.21.11fabric, neoforge
January 23, 2026

How to Install GDMC HTTP Interface on Your Server

1

Order Server

Order a Minecraft Java server with at least 4 GB RAM (6 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.11).

3

Install Mod

Open the mod browser in the dashboard and search for "GDMC HTTP Interface". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabricforgeneoforge

Minecraft Versions

1.21.11, 1.21.10, 1.21.4 (+2 more)

Server-side

~ Optional

Recommended RAM

6 GB(min. 4 GB)

Frequently Asked Questions

GDMC HTTP Interface server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 4 GB RAM is allocated and the loader matches the mod version (1.21.11). You can switch loaders with one click in the panel.

Is GDMC HTTP Interface compatible with fabric and forge and neoforge?

GDMC HTTP Interface officially supports fabric, forge, neoforge for Minecraft 1.21.11, 1.21.10, 1.21.4. Note: Forge and Fabric mods are NOT cross-compatible – pick one loader and stick with it. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with GDMC HTTP Interface – how to optimize performance?

Recommended RAM: 6 GB (per 5 players). Use /spark profiler to check if GDMC HTTP Interface consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install GDMC HTTP Interface with just one click on your server.

Recommended RAM
6 GBab €12/mo
Min. 4 GB | +1 GB pro 5 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
MIT License
Server-side
Optional

Supported Versions

1.21.111.21.101.21.41.20.21.19.2