Repository navigation
Releases
Luminesk-CLI v2.1.0
Luminesk-CLI 2.1.0
Luminesk 2.1 improves everyday server operation with a more responsive terminal
interface, safely rendered console colors, and a single command to start a
server and open its console. Official installers now use self-contained
application directories for Linux, macOS, and Windows.
Highlights
Start and attach in one command
nesk start --dir ./servers/example --attachLuminesk waits for readiness before opening the full-screen console. If the
server is already running, it attaches without restarting the container.
Use Ctrl+D to detach, Ctrl+C to stop gracefully, or Ctrl+K to kill it.
--attach requires an interactive terminal and rejects --json and
--non-interactive before starting the server.
Clearer terminal output
- Consistent colors and presentation across commands, prompts, and progress.
- Measured progress for operations that report their size or completion.
- Safe ANSI color rendering in streamed logs and the attached console;
NO_COLORdisables color. - Faster
--helpand--versionstartup through deferred imports.
Self-contained application bundles
- Installers use onedir ZIP bundles containing
neskand its runtime files.
Python is not required on the host. - SHA-256 verification, installation smoke checks, and transactional
activation protect installs and upgrades. - Existing installations managed by the one-line installer can be upgraded
by rerunning it. Extract the complete ZIP when installing manually. - Platform fixes cover macOS archive handling and Windows installer validation.
Docker and project links
- Runtime platform selection follows the Docker Engine's OS and architecture.
- Image pulls are explicit and bounded, with progress and useful failures.
- Documentation and installers use nesk.farin.cc.
Repository, release, and catalog links use
Farin Works.
Install or update
Linux or macOS:
curl -fsSL https://nesk.farin.cc/sh | sh -s -- --yesWindows AMD64 (x64), PowerShell:
irm https://nesk.farin.cc/ps1 | iexFor a Python-managed installation, use Python 3.13+:
uv tool install luminesk-cli
# Upgrade an existing uv installation:
uv tool upgrade luminesk-cliDocker Engine or Docker Desktop is required to run servers. On Windows, use
Linux containers. After upgrading, check nesk --version, run nesk doctor,
and refresh discovery with nesk catalog update.
Compatibility
Existing 2.x instances and pinned recipe locks remain supported, including
saved official-catalog origins. No manual lockfile or instance-state edits are
required. Keep using the same installation method for CLI upgrades.
Luminesk 1.x instances still require a
side-by-side migration.
Back up server data before changing a production installation.
Release files
luminesk-{linux,macos}-{amd64,arm64}.zip: Linux and macOS bundles.luminesk-windows-amd64.zip: Windows AMD64 (x64) bundle.- Python wheel and source distribution.
SHA256SUMS: release-file checksums.luminesk-cli.cdx.json: runtime dependency SBOM.- GitHub build provenance attestations for the Python artifacts and bundles.
See the installation guide,
command reference, and
full changelog.
v2.0.2
Luminesk CLI 2.0.0
Luminesk 2.0 is a complete rewrite of the project. The 2.0 codebase, recipes,
lockfiles, instance state, cache, and runtime model cannot be combined with
Luminesk 1.1. There is no safe in-place upgrade: keep a backup, create a fresh
2.0 instance, and move only the server data you actually need. See the
migration guide.
Compared with 1.1, the MCBE-specific imperative create workflow and optional
local runtimes are gone. doctor, catalog discovery, recipe-based install,
and Docker-backed instances replace them. The old configuration, registry,
cache, and instance metadata are not read or converted by 2.0.
What is new
One workflow for Java and Bedrock
- Install Java and Bedrock server cores through the same
neskinterface. - Discover verified recipes with
nesk searchand inspect requirements with
nesk info RECIPEbefore installing anything. - Install from the official catalog, a GitHub repository, or a local recipe.
- Git is no longer required for normal installation or operation.
Reproducible recipes instead of opaque setup logic
- A strict
luminesk.tomldescribes sources, inputs, ownership, Docker runtime,
ports, mounts, checks, and update policy. luminesk.lockrecords exact artifact hashes, recipe revisions, platforms,
and immutable Docker image digests.- Deterministic, independently verified
.lumineskpkgpackages form the
installation boundary. - Image-only recipes are supported when the complete server already lives in
the runtime image.
Safer installs and updates
- Every install and update has a preview;
--dry-runperforms the complete
planning path without applying it. - Ownership-aware transactions distinguish Luminesk-managed files, rendered
files, editable configuration, and server data. - Local changes are never silently overwritten. Conflicts stop the operation.
- Failed apply or readiness checks roll back the filesystem and, for a
previously running server, attempt to restore and restart the old runtime. nesk outdated,nesk diff, andnesk recovermake update and recovery
state explicit.
A CLI that explains what it needs
nesk infoshows every recipe input, default, constraint, and the correct
--setor--set-fileoption.- Interactive installs include an input wizard, including explicit Minecraft
EULA acceptance where a recipe requires it. - Long downloads, image resolution, builds, transactions, and readiness waits
show progress in a terminal. - Docker failures include a bounded, useful error tail instead of looking like
a silent crash. - Human output is readable and colored;
--json --non-interactiveremains
stable for automation.
Better day-to-day server operation
nesk listdiscovers locally registered instances;nesk import --scancan
rebuild that index from valid instance state.nesk logsloads recent history by default and supports--tail,--since,
timestamps, and follow mode with bounded capture.nesk attachis a full-screen console TUI with recent log history, live
output, command input, scrolling, detach, graceful stop, and kill shortcuts.- Runtime state is reconciled with Docker instead of trusting stale metadata.
Security and distribution
- Downloads, redirects, archives, recipe trees, logs, and package extraction
are explicitly bounded. - Remote bytes are verified with SHA-256; OCI images and Dockerfile base images
are locked to repository digests. - Recipes cannot execute host shell commands. Runtime and check commands are
explicit argument arrays. - Secret inputs come from files, are never persisted, and cannot leak into
runtime arguments or normal JSON output. - Releases include PyPI packages, Linux/macOS/Windows bundles for AMD64 and
ARM64, checksums, an SBOM, and build provenance.
Install and try it
Linux or macOS:
curl -fsSL https://luminesk.taskov1ch.xyz/sh | sh -s -- --yesWindows PowerShell:
irm https://luminesk.taskov1ch.xyz/ps1 | iexAlternatively, install the Python package:
uv tool install luminesk-cliThen:
nesk doctor
nesk catalog update
nesk search --type core
nesk info paper
nesk install paper --dir ./servers/example
nesk start --dir ./servers/example
nesk attach --dir ./servers/exampleFor automation, inspect a dry-run first and then provide both inputs and trust
approval explicitly:
nesk install paper --dir ./servers/example \
--set eula=true --dry-run --json --non-interactive
nesk install paper --dir ./servers/example \
--set eula=true --yes --json --non-interactiveDocumentation: https://luminesk.taskov1ch.xyz
v1.1.0
Version 1.1.0, brief changelog.
🔄 Global Rebranding: Luminesk ➔ Luminesk-CLI
As of this release, the project officially changes its name to Luminesk-CLI.
Why did this happen?
"Luminesk" was originally created as a tool exclusively for Nukkit-based cores. However, the project has outgrown these narrow limits. It is now a universal multi-core composer for managing Minecraft Bedrock Edition (MCBE) servers.
⚠️ BREAKING CHANGES:
- Package Name Change: The internal Python module has been completely renamed from luminesk to luminesk_cli. If you used it as an API in your scripts, please note that import paths have changed!
- Abstraction from Nukkit: All documentation, landing pages, and internal messages have been rewritten. We now position ourselves as a manager for the broad ecosystem of MCBE cores (Lumi, PowerNukkitX, Nukkit-MOT, Allay, Dragonfly, Endstone, and many others).
v1.0.5
v1.0.4
What's Changed
- deps: bump the python-deps group with 6 updates by @dependabot[bot] in #2
- Bump the github-actions group across 1 directory with 6 updates by @dependabot[bot] in #1
- Restructure Luminesk documentation into canonical task-oriented docs and align entrypoints by @Taskov1ch with @Copilot in #3
- Copilot/create documentation for project by @Taskov1ch in #4
- Refresh documentation and enhance CI workflow with community files by @Taskov1ch in #5
New Contributors
- @dependabot[bot] made their first contribution in #2
- @Taskov1ch with @Copilot made their first contribution in #3
- @Taskov1ch made their first contribution in #4
Full Changelog: https://github.com/task-v1/luminesk-cli/commits/v1.0.4