Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

TeamAcedia/EclipseCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eclipse Core

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.

Features

  • 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.

Requirements

  • Minetest/luanti server with HTTP API enabled.
  • eclipse_core must be added to secure.http_mods so HTTP requests are allowed.
  • Mod channels must be enabled (enable_mod_channels = true). The mod will set this and request a restart if disabled.

Installation

  1. Copy the EclipseCore folder into your server's mods/ directory.
  2. Ensure the mod name is eclipse_core (matches mod.conf).
  3. Add to world.mt: load_mod_eclipse_core = true.
  4. Allow HTTP: in minetest.conf, set secure.http_mods = eclipse_core (append if you already have others).

Configuration

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.

How it works

  1. On load, the mod joins ECLIPSE_COMMS_CHANNEL and exposes restrictions via mod channel messages.
  2. It attempts to detect the server's public IP via https://api.ipify.org.
  3. It fetches the latest official build string from ${eclipse_core_backend_url}/api/latest_build.
  4. When a player joins, the mod posts to ${eclipse_core_backend_url}/api/server/get_player_info with server address, port, and username.
  5. Based on the response:
    • Logs warnings if modified or outdated builds are detected.
    • Kicks if eclipse_core_require_official_build is enabled and the client is unofficial.

Mod channel messages

  • Incoming TOSERVER_INIT → respond TOCLIENT_ACK.
  • Incoming TOSERVER_REQUEST_RESTRICTIONS → respond TOCLIENT_RESTRICTIONS:<blocked_setting_ids>.

Networking notes

  • If HTTP API is unavailable, the mod logs an error and disables enforcement.
  • Ensure firewall allows outbound HTTP/HTTPS to the backend URL.
  • server_address falls back to 0.0.0.0 if public IP detection fails.

Troubleshooting

  • HTTP API not available: add eclipse_core to secure.http_mods and 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_url and that the endpoint returns HTTP 200.

License

EclipseCore Copyright (C) 2025 ProunceDev MIT License

See LICENSE in this directory.

About

Server side mod for restricting which modules can be used by Eclipse users.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages