MineOS-node (apt-get) (Debian10)
Installing MineOS is easier than ever and can be done on any system featuring the apt-get package manager (Debian 10) and systemd init scripts. These instructions will install the most recent web-ui written in Node.js.
Contents
Deployment Overview
There are numerous ways to deploy the MineOS WebUI:
- Use a pre-configured ISO
- Download and configure the components step-by-step with the documentation below.
Configuring step-by-step
These scripts should be executed and daemonized (run as a background service) as root.
- Root required
- May host web-ui on any port, defaulting to HTTPS on 8443
- Minecraft data stored in one base directory, defaulting to /var/games/minecraft/
- Scripts stored separately, default to /usr/games/minecraft
- Supports unlimited amount of users, all serviced by one server/webui background process
- Unlimited amount of servers
- Can grant server control to other users, by group membership
Installing Dependencies
node 10.x
This method installs node via the apt package manager, which is one of many ways to get node v10.x.
As root: |
apt-get -y install curl
curl -sL https://deb.nodesource.com/setup_10.x | bash - apt-get -y install nodejs |
apt-get
On distributions featuring apt-get, you can install dependencies with these commands:
As root: |
apt-get update
apt-get -y install -y git rdiff-backup screen build-essential openjdk-11-jre-headless rsync
|
rsync
MineOS requires rsync 3.1.0+, which comes default in Ubuntu 15.04 and later. Ensure you have a recent enough version.
Installing MineOS scripts
git
As root: |
mkdir -p /usr/games
cd /usr/games git clone https://github.com/hexparrot/mineos-node.git minecraft cd minecraft git config core.filemode false chmod +x service.js mineos_console.js generate-sslcert.sh webui.js npm install --unsafe-perm ln -s /usr/games/minecraft/mineos_console.js /usr/local/bin/mineos cp mineos.conf /etc/mineos.conf |
As updates are made frequently to the MineOS scripts, you should make a habit of updating the webui via git on a regular basis. Updating the web-ui does not require a host or server restart.
Running the MineOS Web Service
Starting the web-ui at boot
This method uses systemd.
Have the web interface start
As root: |
cp init/systemd_conf /etc/systemd/system/mineos.service
systemctl enable mineos
|
Secure HTTPS operation
Before you can start the server, you must generate a self-signed certificate for HTTPS functionality: /etc/ssl/certs/mineos.{pem,crt,key}
As root: |
cd /usr/games/minecraft
./generate-sslcert.sh
|
Starting/Stopping the webui
Remember, you won't need to do this on subsequent restarts, as the initscript will take care of it.
As root: |
systemctl start mineos
systemctl stop mineos
|
Using the webui
Overview
The scripts, by default, will run a server operating on port 8443 and place minecraft data files into /var/games/minecraft.
When creating minecraft servers, it is required to use an unprivileged user to create and manage Minecraft servers. For most distros, this will be with the adduser username command. The password you set during user creation will also be the password used for the web-ui.
In your browser, visit the location: https://xxx.yyy.zzz.aaa:8443
Creating Servers
Servers may only be created by unprivileged users, or in other words: not root. Be sure to log in as any unprivileged user to create any servers you wish and leverage group membership to share control of servers with others!