Compatibility
Minecraft: Java Edition
1.21.10–1.21.11
1.21.8
Platforms
Supported environments
Creators
Details
Licensed MIT
Published last month
Updated last month
TangoWebAPI
A single shared webserver mod for Fabric/NeoForge that removes boilerplate for other mods. TangoWebAPI provides one embedded HTTP server that mods can use to expose their own endpoints or static assets.
Features
- Shared HTTP server (Java HTTP) for all mods, start/stop in common code.
- Simple API for routes:
get/post/registerRoutewith mod namespace (/modid/...). - Static file serving per mod (
serveStaticwith safe path handling). - Built-in health/info/route listing:
/tango-webapi/health,/tango-webapi/info,/tango-webapi/routes. - Configuration via file (
config/tango-webapi.properties) or env/system props. - Error pages (404/405/503) with simple HTML templates.
Configuration
File: config/tango-webapi.properties
host=0.0.0.0
port=8080
maxRequestBytes=1000000
Or via env/system properties:
TANGO_WEBAPI_HOST/tango.webapi.hostTANGO_WEBAPI_PORT/tango.webapi.portTANGO_WEBAPI_MAX_BYTES/tango.webapi.max_bytes
API for other mods (examples)
// Simple text route at /mymod/ping
TangoWebAPI.get("mymod", "/ping", ctx -> ctx.sendText(200, "pong"));
// JSON response
TangoWebAPI.post("mymod", "/data", ctx -> ctx.sendJson(200, "{\"ok\":true}"));
// Static assets from config/mymod/static under /mymod/static/**
TangoWebAPI.serveStatic("mymod", "static", Path.of("config", "mymod", "static"));
Built-in endpoints
GET /tango-webapi/health– statusGET /tango-webapi/info– host/port/max-bytesGET /tango-webapi/routes– all registered routes incl. prefix routes
Testing
- After game start:
http://localhost:8080/tango-webapi/health/info/routes - Register your own route and hit it via browser/curl.
- Serve a static page under your mod path and verify it loads.



