Skip to content

๐Ÿ› ๏ธ A command-line tool for managing PaperMC Minecraft servers.

License

Notifications You must be signed in to change notification settings

nicdgonzalez/axiom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Axiom

Warning

This project is under active development and makes frequent breaking changes.

Introduction

Axiom is a command-line tool for managing Minecraft servers.

Axiom leverages PaperMC as its core server implementation. Since this project is tailored to my own needs, I intend to keep the project's scope narrow and focused. I have no current plans to support other server providers.

Installation

Requirements:

Name Version Description
Java 20+ To run the Paper Minecraft server
tmux 3.5a+ To attach/detach from the Minecraft console as needed

Quickstart

Warning

This software is developed and tested on Linux only.

Install the project using cargo by running the following command:

cargo install axiom --git https://github.com/nicdgonzalez/axiom

or download one of the pre-built binaries here.

Usage

If you downloaded one of the pre-built binaries, replace axiom with the path to the executable. For example:

"$(xdg-user-dir DOWNLOAD)/axiom" help

or, move the the executable to a directory on path:

echo "$PATH" | grep -E "(^|:)$HOME/\.local/bin(:|$)" > /dev/null \
    && echo "$HOME/.local/bin exists on PATH" \
    || echo "$HOME/.local/bin does not exist on PATH"

# This directory should be on PATH (XDG Base Directory Specification),
# but sometimes needs to be created manually.
[ ! -e "$HOME/.local/bin" ] \
    && mkdir --parents "$HOME/.local/bin" \
    || echo "$HOME/.local/bin exists!"

# Move the binary from the Downloads directory into `$HOME/.local/bin`.
mv "$(xdg-user-dir DOWNLOAD)/axiom" "$HOME/.local/bin/axiom"

Here is a brief overview of some of the current commands.

Note

Internally, all names provided are normalized to ensure they can be used as valid directory names. For example, "My World" becomes "my-world" and both can be used interchangeably anywhere that a command requires name.

  • To create a new server (NOTE: omitting the version defaults to the latest, stable build available):
# The Minecraft version is optional.
axiom new "My World" 1.21.3

# To get the latest, stable release:
axiom new "My World"
  • To list information on available servers:
axiom list
  • To change the version of Minecraft a server is using:
# To update to the latest version (stable or experimental):
axiom update --allow-experimental my-world

# Because switching to an older version of Minecraft may corrupt your world,
# Axiom will prevent you from downgrading unless you grant it permission:
axiom update --allow-downgrade my-world 1.21.1
  • To delete a server:
axiom delete my-world
  • To create a backup of the server:
axiom backup new --wait my-world
  • To see a list of all available commands:
axiom help

License

Licensed under the GPL-3.0 License.

About

๐Ÿ› ๏ธ A command-line tool for managing PaperMC Minecraft servers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published