mcmanager

command module
v0.0.0-...-b33f08c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2021 License: MIT Imports: 14 Imported by: 0

README

MCmanager CircleCI

Status

Even though MCmanager is used by myself, it is still in its early stage of development. You are encouraged to use it and submit issues for bug fixes and feature requests.

Note that we will try our best to avoid any backward incompatibility. If we do run into something, it will be documented.

About

MCmanager is a web front-end for managing any number of locally running Minecraft servers. The interface is designed with both mobile and desktop in mind. It lets you...

  • Self-contained, single binary. Just build/install and run (no need to place HTML template files anywyere... that isn't supported right now anyway)
  • Running Minecraft server instances aren't attached to the mcmanager process, so restarting mcmanager (should) be fine and not kill any running servers.
  • Log in with your Minecraft account to manage your servers.
  • Create, start, stop, and even delete server instances (vanilla only, for now).
  • See which users are OPs and who is playing on each server.
  • See the latest minecraft.net news.
  • Tested on Linux so YMMV with other OS's
  • Uses rcon to communicate with the running instances
  • ... more features coming soon

Configuration

No configuration is currently possible, but it will be a necessity before long. See Todo

TBD

Installation

Ensure you have Go >= 1.16.0 installed and set up on your machine, then run the following command:

$ go install github.com/jlmeeker/mcmanager@latest 

CLI Reference

Usage of mcmanager:
  -listen string
        address to listen for http traffic (default "127.0.0.1:8080")
  -storage string
        where to store server data

Usage

Usage is very straightforward, and options are defined with the default values (use -h). Here is an example:

$ mcmanager --storage <path/to/storagedir>

NOTE: If you want your minecraft servers to be available outside your local network, you will need to configure port forwarding on your router/firewall. MCmanager DOES NOT do this for you. The server port is shown on the "Servers" page.

CAUTION: MCmanager does NOT provide TLS support. Since logins use existing Minecraft accounts, it is STRONGLY RECOMMENDED that you leave the --listen value as the default and run a proxy service (there are many, Caddy works well) that can provide TLS for you. This isn't a huge concern if you run this solely inside a home network, but don't expose it to the internet before securing it. You have been warned. (all mcmanger -> minecraft.net traffic IS over HTTPS, this notice is only about the communication from your web browser to mcmanager)

Todo

  • Authentication (minecraf.net credentials)
    • any authenticated user can create a server instance
    • restrict who can be "owners", instead of everyone (if desired)
  • Authorization
    • super user: mcmanager account that can see and control all running instances regardless of ownership.
    • owner:
      • delete
      • world re-gen
    • op:
      • op add
      • whitelist add
      • weather
      • time
      • backup
      • save
      • start
      • stop
  • Configurable:
    • news sources (home page content)
    • host name (commane-line flag)
    • automated backups/saves
    • schedules for starting/stopping instances (?)
    • more and more and more
  • Support server versions:
    • vanilla
    • spigot
    • craftbukkit
    • paper
    • plugins:
      • upload jar
      • upload config
      • edit config
      • delete jar & configs
    • others...
  • Instance:
    • port auto-assigned
    • view server address
    • view players online
    • backups:
      • automated
      • manual
    • save:
      • automated
      • manual
    • configuration editing
    • hardcore (on create)
    • game mode (on create)
    • specify seed (on create)
    • choose release (on create)
    • pvp choice (on create)
    • world type (on create)
    • MOTD:
      • set (on create)
      • change
      • view
    • ops:
      • add
      • remove
      • view
    • whitelist:
      • add
      • remove
      • view
      • enable (on create)
      • disable (on create)
    • controls:
      • time set day
      • weather clear
      • world re-gen

And so much more.... (please submit a feature request issue)

Screenshots

Alt text Alt text Alt text Alt text

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL