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.rpmInstall MySQL 8.0 package with yum:
yum install mysql-community-serverSet MySQL to start on bootup, and then start MySQL:
systemctl enable mysqld
systemctl start mysqldCheck 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!?fjksLRun the mysql_secure_installation command to improve the security of our MySQL installation:
mysql_secure_installationInstall Apache
yum install httpdSet Apache to start on bootup, then start Apache:
systemctl enable httpd.service
systemctl start httpd.serviceInstall PHP and PHP extensions
yum install phpSearch 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-bcmathRestart Apache:
systemctl restart httpd.serviceNext, we have a few more prerequisites. Install dependencies by running:
yum -y install wget tar zip curl java-1.8.0-openjdkInstall 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-releaseAfter enabling the repository, it is recommended to do an update on the EPEL repository.
yum –y updateInstall phpMyAdmin
yum -y install phpmyadminOpen 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.serviceYou 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_daemonAllow Override in Apache configuration file:
vim /etc/httpd/conf/httpd.confScroll 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 NoneChange None To All. Save the file, and restart apache:
systemctl restart httpd.serviceInstall Multicraft
Download and run the Multicraft installer.
wget http://www.multicraft.org/download?arch=linux64 -O multicraft.tar.gzThen 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]/nPress ENTER
Run Multicraft under this user: [minecraft]Press ENTER
User not found. Create user 'minecraft' on start of installation? [y]/nPress 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]/nPress ENTER
User of the webserver: [apache]Press ENTER
Location of the PHP frontend: [/var/www/html/multicraft]Press ENTER
Enable builtin FTP server? [y]/nPress 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]/mysqlType 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: [] YourPasswordEnter 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]/nPress 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 continuePress 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 startYou can now log in to the panel and control your Minecraft servers.