mcctl
A Minecraft Server Management Utility written in Python.
Prerequisites
To use mcctl, your server setup should look something like this.
Starting from Version 0.4.0, a compiler (e.g. gcc), the Python3 Headers (python-dev or python3-devel) and systemd Headers (libsystemd-dev or systemd-devel) must be installed on your System before attempting Installation via pip.
Installation
The easiest way to install mcctl is via pip:
sudo pip install mcctl
Or even better: use pipx!
sudo -i
pip install --user pipx
echo "export PIPX_HOME=/usr/local/lib/pipx" >> ./bash_profile
echo "export PIPX_BIN_DIR=/usr/local/bin" >> ./bash_profile
exit
# Reload environment variables
sudo -i
pipx install mcctl
In some cases, the secure_path of sudo must be changed. If sudo mcctl returns "Command not found", add /usr/local/bin to your secure_path.
Getting started
As soon as mcctl is installed, you can create a new server:
sudo mcctl create myserver vanilla:latest -m 3G -p server-port=25566 "motd=My new fancy Minecraft Server!"
- create: Sets up a new server and configures it accordingly.
- Instance ID: gives the server a specific name (ID) which can be used in other commands.
- Type ID: Specifies the Minecraft server type. Automatically downloads the "jar"-File if not cached.
- Memory (
-m): The amount of memory a server gets. Defaults are set via the systemd unit explained in Prerequisites. - Properties (
-p): Options for theserver.properties-File. Values with spaces can be quoted as shown above.
The server is now created, but not running. For that, you can use the start command:
sudo mcctl start myserver -p
- start: Starts a server.
- Instance ID: The name of the server to start.
- Persistent (
-p): Sets up the server to be started after a reboot of the OS.
We can check if the server runs using the Command ls:
sudo mcctl ls -f myserver
Name Server Version Status Persistent
myserver 1.15.2 Active True
Configuration
In case you need to change the Unit Name or the Server User, it can be changed in /etc/mcctl.conf. The Config File can be created with the write-cfg-Subcommand.
[system]
systemd_service: The Service Prefix before "@INSTANCE_NAME". Default: 'mcserver'.server_user: The User under which Servers can be managed and are run. Default: 'mcserver'.env_file: The File in which Systemd Starting Options are specified. Default: 'jvm-env'.
[user]
editorThe default Editor for interactive config editing. Default: 'vim'.shellThe default Shell for fully interactive configuration. Default: '/bin/bash'
Documentation
mcctl is not well documented (yet). However, you should be able to answer a lot of your questions with the help parameter:
mcctl -h
Or for each Subcommand (e.g. create):
mcctl create -h
Suggestions/Issues
If you have suggestions, questions or issues, feel free to report them as an Issue here. Insights and Ideas of others are always welcome.
License
This Project is licensed under the GPLv3. Please see LICENSE for details.
Metadata
Release files for mcctl 0.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcctl-0.4.3.tar.gz | 43.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcctl-0.4.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 94.5 kB
Release files / mcctl-0.4.3.tar.gz
| Download URL | mcctl-0.4.3.tar.gz |
|---|---|
| Size | 43.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b0e0d58d4aefd207271d7503e0a79004eea381822fa8bdfe88d9dc87fbb3861f
|
|
BLAKE2b-256 checksum How to use checksums |
7b6373f1ee666c4d56668e9a9f1a28caf70790a65ea3b5fbcd106384f82609c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / mcctl-0.4.3-py3-none-any.whl
| Download URL | mcctl-0.4.3-py3-none-any.whl |
|---|---|
| Size | 50.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
074027dc059a7a0d058419b5bb8c4ecdfb4bc054e3a5809734f95f1ab0f94afb
|
|
BLAKE2b-256 checksum How to use checksums |
c2a3120237f2b952a322ddad511b9523989f99641b112da0c1e8cbc4b14d9b28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Security for mcctl 0.4.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.