Install Multicraft on Ubuntu Server
This article is for those looking for a detailed and straightforward guide on installing Multicraft on Ubuntu Server.
Multicraft is a complete Minecraft server hosting solution.
In this guide, we will consider the case when you already have a server with the Ubuntu Server 22.04 LTS operating system installed on it.
You can read more about how to install Ubuntu Server 22.04 LTS in my guide “Install Ubuntu Server 22.04 LTS”.
In addition, OpenSSH must be installed on the server, and port 22 must be open in order to be able to connect to the server using the SSH protocol.
To install OpenSSH on a server, you can use the command:
If you plan to connect to the server using the Windows operating system, you can use PuTTY or MobaXterm.
This guide describes how to connect to a server using the iTerm2 terminal emulator installed on the macOS operating system.
Please note that you will need to open the following TCP ports to access your server:
- TCP port 80 - to get a free cryptographic certificate through Let’s Encrypt CA.
- TCP port 443 - to access the Multicraft control panel.
- TCP port 25565 - for Minecraft client access to the Minecraft server.
Note that port 25565 is used by default to connect a Minecraft client to a Minecraft server, but you can use other ports to run multiple Minecraft servers.
For example, the first Minecraft server launched with Multicraft will use port 25581; the second server, launched with Multicraft, will use port 25582, and so on. In this case, the Minecraft client will need to specify not only the IP address or name of the Minecraft server but also the port through which to connect to the server. For example minecraft.heyvaldemar.net:25581.
We connect to the server on which you plan to install Multicraft.
To obtain and subsequently renew a free SSL certificate, we will use the Let’s Encrypt certification authority, as well as the Certbot software client, which is designed to make it as easy as possible to obtain and renew a certificate through the Let’s Encrypt certification authority.
Update the local package index to the latest changes in the repositories using the command:
Now let’s install the packages required for Multicraft to work using the command:
Please note that in this tutorial, MySQL will be used as a database management system, and Apache will be used as a webserver.
Let’s configure Apache for further work with the Multicraft control panel.
We enable the Apache webserver module called “rewrite” using the command:
Note that the “rewrite” module is one of the most commonly used modules in the Apache webserver and provides a flexible and powerful way to manipulate URLs.
Now you need to make changes to the Apache configuration file by opening it in a text editor using the command:
Press the “i” button to switch to edit mode, find the “AllowOverride” parameter for the “/var/www/” directory, and set the “All” value for the parameter.
Please note, “AllowOverride All” - indicates that “.htaccess” should be used for the root directory of the virtual host and all subfolders.
Now press the “Esc” button to exit edit mode, then type “:x” and press the “Enter” button to save your changes and exit the editor.
Now you need to create a virtual host file (called a block in Nginx), with which the Multicraft control panel will work in the future.
Let’s create a virtual host file using a text editor using the command:
In this manual, the multicraft.heyvaldemar.net subdomain will be used to access the Multicraft control panel from the Internet. You will need to specify your domain or subdomain by which your Multicraft control panel will be available from the Internet.
Hit the “i” button to go into edit mode, then insert the following configuration for the webserver to work.
In this manual, the multicraft.heyvaldemar.net subdomain will be used to access the Multicraft control panel from the Internet. You will need to specify your domain or subdomain by which your Multicraft control panel will be available from the Internet.
Now press the “Esc” button to exit edit mode, then type “:x” and press the “Enter” button to save your changes and exit the editor.
We activate the created virtual host using the command:
In this manual, the multicraft.heyvaldemar.net subdomain will be used to access the Multicraft control panel from the Internet. You will need to specify your domain or subdomain by which your Multicraft control panel will be available from the Internet.
Deactivate the default virtual host using the command:
Verify that there are no errors in the syntax of the new Apache config file using the command:
Restart Apache to apply the changes made using the command:
Let’s check that Apache has started successfully using the command:
Now, in order to increase the security level of the webserver, it is necessary to obtain a cryptographic certificate for the domain or subdomain, through which the Multicraft control panel will be accessible from the Internet.
To obtain and subsequently renew a free SSL certificate, we will use the Let’s Encrypt certification authority, as well as the Certbot software client, which is designed to make it as easy as possible to obtain and renew a certificate through the Let’s Encrypt certification authority.
In this manual, the multicraft.heyvaldemar.net subdomain will be used to access the Multicraft control panel from the Internet. You will need to specify your domain or subdomain by which your Multicraft control panel will be available from the Internet.
Request a cryptographic certificate using the command:
Next, we indicate the email address to which Let’s Encrypt will send notifications about the expiration of the cryptographic certificate and press the “Enter” button.
The next step is to read and accept the terms of use of the services provided.
Press the button “a”, then “Enter”, if you agree with the terms of use of the services provided.
The next step is to choose whether you would like to share the above email address with the Electronic Frontier Foundation in order to receive newsletters.
Press the “n” button, then “Enter”.
At the next stage, you need to choose: do you want the parameters to be automatically added to the Apache configuration file for automatically redirecting HTTP traffic to HTTPS.
Press the button “2”, then “Enter”.
Please note that cryptographic certificates obtained through Let’s Encrypt CA are valid for ninety days. Certbot automatically adds a script to renew the certificate to the task scheduler and the script runs twice a day, automatically renewing any cryptographic certificate that expires within thirty days.
You can check the functionality of the cryptographic certificate renewal process using the command:
Now let’s configure MySQL for further work with the Multicraft control panel.
First, you need to run the “mysql_secure_installation” script, which is designed to provide a basic level of MySQL security.
Run the script using the command:
Next, you need to answer a few questions to ensure a basic level of MySQL security.
The first question is whether you want to use the password strength plugin, which will need to be set later for the “root” user who has administrator rights in MySQL.
Press the “y” button, then “Enter”.
The next step is to select the level of password complexity checking, which will need to be set later for the “root” user who has administrator rights in MySQL.
In this tutorial, we will look at the highest level of password strength checking for the “root” user.
Press the button “2”, then “Enter”.
The next step is to provide a strong password for the “root” user who has administrator rights in MySQL.
Specify a strong password for the “root” user and press the “Enter” button.
Next, specify the password for the “root” user again and press the “Enter” button.
The next question is if you would like to proceed to the next step in setting up a basic MySQL security level with the obtained password strength value.
Please note that if the password you specified will have a value of “Estimated strength of the password” less than 100, it means that the password you specified earlier for the “root” user is not strong enough, and you need to specify a stronger password.
In this tutorial, the “Estimated strength of the password” value is 100, which indicates that the previously specified password is strong enough.
Press the “y” button, then “Enter”.
The next question is if you want to delete anonymous users.
Press the “y” button, then “Enter”.
The next question is if you want to disable remote MySQL connectivity for the “root” user.
Press the “y” button, then “Enter”.
The next question is if you want to drop the test databases.
Press the “y” button, then “Enter”.
Now you need to apply the changes you made.
Press the “y” button, then “Enter”.
Now you need to create databases that will be used by the Multicraft control panel and the Multicraft daemon in the future, as well as users with the necessary rights in these databases.
We connect to the MySQL management console using the command:
Specify the password for the “root” account specified earlier and press the “Enter” button.
In this manual, “multicraft_panel” will be used as the database name for the Multicraft control panel.
Let’s create a database, which will be used by the Multicraft control panel in the future, using the command:
In this manual, “multicraftpaneldbuser” with the password “c7_Qm,A+;eq}=UHq5yW” will be used as the username with rights to the database for the Multicraft control panel.
Create a user and assign a password to it using the command:
We grant the new user rights to the previously created database using the command:
This tutorial will use “multicraft_daemon” as the database name for the Multicraft daemon.
Let’s create a database that will be used by the Multicraft daemon in the future using the command:
In this manual, “multicraftdaemondbuser” with the password “zkJ3Xpr7f>/TLSYw6Zk” will be used as the username with rights to the database for the Multicraft daemon.
Create a user and assign a password to it using the command:
We grant the new user rights to the previously created database using the command:
Apply the changes made using the command:
Disconnect from the MySQL Management Console using the command:
Now download the “multicraft.tar.gz” archive containing the files for installing Multicraft using the command:
Unpack the downloaded archive “multicraft.tar.gz” using the command:
Let’s go to the “multicraft” folder using the command:
Now let’s run the Multicraft installation script using the command:
Next, you need to answer a few questions from the Multicraft installer.
The first question is whether you need to run each Minecraft server using a separate user.
Press the “y” button, then “Enter”.
At the next stage, you need to specify the user that will be used to launch the Multicraft control panel.
In this tutorial, the user “minecraft” will be used to launch the Multicraft control panel.
Leave the default value and press the “Enter” button.
The next question is whether it is worth creating a new user “minecraft” for the subsequent launch of the Multicraft control panel under this user.
Press the “y” button, then “Enter”.
In the next step, you can select the directory where the Multicraft control panel should be installed.
Leave the default value and press the “Enter” button.
In the next step, you can specify the Multicraft license key.
Please note that a license key is not required to run one Minecraft server using the Multicraft control panel. More information about the cost of licenses for the Multicraft control panel can be found here.
In this tutorial, the Multicraft dashboard will be used to run one Minecraft server.
Leave the default value and press the “Enter” button
The next question is about managing multiple servers using the Multicraft control panel. If you have multiple servers for web management, you must assign a unique number to each management server daemon.
In this guide, the Multicraft control panel will control one server.
Leave the default value and press the “Enter” button.
The next question is whether the Multicraft control panel will work on the current server.
Press the “y” button, then “Enter”.
The next step is to specify the webserver user.
Leave the default value and press the “Enter” button.
In the next step, you can select the directory where the files of the Multicraft web panel should be installed.
Leave the default value and press the “Enter” button.
The next step is to provide a strong password for the daemon.
Please note that the password for the daemon set at this stage will need to be specified later at the final stage of installing the Multicraft control panel.
Specify a strong password for the daemon and press the “Enter” button.
The next question is whether you need to enable the built-in FTP server.
Enabling the built-in FTP server can come in handy for uploading the files required to run Minecraft servers.
Press the “y” button, then “Enter”.
The next step is to specify the IP address of the server that will run the built-in FTP server.
Leave the default value and press the “Enter” button.
In the next step, you need to specify the port on which the built-in FTP server will be available.
Leave the default value and press the “Enter” button.
The next question is whether to block the download of files with the “.jar” extension and other executable files downloaded using the built-in FTP server.
Press the “n” button, then “Enter”.
The next step is to specify a database management system that will be used to work with the Multicraft daemon.
This tutorial will use MySQL as the database management system.
Specify “mysql”, then press the “Enter” button.
At the next stage, you need to specify the IP address of the server on which the database for the Multicraft daemon is located.
In this tutorial, the database for the Multicraft daemon is located on the same server as the Multicraft control panel.
Leave the default value and press the “Enter” button.
In the next step, you need to specify the name assigned to the database for the Multicraft daemon, which was created earlier.
This tutorial uses “multicraft_daemon” as the database name for the Multicraft daemon.
Leave the default value and press the “Enter” button.
At the next stage, you need to specify the name assigned to the user who was created earlier and to whom the rights to the database were granted for the Multicraft daemon to work.
In this tutorial, “multicraftdaemondbuser” is used as the database username for the Multicraft daemon.
Specify “multicraftdaemondbuser”, then press the “Enter” button.
At the next stage, you need to specify the password assigned to the user who was granted rights to the database for the Multicraft daemon to work.
Specify the password assigned to the user “multicraftdaemondbuser”, then press the “Enter” button.
Everything is ready to start installing the Multicraft control panel.
Press the “y” button, then “Enter”.
The first stage of the installation has been completed successfully.
Press the “Enter” button.
The next question is whether you need to keep all of the above values to install the Multicraft control panel.
Press the “y” button, then “Enter”.
To continue the process of installing the Multicraft control panel, you need to go from the workstation to the link https://multicraft.heyvaldemar.net/install.php, where multicraft.heyvaldemar.net is the name of my server. Accordingly, you need to specify the name or IP address of your server with the Multicraft control panel installed.
Click on the “Start Installation” button.
Next, the installer will check that all the requirements for the correct installation of the Multicraft control panel are met.
Click on the “Continue” button.
In the next step, the installer will copy the Multicraft control panel configuration file to the directory with files for the Multicraft web panel.
Click on the “Continue” button.
Now you need to specify the system for managing the databases and the previously created database that will be used to work with the Multicraft control panel.
In the “Database Type” field, select “MySQL”.
In this manual, the database for the Multicraft control panel is located on the same server as the Multicraft control panel.
In the “Database Host” field, enter “127.0.0.1”.
In this manual, “multicraft_panel” is used as the database name for the Multicraft control panel.
In the “Database Name” field, specify “multicraft_panel”.
In this manual, “multicraftpaneldbuser” is used as the username with rights to the database for the Multicraft control panel.
In the “Database Username” field, specify “multicraftpaneldbuser”.
In the “Database Password” field, specify the password assigned to the “multicraftpaneldbuser” user.
Click on the “Save” button.
Next, you need to initialize the database.
Click on the “Initialize Database” button.
The database has been initialized successfully.
Click on the “Continue” button.
Now you need to log into the Multicraft control panel under the Multicraft administrator account and complete the installation process.
Click on the “Login” button.
Default login for Multicraft administrator account: admin
The default password for the Multicraft administrator account is admin
Specify the username and password of an account that has administrator rights Multicraft, and click on the “Login” button.
Next, a message will appear stating that the connection to the Multicraft control panel database has been successfully established.
Click on the “Continue” button.
Now you need to specify the database management system that will be used to work with the Multicraft daemon.
In the “Database Type” field, select “MySQL”.
In this tutorial, the database for the Multicraft daemon is located on the same server as the Multicraft control panel.
In the “Database Host” field, enter “127.0.0.1”.
This tutorial uses “multicraft_daemon” as the database name for the Multicraft daemon.
In the “Database Name” field, specify “multicraft_daemon”.
In this tutorial, “multicraftdaemondbuser” is used as the database username for the Multicraft daemon.
In the “Database Username” field, specify “multicraftdaemondbuser”.
In the “Database Password” field, specify the password assigned to the user “multicraftdaemondbuser”.
Click on the “Save” button.
Next, you need to initialize the database.
Click on the “Initialize Database” button.
The database has been initialized successfully.
Click on the “Continue” button.
In the “Administrator contact Email” field, you must specify an email address where you can contact the administrator of the Multicraft control panel.
In the “Password for daemon connections” field, you must specify the password that was set for the daemon earlier at the stage of using the installation script in the terminal emulator.
Click on the “Save” button.
Now we need to start the Multicraft daemon.
We return to the terminal emulator and start the Multicraft daemon using the command:
Return to the Multicraft control panel and click on the “Refresh” button.
The daemon started successfully.
Click on the “Continue” button.
Installation of the Multicraft Control Panel has been completed successfully.
Click on the “Continue to Multicraft” button.
Now, for security reasons, you need to delete the “install.php” file that was used during the installation of Multicraft.
Return to the terminal emulator and delete the “install.php” file using the command:
Exit the “multicraft” directory using the command:
Now delete the “multicraft” directory containing the files for installing Multicraft using the command:
Now delete the previously downloaded archive “multicraft.tar.gz” containing the files for installing Multicraft using the command:
Next, you need to configure the autorun of the Multicraft service when the operating system starts.
Load the unit prepared in advance by the Multicraft developers with the parameters for starting the Multicraft service into the “/etc/systemd/system/” directory using the command:
Assign correct rights to the “multicraft.service” unit using the command:
We enable the autorun of the Multicraft service when the operating system starts using the command:
Now you need to provide a valid email address and set a new password for the Multicraft administrator account.
Return to the Multicraft control panel and go to the “Users” tab, then click on the “My Profile” button.
In the “Email” field, indicate the current email address of the Multicraft administrator.
In the “Current Password” field, specify the current Multicraft administrator password.
In the “New Password” and “Confirm Password” fields, specify the new Multicraft administrator password.
Click on the “Save” button to save the changes.
Now you need to log into the Multicraft control panel with the Multicraft administrator account using the new password.
Click on the “Login” button.
Next, you need to specify the username and password of an account that has administrator rights Multicraft and click on the “Login” button.
Click on the “Close” button if you agree to the Minecraft license agreement.
More details on the Minecraft license agreement can be found at the link.
Click on the “Close” button if you agree to the Minecraft license agreement.
For more details on the Minecraft license agreement, please follow the link.
Everything is ready to use the Multicraft control panel.
Next, you may need to update Spigot.
Spigot is a modified Minecraft server built on top of the CraftBukkit core. Spigot is known for its stability, performance, support for a large number of plugins and is intended to replace CraftBukkit.
For details on how to update Spigot on Ubuntu Server with Multicraft, you can read my guide “Upgrade Spigot on Ubuntu Server with Multicraft”.
Also in my tutorial “Run a Minecraft Server with Multicraft” you can learn how to start a Minecraft server using Multicraft.
My Courses
🎓 Dive into my comprehensive IT courses designed for enthusiasts and professionals alike. Whether you’re looking to master Docker, conquer Kubernetes, or advance your DevOps skills, my courses provide a structured pathway to enhancing your technical prowess.
My Services
💼 Take a look at my service catalog and find out how we can make your technological life better. Whether it’s increasing the efficiency of your IT infrastructure, advancing your career, or expanding your technological horizons — I’m here to help you achieve your goals. From DevOps transformations to building gaming computers — let’s make your technology unparalleled!
Refill My Coffee Supplies
💖 PayPal
🏆 Patreon
💎 GitHub
🥤 BuyMeaCoffee
🍪 Ko-fi
Follow Me
🎬 YouTube
🐦 Twitter
🎨 Instagram
🐘 Mastodon
🧵 Threads
🎸 Facebook
🧊 Bluesky
🎥 TikTok
🐈 GitHub
Is this content AI-generated?
Nope! Each article is crafted by me, fueled by a deep passion for Docker and decades of IT expertise. While I employ AI to refine the grammar—ensuring the technical details are conveyed clearly—the insights, strategies, and guidance are purely my own. This approach may occasionally activate AI detectors, but you can be certain that the underlying knowledge and experiences are authentically mine.