Skip to main content

Manage, configure, create multiple Minecraft servers in a docker-like fashion.

Project description

mcctl

A Minecraft Server Management Utility written in Python.

forthebadge made-with-python forthebadge for-sharks

GitHub license from shields.io Python Versions PyPI - Wheel

Prerequisites

To use mcctl, your server setup should look something like this.

Installation

The easiest way to install mcctl is via pip:

sudo pip 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 the server.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]

  • editor The default Editor for interactive config editing. Default: 'vim'.
  • shell The 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcctl-0.3.1.tar.gz (34.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcctl-0.3.1-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

Details for the file mcctl-0.3.1.tar.gz.

File metadata

  • Download URL: mcctl-0.3.1.tar.gz
  • Upload date:
  • Size: 34.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for mcctl-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a848223b627b8d1fcad3f7abf79e331a8b8bf52d3fe61984461f76c46155d4b3
MD5 68808f52a564b2e29b06b662d4f9a9b3
BLAKE2b-256 29891693fd84d0d4274837201764bbf6aa18544747deb4b03e126c02cb1c7d4e

See more details on using hashes here.

File details

Details for the file mcctl-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: mcctl-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for mcctl-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 98da96565275d78687f43d7c61f2090ff4d27e5b14d859f9028e1b53138d2abe
MD5 071ee56630173b338651ed84a5ada2f0
BLAKE2b-256 9dc4a41a4ce56fbec559ddcc69fdd4d4e4b5cf0f19d1b2b1bface8b9894971f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page