Skip to content

feat: add remote Minecraft hosts, servers, and SSH - #8

Draft
usehoplite[bot] wants to merge 1 commit into
mainfrom
hoplite/amisos-peiraieus-d46851d4
Draft

usehoplite[bot] wants to merge 1 commit into
mainfrom
hoplite/amisos-peiraieus-d46851d4

Conversation

@usehoplite

@usehoplite usehoplite Bot commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds cross-device host control, versioned Minecraft servers, and SSH over the same authenticated tunnel.

  • minecraft host launch starts a loopback-only host and Cloudflare Quick Tunnel. The printed URL contains a secret fragment used as a bearer credential. TUNNEL routes client and server commands to that host before local platform checks. Screenshots save on the controller.
  • Linux controllers need only Node.js and the CLI. Minecraft clients still launch on Windows x64 hosts. Existing local client behavior remains unchanged without TUNNEL.
  • Servers support launch, status, console commands, restart, and stop. Accepts --version Paper/26.2, Folia/1.21.11, and Vanilla/1.21.4, plus plain versions and --software. Plain versions select Paper. Each software/version pair has its own folder and version-specific Java selection, with a 1 GB heap.
  • --no-reset preserves worlds and plugins. Preservation is also the default; deletion requires explicit --reset. Paper/Folia downloads remain pinned across ordinary restarts. Shutdown waits for world initialization to avoid the Folia startup console race.
  • minecraft host proxy carries standard OpenSSH, SCP, SFTP, and forwarding over an authenticated WebSocket. Host keys and user authentication remain OpenSSH's responsibility.

Hosts require cloudflared. SSH requires a running host SSH service, and servers require suitable Java and EULA acceptance. Setup and examples are in the README and bundled skill. Added Windows/Linux CI on Node.js 22 and 24.

Verification

  • Build and 37 tests pass on Linux. Two existing Windows-only tests skip locally.
  • Real public HTTPS tunnel commands, SSH shell commands, and SCP uploads/downloads passed.
  • Real Paper 1.21.4 and Folia 1.21.11 reached readiness, accepted console commands, restarted, retained plugin files and pinned builds, and stopped. Folia startup shutdown completed without forced termination after the regression fix.
  • GUI client launching was not exercised locally because this workspace is Linux.

Route client and server commands to authenticated hosts from Linux and other controllers. Forward normal SSH over the same tunnel for shells, file transfers, and port forwarding.

Manage isolated Paper, Folia, and vanilla servers with pinned downloads, version-specific Java selection, preserved files, and startup-aware shutdown. Document setup and add cross-platform CLI checks and regression tests.

Co-authored-by: Hoplite <288093033+usehoplite[bot]@users.noreply.github.com>
@usehoplite
usehoplite Bot marked this pull request as draft November 13, 2026 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant