Skip to content

ConnectRemote control for uebliche servers

Connect links dash actions to in-game servers via the public API.

Connect placeholder preview

What is Connect?

Connect is the bridge between dash.uebliche.net and your running server. It polls the public API for approved actions and executes them in-game.

Required setup

  • Install the Connect mod or plugin for your loader.
  • Configure the API endpoint and (optional) network metadata.
  • On first start, Connect registers the server and stores credentials in connect.json.
  • Make sure the server owner has assigned permissions in the public API.

Tip: override the API base via JVM start options, for example -DCONNECT_API_BASE=http://localhost:8080/v1 or -Dconnect.apiBase=http://localhost:8080/v1.

Local agent

For host-level actions and reduced API connections, deploy the Connect Agent on the server host and point Connect to the agent instead of the public API. The agent proxies /v1/connect/* to the API, caches permissions for short outages, and exposes host metrics/actions for Dash.

Default agent port: 47200.

Installations run the bootstrapper (uebliche-agent-bootstrap) as the system service. The bootstrapper fetches the update manifest, verifies downloads, and restarts the agent with the latest build.

Dash offers a cloud-init generator under Hosts to install the agent, join a network with a single-use token, and preload access for new hosts.

Networks

Connect can group multiple servers into a shared network via a networkKey. Reuse the same key for servers that should appear together (for example per game mode or region).

Actions

Connect currently supports:

  • Kick players.
  • Send chat or system messages.
  • List online players.
  • Report basic performance data.
  • Velocity-only server management (list, add, remove registered proxy servers).

In-game status

Use /connect status in-game to see the current connection state, last poll result, and settings stream status.

JoinMe

JoinMe is available on Paper and Fabric. Use /joinme to open the JoinMe menu and start or stop a session. JoinMe requires a game-side integration that registers a JoinMeContextProvider so Connect can publish the current match metadata and player counts to the API.

Settings stream

Connect can subscribe to the settings stream and apply live updates for a named source (for example hub). Updates can also be published back to the API so dash can keep an editable history of configuration changes.

Temporary instances

Set CONNECT_TEMP_INSTANCE=1 to mark a server as a temporary instance. You can optionally set CONNECT_TEMPLATE_ID to link the instance to a template server. Dash also supports setting temp: true in the connect settings source. Temporary instances are removed after about 15 minutes without a heartbeat.

Connect supports a readable server alias via CONNECT_SERVER_NAME (stored in connect.json after registration). The /connect status command prints the server name alongside the server id.

Agent permission preload

The Connect Agent can preload all permissions for a server by fetching the allowed user list and batch permissions from the API. This keeps permission checks available even when the API is temporarily unreachable and reduces per-user API calls.

Install

Linux:

curl -fsSL https://install.uebliche.net/agent | sh

Docker (host network recommended for 127.0.0.1 binds):

docker run --rm --network host \
  -v /etc/uebliche/agent:/etc/uebliche/agent:ro \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e AGENT_CONFIG=/etc/uebliche/agent/agent.toml \
  ghcr.io/uebliche/agent:latest

In-game permissions

Connect checks in-game permissions for user-triggered actions:

  • uebliche.connect.status
  • uebliche.connect.command.kick
  • uebliche.connect.command.message
  • uebliche.connect.command.list_players
  • uebliche.connect.command.list_performance
  • uebliche.connect.command.list_servers (Velocity only)
  • uebliche.connect.command.add_server (Velocity only)
  • uebliche.connect.command.remove_server (Velocity only)
  • uebliche.connect.joinme (Paper only)
  • uebliche.connect.settings.write
  • uebliche.connect.settings.<source>.write (scoped settings updates)

Downloads