MineOS-node (yum)
Installing MineOS is easier than ever and can be done on any system featuring yum 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
- Using an existing setup, execute the convenience installer script via gist (wget-friendly link)
- 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
nodejs
This method installs node from nodesource, which is one of many ways to get node v8.x.
As root: |
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum -y install nodejs
|
yum
On distributions featuring yum, you can install dependencies with these commands:
As root: |
yum -y install screen git wget java-1.8.0-openjdk-headless.x86_64 openssl openssl-devel
yum -y groupinstall "Development tools"
|
rdiff-backup
rsync
MineOS requires rsync 3.1.0+ or later.
As root: |
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
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 Arch, this will be with the useradd 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!