How to Set Up the Minecraft Control Panel Multicraft On CentOS 7

This article describes in detail how you can install the Multicraft control panel for Minecraft on your Linux server. In particular we focus on a Multicraft setup on CentOS 7 on one of our DDoS protected VPS servers, which work very well for running a Multicraft server due to their fast local SSD storage and high-frequency DDR3 RAM. Both are very important types of resources when it comes to Minecraft hosting. DDoS filtering is at least as important, because you can be almost certain that your server will get attacked sooner or later (learn all about DDoS attacks).

 

Table of Contents

  1. What is the Multicraft Control Panel?
  2. How to Install Multicraft on CentOS 7
    1. Installing the Dependencies
    2. Installing the Multicraft Control Panel
    3. Finishing the Multicraft Installation
    4. Additional Multicraft Setup Steps
  3. How to Create Your First Minecraft Server
    1. Starting the Minecraft Server
    2. Multicraft Plugins
  4. Final Thoughts

 

What is the Multicraft Control Panel?

Multicraft is a very powerful Minecraft control panel that allows you to manage Minecraft servers. It provides a centralized interface to manage and control everything from a small local Minecraft server to a huge cluster of Minecraft servers. The highlights are that it has a free version for small setups and that the frontend part of it is open source, which allows a high degree of customization.

The most impressive part of Multicraft is its huge number of features however while it's still easy to use. It allows you to control every aspect of your Minecraft servers, which makes it incredibly flexible. The list of features is so huge that you best check it out on the official website. Many game server providers use Multicraft for large deployments of Minecraft servers.

How to Install Multicraft on CentOS 7

This guide will show you the process of setting up Multicraft on a CentOS 7 system and also provides a unique SystemD startup script for Multicraft. CentOS 7 has many improvements over CentOS 6, especially regarding its performance and it's a more stable system than for example Ubuntu as well. That makes it the perfect choice for running a Multicraft setup.

While it is possible to split Multicraft frontend, backend and the Minecraft servers across different physical systems, this tutorial will be limited to configuring Multicraft on a single system and running a local Minecraft server on it. Such a setup will work perfectly well for small Minecraft servers running on one of our DDoS secure VPS solutions. If you want to run a larger Minecraft server or multiple servers, you better select a dedicated server and you'll also need a Multicraft license. The free license is limited to 10 players.

We assume you have SSH root access to a clean CentOS 7 server without anything installed yet.

Installing the Dependencies

First we're updating the system to make sure it's all up to date. You should run this command regulary to keep your system secure and updated.

yum -y update

Next we install the dependencies that we need for our Multicraft server, such as Apache, PHP and OpenJDK.

yum -y install httpd php php-common php-gd php-mbstring php-ldap php-odbc php-pear php-xml php-xmlrpc php-bcmath php-mysql php-pdo wget vim tar zip curl java-1.8.0-openjdk

Once everything is installed, we can proceed with the actual installation of Multicraft.

Installing the Multicraft Control Panel

We can now download the Multicraft files and then extract and install them.

wget -O multicraft.tar.gz http://www.multicraft.org/download/linux64
tar xfvz multicraft.tar.gz
cd multicraft
./setup.sh

The last command runs the Multicraft setup script, which will prompt you for a couple of questions. Below we will provide the settings we're using for this tutorial.

Run each Minecraft server under its own user? (Multicraft will create system users): [y]/n y
Run Multicraft under this user: [minecraft] minecraft
User not found. Create user 'minecraft' on start of installation? [y]/n y
Install Multicraft in: [/home/minecraft/multicraft] /home/minecraft/multicraft
If you have a license key you can enter it now: [no] *Enter license key if you have one*
If you control multiple machines from one control panel you need to assign each daemon a unique ID (requires a Dynamic or custom license). Daemon ID? [1] 1
Will the PHP frontend run on this machine? [y]/n y
User of the webserver: [www-data] apache
Location of the PHP frontend: [/var/www/multicraft] /var/www/html
Enable builtin FTP server? [y]/n y
IP the FTP server will listen on (empty for same as daemon): [] *Just hit enter*
FTP server port: [21] 21
Block FTP upload of .jar files and other executables (potentially dangerous plugins)? [y]/n y
What kind of database do you want to use? [sqlite]/mysql sqlite
Ready to install Multicraft. Start installation? [y]/n y

As you can see we can mostly use the default settings. The last line will start the installation of Multicraft on your CentOS 7 server.

Now the setup script doesn't complete everything we need to access the Multicraft panel. The additional steps below are required.

Set correct ownership of web frontend files:

chown -R apache.apache /var/www/html

Adjust settings of Apache's default vHost for /var/www/html directory to allow .htaccess overrides:

awk '/AllowOverride None/{c++;if(c==2){sub("AllowOverride None","AllowOverride All");c=0}}1' /etc/httpd/conf/httpd.conf > /tmp/httpd.conf; mv -f /tmp/httpd.conf /etc/httpd/conf/httpd.conf

Now enable Apache startup after reboots and restart Apache to apply new configuration:

systemctl enable httpd
systemctl restart httpd

At last we also have to open HTTP and Minecraft ports in our firewall. That is if your system uses FirewallD - our VPS products don't have that by default, so if you use one of those you don't have to run the below commands.

firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=25565/tcp
firewall-cmd --reload

Finishing the Multicraft Installation

Now the hard part is over already. We only have to finish the installation of Multicraft from the web interface and then set up the SystemD startup script.

To access the web interface, we just have to type the IP address of your server in your browser bar and hit enter. For example http://192.168.10.43/ will redirect you to http://192.168.10.43/install.php from where we'll complete the Multicraft setup.

You'll see the below setup screen where you can just click Start Installation to start the final setup process.

multicraft setup

On the following screens you just click Continue two times until you're on the first page where you have to configure database access. In this tutorial we'll use SQLite, which is very fast and reliable for smaller local databases. For large cluster deployments you might prefer MySQL, but that's out of scope of this how to.

Once you're on the screen below, you just click Initialize Database and then once again Continue.

multicraft installation centos 7

Once you're done with that, you'll be prompted to login to Multicraft. You can do that by clicking the Login button on the left side at the top of the web interface. The default user is admin and the default password is also admin.

As soon as you're logged in, Multicraft will redirect you back to a similar database configuration screen you've seen before, but this time it's for the daemon's database and not the panel database. We just do the same we did before, so keep SQLite selected and just click Initialize Database and then Continue

Good news, we're almost done now. The last screen will allow you to configure a few details, such as your e-mail address. We configured it as shown on the screenshot below. When you finished filling out the details, click Save.

multicraft panel configuration

Multicraft will now ask us to start its daemon. Instead of following its instructions, we'll instead create a proper SystemD startup script, which will allow us to start, stop and restart the daemon and also make it start automatically upon server reboots.

To install the SystemD script, enable it and start the Multicraft daemon you only need to issue the below three commands on your root shell:

curl https://javapipe.com/files/multicraft-systemd.txt > /lib/systemd/system/multicraft.service
systemctl enable multicraft
systemctl start multicraft

Please keep in mind that if you used any different settings during the setup process than what we used for this tutorial, you might have to edit paths in /lib/systemd/system/multicraft.service before enabling and starting the service.

You can now switch back to the Multicraft control panel and click Refresh and then Continue. Please also read the additional steps below to make sure that your Multicraft server will be secure.

Additional Multicraft Setup Steps

As Multicraft suggests we should remove the install.php file for security reasons after we completed the installation. To do that, just issue the below command on your server:

rm -f /var/www/html/install.php

Then click Continue to Multicraft to access the control panel.

Of course it's also strongly (!) recommended to change your login credentials as soon as possible. admin/admin is not a secure user/password combination. So you should now update your password under: Users -> My Profile (on the left) and update your password from there.

How to Create Your First Minecraft Server

Now that the setup of the Multicraft control panel is complete, we can launch our first Minecraft server. We'll just create a default Minecraft server on our local server.

Starting the Minecraft Server

To launch a Minecraft server, we first have to download the required files. To do that, simply login to Multicraft and go to Settings -> Update Minecraft and click the Download button. Once the download is complete, you can click Install to install the downloaded files.

Now we're ready to start our first Minecraft server. It's as simple as just going to Servers -> Create Server and launching it from there.

Please note that after you created a new server, you have to manually accept the EULA before you can start it. To do that for all servers you created, just run the below command before attempting to start the servers:

sed -i 's/eula=false/eula=true/g' /home/minecraft/multicraft/servers/*/eula.txt

Multicraft Plugins

Minecraft can be more fun with cool plugins. Luckily Multicraft allows easy installation of BukGet Plugins for example. You can just go to Servers, stop the Minecraft server you want to install a plugin on, select Files on the left and then BukGet Plugins. From there you can install Minecraft plugins with only a few clicks and start your Minecraft server again.

Final Thoughts

Multicraft is a powerful Minecraft control panel that's suitable for personal use as well as large deployments for game server hosting businesses. It's extremely easy to use once configured and can be used to sell Minecraft servers and slots.

Multicraft also comes with billing system integration for WHMCS, Blesta and BoxBilling and an already built-in support system. This allows you to use it with any existing hosting billing/management system you might have in place already. If you don't see the module you need, you can use their powerful API to write your own modules.

If you are new to Multicraft, we recommend that you read the official User Guide to get the hang of it. We recommend to use Multicraft Minecraft hosting with one of our VPS with unlimited bandwidth and 750Gbps included DDoS protection.