Server-side Luanti mod that enforces allowed Eclipse client builds and modules. It verifies joining Eclipse users against the TeamAcedia backend, shares server restrictions with the client via mod channels, and optionally kicks users running unofficial builds.
- Fetches latest Eclipse client build string from a backend and compares it against joining Eclipse users.
- Logs players using modified or outdated Eclipse clients; optionally kicks unofficial builds.
- Allows servers to block specific modules from being used by Eclipse users when on their server.
- Minetest/luanti server with HTTP API enabled.
eclipse_coremust be added tosecure.http_modsso HTTP requests are allowed.- Mod channels must be enabled (
enable_mod_channels = true). The mod will set this and request a restart if disabled.
- Copy the
EclipseCorefolder into your server'smods/directory. - Ensure the mod name is
eclipse_core(matchesmod.conf). - Add to
world.mt:load_mod_eclipse_core = true. - Allow HTTP: in
minetest.conf, setsecure.http_mods = eclipse_core(append if you already have others).
All settings are defined in settingtypes.txt and can be set in minetest.conf or via the in-game settings UI.
| Setting | Type | Default | Purpose |
|---|---|---|---|
eclipse_core_backend_url |
string | http://teamacedia.baselinux.net:22222 |
Backend base URL for validation and build info. |
eclipse_core_blocked_setting_ids |
string | none |
Comma-separated client setting IDs to disable on Eclipse clients. Sent via mod channel. |
eclipse_core_require_official_build |
bool | false |
If true, kicks players not on an official Eclipse build. |
eclipse_core_log_incorrect_clients |
bool | true |
Log joins from modified or outdated clients. |
eclipse_core_kick_message |
string | You must use an official build of Eclipse client to join this server. |
Message shown when kicking unofficial builds. |
- On load, the mod joins
ECLIPSE_COMMS_CHANNELand exposes restrictions via mod channel messages. - It attempts to detect the server's public IP via
https://api.ipify.org. - It fetches the latest official build string from
${eclipse_core_backend_url}/api/latest_build. - When a player joins, the mod posts to
${eclipse_core_backend_url}/api/server/get_player_infowith server address, port, and username. - Based on the response:
- Logs warnings if modified or outdated builds are detected.
- Kicks if
eclipse_core_require_official_buildis enabled and the client is unofficial.
- Incoming
TOSERVER_INIT→ respondTOCLIENT_ACK. - Incoming
TOSERVER_REQUEST_RESTRICTIONS→ respondTOCLIENT_RESTRICTIONS:<blocked_setting_ids>.
- If HTTP API is unavailable, the mod logs an error and disables enforcement.
- Ensure firewall allows outbound HTTP/HTTPS to the backend URL.
server_addressfalls back to0.0.0.0if public IP detection fails.
- HTTP API not available: add
eclipse_coretosecure.http_modsand restart. - Mod channels disabled: the mod will enable them and request a restart; ensure the server restarts cleanly.
- No build info: check connectivity to
eclipse_core_backend_urland that the endpoint returns HTTP 200.
EclipseCore Copyright (C) 2025 ProunceDev MIT License
See LICENSE in this directory.