Multicraft is a database-driven web interface for Minecraft servers. You can create, pause, start or stop your server through the Multicraft control panel. You can also monitor its day-to-day configuration and manage all its upload/download processes with a few clicks of the mouse. It contains features such as:
Follow the steps below to install Multicraft on CentOS 7.
Install MySQL
Enable the MySQL 8.0 repository with the following command:
yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
Install MySQL 8.0 package with yum:
yum install mysql-community-server
Set MySQL to start on bootup, and then start MySQL:
systemctl enable mysqld
systemctl start mysqld
Check MySQL service status:
systemctl status mysqld
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2021-10-29 11:02:43 UTC; 14min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 4293 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 4310 (mysqld)
Status: "SERVER_OPERATING"
CGroup: /system.slice/mysqld.service
└─4310 /usr/sbin/mysqld
When the MySQL server is started for the first time, a temporary password is generated for the MySQL root user.
Get MySQL temporary password:
grep 'temporary password' /var/log/mysqld.log
2021-10-29T10:59:51.251159Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&0)V!?fjksL
Run the mysql_secure_installation command to improve the security of our MySQL installation:
mysql_secure_installation
Install Apache
yum install httpd
Set Apache to start on bootup, then start Apache:
systemctl enable httpd.service
systemctl start httpd.service
Install PHP and PHP extensions
yum install php
Search PHP module and extensions
yum search php-
Install PHP extensions:
yum install php-mysql php-gd php-ldap php-odbc php-pear php-common php-mbstring php-xml php-xmlrpc php-bcmath php-pdo php-bcmath
Restart Apache:
systemctl restart httpd.service
Next, we have a few more prerequisites. Install dependencies by running:
yum -y install wget tar zip curl java-1.8.0-openjdk
Install phpMyAdmin
CentOS 7 does not have access to phpMyAdmin in its default software repository, to do this you will need to turn on the EPEL repo and install phpMyAdmin.
yum install -y epel-release
After enabling the repository, it is recommended to do an update on the EPEL repository.
yum –y update
Install phpMyAdmin
yum -y install phpmyadmin
Open phpMyAdmin configuration file to configure access to use phpMyAdmin
vim /etc/httpd/conf.d/phpMyAdmin.conf
Find this section in the configuration file and change Deny to Allow:
<IfModule !mod_authz_core.c>
# Apache 2.4
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
After changing the file, save it and restart Apache service:
systemctl restart httpd.service
You can now login to phpMyAdmin through yourserverIP/phpMyAdmin. Please note that phpMyAdmin is case sensitive.
The default login account is "root" and your root password.
Create two database:
multicraft_panel
multicraft_daemon
Allow Override in Apache configuration file:
vim /etc/httpd/conf/httpd.conf
Scroll down until you find the section that looks like:
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
Change None To All. Save the file, and restart apache:
systemctl restart httpd.service
Install Multicraft
Download and run the Multicraft installer.
wget http://www.multicraft.org/download?arch=linux64 -O multicraft.tar.gz
Then extract it and change to the directory. Once in the directory, run the installer:
tar xvzf multicraft.tar.gz
cd multicraft
./setup.sh
The script will ask you for your desired settings, either the ones you already have or that default configured for you.
***
*** Welcome to Multicraft!
***
This installer will help you get Multicraft up and running.
No changes are made to the system until all of the required information has been collected.
NOTE: This script automates the installation as described on the Multicraft website. Use it at your own risk.
Run each Minecraft server under its own user? (Multicraft will create system users): [y]/n
Press ENTER
Run Multicraft under this user: [minecraft]
Press ENTER
User not found. Create user 'minecraft' on start of installation? [y]/n
Press ENTER
Install Multicraft in: [/home/minecraft/multicraft]
Press ENTER
If you have a license key you can enter it now: [no]
Enter your license key if you have one and continue, or press ENTER
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]
Press ENTER
Will the PHP frontend run on this machine? [y]/n
Press ENTER
User of the webserver: [apache]
Press ENTER
Location of the PHP frontend: [/var/www/html/multicraft]
Press ENTER
Enable builtin FTP server? [y]/n
Press ENTER
IP the FTP server will listen on (empty for same as daemon): [192.0.2.123] FTP server port: [21]
Press ENTER
Block FTP upload of .jar files and other executables (potentially dangerous plugins)? [y]/n
Press n, then ENTER
What kind of database do you want to use? [sqlite]/mysql
Type mysql, then press ENTER
NOTE: This is for the daemon config, the front end has an installation routine for database configuration and initialization.
Database host: [127.0.0.1]
Database name: [multicraft_daemon]
Database user: [root]
Database password: [] YourPassword
Enter your MySQL password, and press ENTER
***
*** Please use the control panel to initialize the database.
***
NOTE: Any running daemon will be stopped!
Ready to install Multicraft. Start installation? [y]/n
Press ENTER
***
*** INSTALLING
(Trimmed verbose output here)
*** Installation complete!
***
PLEASE READ:
Before starting the daemon you need to run the control panel installer to initialize your database. (example: http://your.address/multicraft/install.php)
The daemon WILL NOT work correctly as long as the database hasn't been initialized.
After running the control panel installer start the daemon using the following command:
/home/minecraft/multicraft/bin/multicraft -v start
If there are any issues, please check the log file: '/home/minecraft/multicraft/multicraft.log'
After reading the instructions above, press [Enter] to continue
Press ENTER
In case you want to rerun this script you can save the entered settings.
Save entered settings? ([y]/n)
Press ENTER
Saving settings to 'setup.config'.
Panel Configuration
To do panel configuration, go to yourdomain.com/multicraft
or yourserverIP/multicraft
. You will get the Multicraft panel installer.
Start by pressing START INSTALLATION
and then review the requirements. If your server meets all the requirements, press CONTINUE
, then CONTINUE
once again.
When you arrive at the Database 1: PANEL
page, you will want to select MySQL from the database type drop-down, then fill in the required data, including your password. Press SAVE AND TEST
to initialize the database.
Once the database is initialized, you can continue to the next step of logging into the panel. The username is admin
and the password is admin
.
Once logged in, press CONTINUE
, and head to the next database section, Database 2: DAEMON
. Again, select MySQL, fill in the required data, then press CONTINUE
.
You are now directed to the last page, Settings
. The only configuration needed here is to set "Administrator contact Email" to your email address. Then press SAVE
.
Finally, start the Multicraft control daemon by returning to the command line and running:
/home/minecraft/multicraft/bin/multicraft -v start
You can now log in to the panel and control your Minecraft servers.