Repository navigation
Gamemaster Server
Apibalego needs an external web server to connect to. It reads data from a configurable endpoint on that server.
We made a simple web-UI to do that, Egobalego at home. You can also make your own if you have the knowhow.
Egobalego at Home is a ready-made gamemaster web app you can run locally. Download it from its releases page and run the start script. The first launch installs dependencies automatically and opens the console in your browser.
Configuration done in that console is what the mod reads. Refer to its own documentation for how to set up entries.
In general, the bare minimum is a web-server that can reply to GET requests for at least the Server API.
The requests are made via GET at the configured URL for each API part (for example for server: <dataSyncUrl>/<dataSyncEndpoint>, defaulting to <dataSyncUrl>/server_data).
If you want to support client, also add an endpoint for /client_data or whatever it has configured. If you want live sync support, you should use Socket.io. It's faster to point at Egobalego at Home for an example, check how it does it.
Example of a server API response:
[
{
"id": "command-16",
"type": "apibalego:command",
"active": true,
"details": {
"command": "execute as @a at @s run playsound minecraft:ambient.cave",
"x": 0,
"y": 0,
"z": 0
}
},
{
"id": "structure-17",
"type": "apibalego:structure",
"active": false,
"details": {
"structureId": "minecraft:igloo",
"startPos": {
"x": 50,
"y": 0,
"z": 0
},
"rotation": "COUNTERCLOCKWISE_90"
}
},
{
"id": "communication-19",
"type": "apibalego:toast",
"active": true,
"details": {
"title": "Notifica spoooky2234",
"item": "minecraft:ender_eye",
"message": "Spooooooky"
}
},
{
"id": "communication-18",
"type": "apibalego:toast",
"active": true,
"details": {
"title": "No item notification",
"message": "This notification has no item"
}
},
{
"id": "datapack-21",
"type": "apibalego:datapack",
"active": false,
"details": {
"downloadUrl": "http://localhost:8000/coordinates%20hud%20v1.2.18%20%28MC%2026.2%29.zip",
"version": ""
}
}
]For details on the various API formats, check the respective API pages: