Setting up a Minecraft Bedrock Server on Ubuntu

In this tutorial, we will be s showing you how to set up a Minecraft bedrock server on Ubuntu.

Ubuntu Minecraft Bedrock Server

Minecraft comes in two different flavors. One is the Java edition which is purely on PC. The other is the bedrock edition, which runs across multiple consoles, mobile devices, and Windows PCs.

A server for the Java edition of Minecraft on Ubuntu won’t work for those who are using the bedrock edition.

In this guide, we will show you how you can install the official Minecraft Bedrock server on Ubuntu. Having the official server means you will have the best compatibility with the latest versions.

The following steps will by using the terminal to install and set up this server. Don’t worry, as using the terminal is very straightforward. So before proceeding, make sure you open up the terminal on your Ubuntu device.

If you are using a desktop flavor of Ubuntu, open the terminal by pressing CTRL + ALT + T on your keyboard.

Additionally, you will need access to a user with superuser privileges on your system. Alternatively you can use the root user, however, that is unrecommended.

Table of Contents

Preparing Ubuntu for your Minecraft Bedrock Server

Before we install the Minecraft bedrock server to the Ubuntu operating system, we need to complete a couple of tasks.

These tasks ensure we have all the packages we need to download and install the server.

1. Our first step is to ensure our package list is up to date. Before installing any packages, it is usually good practice to ensure this is up to date.

To update the package list, you must use the following command in the terminal.

sudo apt update

Since we are using “sudo“, you will be prompted to enter the password for your Ubuntu user. Type in your password and press the “ENTER” key to continue.

2. Once the package list has been updated, we can install all the software we need to install and run the Minecraft Bedrock Server on Ubuntu.

To install all the needed software, run the following command within the console.

sudo apt install curl wget unzip grep screen openssl -y

If you are interested, let us quickly run through what we are using each of these packages for

  • curl – We use CURL to grab the server download page from Minecraft.net. With this page, we can scan it and make sure we are grabbing the latest download link.

    This saves time by ensuring the latest version is always downloaded.
  • wget – The wget package is what we will use to download the Minecraft Bedrock server to Ubuntu.
  • unzip – This package is the simplest package we are installing and is what we need to extract the server from the downloaded archive.
  • grep – We use the grep package to extract the correct download link from the page we grabbed using curl.
  • screen – Screen will make accessing the servers command line easier remotely when we run the server as a service.

    This package allows us to create a detached screen where the Bedrock server will run.
  • openssl – The Minecraft Bedrock server requires the OpenSSL library to run.

3. We also need to install an older version of libssl that, at the time of publishing, the Minecraft Bedrock server requires.

We can download this older version straight from the Ubuntu archive to our device using wget, as shown below.

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb -O libssl1.1.deb

4. With the “libssl1.1” package downloaded, we need to install the package to our operating system.

Installing the package is as straightforward as running the following command.

sudo dpkg -i libssl1.1.deb

5. Once the required version of the libssl package has been installed, we can safely delete the original “.deb” file we downloaded previously.

You can use the rm command to remove this file from the Ubuntu operating system.

rm libssl1.1.deb

6. We can now create a user that we will run the Minecraft bedrock server under. It is an important step as it is typically good practice to help isolate one program from another.

Using the useradd command, we will create a user called “mcserver“. By using the “-m” option we will create a home directory for this user.

sudo useradd -m mcserver

7. Next, we can use the usermod command to add our new users group to the current user.

This will allow you to easily access and edit files within the new users home directory.

sudo usermod -a -G mcserver $USER

8. As we made changes to our users groups, you will need to log out and log back in to refresh the users privileges.

You can log out of Ubuntu easily by using the following command in the terminal.

logout

9. Our next step is to create a directory where we will be storing the server itself. We will call this directory “minecraft_bedrock” and create it within our new users directory.

Create this directory using the following mkdir command within the terminal.

sudo mkdir -p /home/mcserver/minecraft_bedrock

10. You should now have everything you need to install the Minecraft bedrock server on Ubuntu, so we can move on to installing it.

Installing the Minecraft Bedrock Server on Ubuntu

Now that we have everything we need, we can download and install the Minecraft Bedrock server to the Ubuntu operating system.

1. Before you continue, you must agree to the Minecraft End User License Agreement and the Microsoft Privacy Policy.

These are the terms and conditions that you must abide by when using any Minecraft product, including the Bedrock server.

2. We start this guide by grabbing the download URL for the Minecraft Bedrock server.

To retrieve this download URL from the official website, use the following command within the terminal.

DOWNLOAD_URL=$(curl -H "Accept-Encoding: identity" -H "Accept-Language: en" -s -L -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; BEDROCK-UPDATER)" https://minecraft.net/en-us/download/server/bedrock/ |  grep -o 'https://minecraft.azureedge.net/bin-linux/[^"]*')

This command uses curl to grab the Minecraft Bedrock server download page, which is piped (| pipe symbol) to the grep command, which filters the page for the download URL.

3. Now, we can use the following command to download the Minecraft Bedrock server to our Ubuntu device.

To download this file, we will be using the wget command, followed by the “DOWNLOAD_URL” variable that contains the link to the bedrock server.

sudo wget $DOWNLOAD_URL -O /home/mcserver/minecraft_bedrock/bedrock-server.zip

Using the “-O” option, we are telling wget to save the file as “bedrock-server.zip” within the directory we created earlier.

4. Once the Bedrock server has been downloaded to Ubuntu, we will need to extract the archive.

Extract this archive by using the following unzip command within the terminal

sudo unzip /home/mcserver/minecraft_bedrock/bedrock-server.zip -d /home/mcserver/minecraft_bedrock/

5. With the server now extracted, our last installation task is to clean up some of our mess.

All you need to do is use the following command to delete the archive we just extracted.

sudo rm /home/mcserver/minecraft_bedrock/bedrock-server.zip

6. Our final task is to make sure our “mcserver” user has ownership over all of these files.

We can achieve this by using the following command.

sudo chown -R mcserver: /home/mcserver/

Configuring your Minecraft Bedrock Server

With the Minecraft Bedrock server now installed on Ubuntu you may want to configure it before starting.

Using the configuration file, you can adjust a variety of settings. This includes setting the seed, game mode, difficulty, and more.

If you want to verify that the server works, skip to the next section.

1. Within the terminal, you will want to run the following command to begin editing the “server.properties” file.

We will be using the nano text editor as it is a fairly simplistic terminal text editor.

sudo nano /home/mcserver/minecraft_bedrock/server.properties

2. Now, within this file, you will find a ton of options. We will only run through a few of the options available to you.

You can find each of these options by using the search shortcut by pressing CTRL + W, followed by the search phrase, then the ENTER key.

server-name=Dedicated server

With this option, you can control the name of your server. For example, we could use this to set our server name to “Pimylifeup Ubuntu Bedrock Server“.

gamemode=survival

Using this option, you can set the game mode your Ubuntu Minecraft Bedrock server will use.

You have three different options that you can use here “survival“, “creative“, or “adventure“.

difficulty=easy

You can also tweak how difficult the world would be. By default, this option is set to easy.

There are four options that you can use here, with those being “peaceful“, “easy“, “normal“, or “hard“.

max-players=10

You can also control the maximum number of players on your Bedrock server at any one time.

allow-list=false

This option allows you to restrict your Ubuntu Bedrock Minecraft server so only allowed users can connect.

A player must be specified within the “allowlist.json” file to connect.

view-distance=32

Using this option you can configure how many chunks the player can see in front of them. Of course, increasing the number of chunks will increase the load on your server.

The view distance has a minimum value of 5.

tick-distance=4

With this option, you can control how far away a chunk can be from a player and still be ticked. Changing this distance can affect how your Redstone circuits work.

You can set this option to any number between 4 and 12.

player-idle-timeout=30

With this option, you can control how long a player can be idle within your Minecraft Bedrock world before being kicked.

If you set this option to 0, players will never be kicked from the server.

level-name=Bedrock level

You can use the above option to control the name for your level. You can set this name to any string as long as it doesn’t contain a semicolon symbol, or any invalid filename symbol.

level-seed=

The final option we will show you here is the level seed. The level seed is what helps control the way the world is generated.

You can set the level seed to any string. If a string isn’t set, the server will generate a random seed when it first starts up.

3. Over the last step, we ran through several options you can use to control your Ubuntu Minecraft Bedrock server.

There are plenty of other options within this file you may want to explore. Most options come with an explanation of how it affects the server.

4. Once you are happy with your changes, you can quit and save by pressing CTRL + X, followed by Y, then ENTER.

Starting up your Minecraft Bedrock Server on Ubuntu

Now that we have installed the Minecraft Bedrock Server to Ubuntu and configured it, we can finally run it.

Starting the server is straightforward and requires a single command once you are in the correct directory.

1. First, let us use the cd command to change into the directory where we extracted the server.

cd /home/mcserver/minecraft_bedrock/

2. Now that we are in the correct directory, you can use the following command to start the server.

This command sets the “LD_LIBRARY_PATHenvironment variable to the current directory before launching the Minecraft Bedrock server.

sudo LD_LIBRARY_PATH=. ./bedrock_server

3. If you have successfully set up the server on your device, you should see something like the following within the terminal.

This message tells you that the server has started and gives you additional information, such as the ports the server is running on.

Additionally, you can also use the terminal now to control the server. For example, you can use the “op” command to give a player operator status.

[2022-07-01 22:16:32:813 INFO] Starting Server
[2022-07-01 22:16:32:813 INFO] Version 1.19.2.02
[2022-07-01 22:16:32:813 INFO] Session ID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
[2022-07-01 22:16:32:813 INFO] Level Name: Bedrock level
[2022-07-01 22:16:32:815 INFO] Game mode: 0 Survival
[2022-07-01 22:16:32:815 INFO] Difficulty: 1 EASY
[2022-07-01 22:16:32:839 INFO] opening worlds/Bedrock level/db
[2022-07-01 22:16:33:225 INFO] IPv4 supported, port: 19132
[2022-07-01 22:16:33:225 INFO] IPv6 supported, port: 19133
[2022-07-01 22:16:33:393 INFO] Server started.
[2022-07-01 22:16:33:420 INFO] IPv4 supported, port: 35034
[2022-07-01 22:16:33:420 INFO] IPv6 supported, port: 35782
[2022-07-01 22:16:33:444 INFO] ================ TELEMETRY MESSAGE ===================
[2022-07-01 22:16:33:444 INFO] Server Telemetry is currently not enabled.
[2022-07-01 22:16:33:444 INFO] Enabling this telemetry helps us improve the game.
[2022-07-01 22:16:33:444 INFO]
[2022-07-01 22:16:33:444 INFO] To enable this feature, add the line 'emit-server-telemetry=true'
[2022-07-01 22:16:33:444 INFO] to the server.properties file in the handheld/src-server directory
[2022-07-01 22:16:33:444 INFO] ======================================================

4. To safely stop the server you should use the following command within the Minecraft Bedrock terminal.

stop

Alternatively, you can press CTRL + C while the server is active. However, this may cause an unclean shut down.

Connecting to the Server

While your Ubuntu Minecraft Bedrock server is running, you will be able to connect to it. In the following steps, we will show you a couple of ways to connect to the server.

You may need to port forward if you are trying to connect to this server outside of your home network,. By default, this will be ports 19132 and 19133.

Before proceeding, you may also want to get your IP Address on Ubuntu.

1. When you launch the bedrock edition of Minecraft, you will want to click/tap/select the play button.

The steps will differ if you are trying to connect remotely or locally. Connecting locally is made super easy. However, to connect remotely you will need to provide details about your server.

Select Play Option on Main Menu

Connecting on a Local Network to the Bedrock Server

2. To connect to the Minecraft Bedrock server running on Ubuntu from the local network, you will want to change to the “Friends” tab (1.).

Once on the “Friends” tab, your new server should appear under the “LAN Games” heading (2.). Select the server to load into it.

Connect to Ubuntu Minecraft Bedrock Server locally

3. Above is all you need to do to connect to a bedrock server while running on the local network.

The connection process should now begin. You can skip down to “Completing your connection“.

Connecting Remotely to your Ubuntu Minecraft Bedrock Server

2. If you want to connect to your Ubuntu Minecraft Bedrock server remotely, you must follow some extra steps.

First, you must change to the “Servers” tab (1.).

Once on the servers tab, scroll down to the bottom of the list and select the “Add Server” button (2.).

Adding a New Server

3. To add an external server, you must fill out a few details about your server.

  1. First, set a name for this server to something you will easily remember (1.).
  2. Second, you need to provide the IP address of your server (2.).

    If you are connecting externally remember this needs to be your network’s external IP address.
  3. Third, you need to set the port your server is using (3.). The default setting should work fine unless you changed it in the “server.properties” file.
  4. Finally, once you are ready to connect, you will need to click the “Play” button (4.).
Enter Ubuntu Minecraft Bedrock Server Details

Completing your Connection

4. If you have never connected to a server before, you will get the following message when you connect.

If you don’t want to see this message again, tick the “Do not show this screen again” checkbox.

You will need to click the “Proceed” button to continue with the connection.

Online play is not rated

5. Your Minecraft client should now be connecting to your server.

This process can take a few seconds, especially if you are spawning into a new world, as the server has to generate the starting chunks, then send them to you.

Connecting to Server

6. Finally, if everything has worked correctly, you should now be connected to your Ubuntu Minecraft Bedrock server.

With any luck, your experience should remain smooth. There are options you can tweak within the “server.properties” file if you are experiencing poor performance from your server.

Connected to Ubuntu Minecraft Bedrock Server

Start the Minecraft Bedrock Server at Boot on Ubuntu

This section will show you how you can run the Minecraft Bedrock server when Ubuntu boots up.

The easiest way to achieve this is to create a service file. Beyond allowing the server to start at boot, a service will allow you to quickly start, stop and restart the server from the command line.

To cleanly start and stop the server we will also have to write two very short bash scripts.

Writing a Start Script for the Server

1. For our first task, we will write a simple bash script that will start the Minecraft Bedrock server when the system powers on.

We write this as a script so we can do some additional actions like placing the process into a detached screen.

sudo nano /home/mcserver/minecraft_bedrock/start_server.sh

2. Now, type the following lines into this bash script.

#!/usr/bin/env bash

SERVER_PATH=/home/mcserver/minecraft_bedrock/

/usr/bin/screen -dmS mcbedrock /bin/bash -c "LD_LIBRARY_PATH=$SERVER_PATH ${SERVER_PATH}bedrock_server"
/usr/bin/screen -rD mcbedrock -X multiuser on
/usr/bin/screen -rD mcbedrock -X acladd root

This script is reasonably straightforward to understand.

We use the “screen” application we installed earlier to launch the Minecraft Bedrock Server on Ubuntu. Doing this allows us to easily access the server command line interface while it is running.

3. Once you have finished adding these lines to the file, save and quit by pressing CTRL + X, then Y, followed by ENTER.

4. With the script created, we should now give it execution privileges using the chmod command.

sudo chmod +x /home/mcserver/minecraft_bedrock/start_server.sh

Writing a Script to Stop the Bedrock Minecraft Server Safely

1. Our next task is to write a script that will safely stop the Minecraft Bedrock Server on Ubuntu.

If we were to terminate the process, there is a chance you would lose data in the process. This is where we can utilize the screen we create during the server startup script.

Begin writing the script to stop the server by running the following command.

sudo nano /home/mcserver/minecraft_bedrock/stop_server.sh

2. Now, within this script, you will want to type in the following lines.

#!/usr/bin/env bash

/usr/bin/screen -Rd mcbedrock -X stuff "stop \r"

With this we use the “screen” tool to restore the “mcbedrock” screen created during server start up. It then sends a stop message to the server with the “stop” command before detaching the screen session again.

The advantage of doing this is that we are giving Ubuntu the chance to shut down the Minecraft Bedrock server cleanly.

3. Once you are finished writing the stop script, save and quit out of the file by pressing CTRL + X, then Y, followed by the ENTER key.

4. Now that you have written the stop script, we should give it execution privileges.

You can give the file this permission by running the following command.

sudo chmod +x /home/mcserver/minecraft_bedrock/stop_server.sh

Correcting Permissions

1. Before continuing any further we do need to make sure our “mcserver “user owns both of the scripts we just created.

The reason we need to do this is because files tend to inherit their ownership from the user that created them.

Utilize the following command in the terminal to take ownership of all the files within the directory.

sudo chown -R mcserver: /home/mcserver/

Creating the Service

1. Let us begin by creating a new service file on our Ubuntu system. We will call this new service “mcbedrock“.

Begin writing this new file by running the following command within the terminal.

sudo nano /etc/systemd/system/mcbedrock.service

2. Within this file, you must type in the following lines.

[Unit]
Description=Minecraft Bedrock Server
Wants=network-online.target
After=network-online.target

[Service]
Type=forking
User=mcserver
Group=mcserver
ExecStart=/usr/bin/bash /home/mcserver/minecraft_bedrock/start_server.sh
ExecStop=/usr/bin/bash /home/mcserver/minecraft_bedrock/stop_server.sh
WorkingDirectory=/home/mcserver/minecraft_bedrock/
Restart=always
TimeoutStartSec=600

[Install]
WantedBy=multi-user.target

3. You can save and quit out of this file by pressing CTRL + X, then Y, and finally the ENTER key.

4. With the service created we can now enable it. By enabling a service, systemctl will manage this service and start it when the system boots..

You can enable our Minecraft Bedrock Server service on Ubuntu by running the following command.

sudo systemctl enable mcbedrock

5. Even though we just enabled the service, it won’t start the server itself until Ubuntu is restarted.

We can speed up this process by just starting the service now by using the command below.

sudo systemctl start mcbedrock

If everything is working correctly, your server should now be up and running, and you will be able to connect to it.

Controlling your Ubuntu Minecraft Bedrock Server Service

Now that we have created the service let us show you how you can use it to control the Ubuntu Minecraft Bedrock server.

Controlling the server through the service is a straightforward process and revolves around us using the “systemctl” command.

Starting the Ubuntu Minecraft Bedrock Server

You can start the service by running the following command within the terminal. Of course, if the service is already running, then this command won’t do anything.

When starting the service, systemctl will execute the “start_server.sh” script.

sudo systemctl start mcbedrock

Stopping the Server While it is Running

If your Minecraft Bedrock server is running, you can stop it by using the following command.

This will execute the “stop_server.sh” script we wrote earlier in this guide.

sudo systemctl stop mcbedrock

Enabling the Bedrock Server to Start at Boot

When you enable the service, it will allow the service manager to start the service at boot.

sudo systemctl enable mcbedrock

Disabling the Minecraft Bedrock Server

You can utilize the following command, if you want to stop the Ubuntu Minecraft Server from starting at boot.

sudo systemctl disable mcbedrock

Getting the Status of your Ubuntu Minecraft Bedrock Server

By using the following command you can get the status of the Bedrock service. The status will show you whether the service is currently running

sudo systemctl status mcbedrock

Accessing the Ubuntu Minecraft Bedrock Server Command Line

One of the most significant advantages of placing the Minecraft Bedrock Server within a detached “screen” on Ubuntu is that you can access it anytime.

If the service launched the server directly without using “screen“, you wouldn’t be able to access the command line interface easily.

1. To enter the command line interface for the Bedrock server, you will need to use the following command.

This command surfaces our “mcbedrock” screen to the current session.

sudo screen -r mcserver/mcbedrock

2. Once you are done interacting with the server, you will need to detach the screen again.

Make sure you press CTRL + A, then CTRL + D to detach the “mcbedrock” screen.

Updating the Minecraft Bedrock Server

Updating the Minecraft Bedrock server on Ubuntu is a fairly straightforward process. However, it requires us to retrace some of our earlier steps.

1. Before updating your server, you need to stop it. If you are using the service, you can stop the Minecraft Bedrock server by running the following command

sudo systemctl stop mcbedrock

2. Our first step is to make a copy of our “server.properties” file. This stops you from losing your settings when you extract the new version.

sudo cp /home/mcserver/minecraft_bedrock/server.properties /home/mcserver/server.properties.bkup

3. You have to obtain the latest download URL for the Minecraft Bedrock Server before we can continue.

To get this URL use the following command within the terminal.

DOWNLOAD_URL=$(curl -H "Accept-Encoding: identity" -H "Accept-Language: en" -s -L -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; BEDROCK-UPDATER)" https://minecraft.net/en-us/download/server/bedrock/ |  grep -o 'https://minecraft.azureedge.net/bin-linux/[^"]*')

4. With the download URL now stored within a variable, we can use the following command to download the archive.

This archive should contain the latest version of the Minecraft Bedrock server for Ubuntu.

sudo wget $DOWNLOAD_URL -O /home/mcserver/minecraft_bedrock/bedrock-server.zip

5. Now that we have downloaded the archive, our next step is to extract it.

When extracting the archive using the following command, unzip will overwrite all files since we are using the "-o” option.

sudo unzip -o /home/mcserver/minecraft_bedrock/bedrock-server.zip -d /home/mcserver/minecraft_bedrock/

5. After extracting the server archives contents, we can safely delete the leftover archive.

Use the command below in your terminal to delete the archive.

sudo rm /home/mcserver/minecraft_bedrock/bedrock-server.zip

6. Now that we have updated all of the server files, we can use the mv command to move back over our “server.properties” file.

This will ensure that your configuration changes aren’t lost during the upgrade process

sudo mv /home/mcserver/server.properties.bkup /home/mcserver/minecraft_bedrock/server.properties

7. Let us ensure that unzipping didn’t ruin our users ownership by using the following command. This command will replace ownership of all the files with our “mcserver” user.

sudo chown -R mcserver:mcserver /home/mcserver/

8. Your Ubuntu Minecraft Bedrock Server has now been updated. You should now be able to start the server back up safely.

Using our service file, you can start the server back up by using the following command.

sudo systemctl start mcbedrock

Conclusion

Throughout this tutorial, we have shown you how to install and set up the Minecraft Bedrock server on Ubuntu.

We walked you through several steps of setting up the server, showing you numerous options as well as how to set the server up as a service.

Please comment below if you have questions about running a Minecraft Bedrock server on Ubuntu.

We have numerous other Ubuntu guides if you want to do more with the operating system. We have a wealth of general Linux tutorials available as well.

32 Comments

  1. Avatar for Tech_Dad
    Tech_Dad on

    Thanks for this guide. It worked perfectly. My son will be super impressed that his Dad created a minecraft server for him.

  2. Avatar for Evan
    Evan on

    Emmet, thank you for this! I was able to get my son’s server up and running on an old box I had laying around. He is ecstatic. The only issue I am having is with running commands from the console. When I am connected to the console I try to set my son’s player as op in the game. I run:

    /op PlayerNamer

    And I get this error:
    Unkown command: /. Please make sure command exists and you have permission to use it.

    Is my Minecraft systax incorrect? Or does my user not have permission because the console is owned by the mcbedrock user?

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Evan,

      Glad to hear that you got the server up and running!

      I haven’t double checked, but from memory when using the servers console, you don’t need to include the slash (“/”). So you should be able to just use “op playerName”.

      Kind Regards,
      Emmet

  3. Avatar for Chester
    Chester on

    Hi Emmet:

    Are you still answering comments? I’m receiving a 203 error when trying to start the service. Could I post a log file? Thanks.

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Chester,

      Posting the log file would definitely make it easier to debug what is going wrong. One thing to do in the mean time is to go over the bash “start_server.sh” bash script and the service file itself to ensure there hasn’t been any typos.

      Cheers,
      Emmet

  4. Avatar for Douglas
    Douglas on

    Hi Emmet,

    thank you very much for the acribic tutorial and for the clear and very easy explanations!
    It just worked.

    Now my two kids can play with their friends and they are proud to have a Minecraft server 24/7. 😉

  5. Avatar for Amol
    Amol on

    Thanks for the detailed and amazing instructions!!
    My question is how do you get the server running as a process how would you give commands like /op my son is bugging me to give him op.

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Amol,

      Glad to hear that the tutorial worked out for you. How you give OP is different depending on what path you took in the tutorial.

      If you have set up the Minecraft Bedrock server to start at boot, then you should be able to do the following. Replace username with your sons username.

      /usr/bin/screen -Rd mcbedrock -X stuff "op USERNAME \r"

      Please let me know if that fixes the issue.

      Cheers,
      Emmet

  6. Avatar for Don
    Don on

    This is a brilliant tutorial! Worked fabulous for me! The only feedback I have is that when using screen, bedrock doesn’t seem to want to write the log file (works fine otherwise and the java server version doesn’t have this problem). So I added the -L option to the screen command in the startup and it’s all just perfect! Thank you so much!!

  7. Avatar for Nodiachand
    Nodiachand on

    it works after Starting up your Minecraft Bedrock Server on Ubuntu second step “sudo LD_LIBRARY_PATH=. ./bedrock_server
    but it doesn’t work after Creating the Service five step “sudo systemctl start mcbedrock”, I type my user name on User=”” n group=”” and after I type “sudo systemctl status mcbedrock” it says

    Warning: The unit file, source configuration file or drop-ins of mcbedrock.service changed on disk. Run ‘systemctl da>

    ● mcbedrock.service - Minecraft Bedrock Server
         Loaded: loaded (/etc/systemd/system/mcbedrock.service; disabled; vendor preset: enabled)
         Active: failed (Result: exit-code) since Tue 2023-03-21 15:32:40 UTC; 8min ago
        Process: 11006 ExecStart=/usr/bin/bash /home/mcserver/minecraft_bedrock/start_server.sh (code=exited, status=0/SU>
        Process: 11031 ExecStop=/usr/bin/bash /home/mcserver/minecraft_bedrock/stop_server.sh (code=exited, status=1/FAIL>
       Main PID: 11008 (code=exited, status=0/SUCCESS)
    
    Mar 21 15:32:39 minecraft-server systemd[1]: mcbedrock.service: Control process exited, code=exited, status=1/FAILURE
    Mar 21 15:32:39 minecraft-server systemd[1]: mcbedrock.service: Failed with result 'exit-code'.
    Mar 21 15:32:40 minecraft-server systemd[1]: mcbedrock.service: Scheduled restart job, restart counter is at 5.
    Mar 21 15:32:40 minecraft-server systemd[1]: Stopped Minecraft Bedrock Server.
    Mar 21 15:32:40 minecraft-server systemd[1]: mcbedrock.service: Start request repeated too quickly.
    Mar 21 15:32:40 minecraft-server systemd[1]: mcbedrock.service: Failed with result 'exit-code'.
    Mar 21 15:32:40 minecraft-server systemd[1]: Failed to start Minecraft Bedrock Server.
    lines 1-15/15 (END)

    I m trying it for multiple hours but its not working

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Nodichand,

      If you have followed the tutorial as is there is no need to replace the username and group specified within the service file.

      I removed the incorrect line that was telling you to do so, as changing both of those are likely what is causing your issues.

      Cheers,
      Emmet

    2. Avatar for Patrick
      Patrick on

      I ran into something similar and after doing some troubleshooting, found that I made a mistake in copying over the bash script:

      SERVER_PATH=/home/mcserver/minecraft_bedrock/

      I missed the trailing / at the end of the above command in the file and that caused my server start failure.

  8. Avatar for Vagner Wosnjuk
    Vagner Wosnjuk on

    Quick question. I haven’t messed around too much with it yet, but is there a simple way to access the server console while using the server as a service? I tried to access the screen “mcbedrock” but it says there are no screens running…

    By server console I mean where I am able to see server updates and enter game commands (like “op player”, etc.). I’m referencing the section of the tutorial under “Starting up your Minecraft Bedrock Server on Ubuntu”

    Whenever I try to enter it using “LD_LIBRARY_PATH=. ./bedrock_server” while the server is running (as a service) then I get an error stating that the server is already being used on that port.

    Once again, my question is… is there a way to access the server console while the server is being used as a service.

    Thank you,
    Vagner

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Vagner,

      Sorry to hear that you are having issues with restoring the mcbedrock screen. If the server was run from the service that screen should still exist so I’m not sure what could be happening here.

      I am assuming you have tried the command below?

      sudo screen -r mcserver/mcbedrock

      Or even the following?

      sudo screen -r mcbedrock

      Cheers,
      Emmet

  9. Avatar for Orkun
    Orkun on

    Thank you very much for the detailed tutorial! In less than 20min had the server up & running.

  10. Avatar for Alfi04
    Alfi04 on

    This is a great Guide.

    I had some Problems at the Beginning but now everything works.
    For those Wanting the Server to be Public you probably need to change some Settings in your Firewall/Router.

  11. Avatar for Ack
    Ack on

    Awesome article! Thank you very much. I was able to automate the start up of my two Minecraft servers and create an update script.

    1. Avatar for AlkalineKnight
      AlkalineKnight on

      Thank you Emmet, this guide made my life so much easier.

      Two notes, on the reattach SCREEN element it maybe that people are not operating as the mcserver user.

      Second on the update outline. It may be worth adding that any other modified files such as allowed.json (filename may not be 100% correct) to the list that needs backing up to prevent them being overwritten. My server instances are locked to my children and their cousins as they are now publicly accessible.

      Finally, Ack, could you or Emmet publish a guide that would enable the server to upgrade weekly or a script that could be kicked in at will. I am going to go away and try and figure this out. Though my Linux is not the best.

  12. Avatar for Gabe
    Gabe on

    Hello, thank you for this guide! Setup was smooth, however when performing an update today the server will no longer start. After running the start command i receive this error and can’t find any way to fix it.

    Job for mcbedrock.service failed because the control process exited with error code.
    See “systemctl status mcbedrock.service” and “journalctl -xeu mcbedrock.service” for details.

    Please assist.

    Thanks!

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Gabe,

      Sorry to hear that you are having issues. Could you please try running “journalctl -xeu mcbedrock.service” after attempting to run the service again.

      This should give more logs on exactly what occurred to cause the service to fail.

      Cheers,
      Emmet

  13. Avatar for Razman
    Razman on

    Hi, I am using Digital Ocean to host Linux and install based on the instruction give here. It’s working absolutely great. Thanks for the tutorial.

    I just have one question. If I turn off the server when my daughter is not using it, and restart it back up when she wants to use it, will her items and progress be lost?

    Sorry if it sounds like a noob question, but doing this for my kids and really appreciate your answer.

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Razman,

      I am glad that this tutorial has worked well for you.

      In the case of turning off your server, if you have set it up as a service then all you need to safely shut down the Minecraft server is run the following command.

      sudo systemctl stop mcbedrock

      The service file that we wrote will send a “stop” command to the Minecraft server allowing it to gracefully save any progress and stop. Your daughter shouldn’t lose any progress unless the server suddenly gets powered off. Something that shouldn’t happen with a host like Digital Ocean.

      I hope that answers your question. If it doesn’t, please feel free to ask again.

      Cheers,
      Emmet

  14. Avatar for Alex
    Alex on

    Emmet, thank you for the tuto, I’m currently having troubles with opening the ports, and would appreciate a little guidance on this:

    I have a modem (given to me by my ISP)
    This modem has an Ethernet cable that connects to a router (xiaomi one, pretty useful)
    And this Router, has an Ethernet that feeds my dedicated pc for the server.

    So, as far as my very poor understanding goes, I added a rule for the ports on my modem and also added the rule in my router, with the internal ip address (192.168.blablabla) in both devices, but whenever I try to connect to my server, it just doesn’t connect, I see the message “Unable to connect to world”
    Is there something that I’m missing?

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Alex,

      Sorry to hear that you are having issues with getting a connection to work with Ubuntu.

      Port forwarding can work completely different depending on what router you have, there are some good resources that typically cover this process for individual devices that may be worth exploring.

      What you are doing sounds roughly right to me, with the Minecraft ports being routed to your local device. I guess have you made sure that the ports have been allowed through Ubuntu’s firewall?

      Cheers,
      Emmet

  15. Avatar for James
    James on

    It looks like step 7 is missing where it looks like you gave a step for creating a user group in the “Preparing Ubuntu” section near the top. (search for $USER) and I think it belongs right before there. I also found it confusing at first that you had the group and name the same so if I might be so bold, I’d suggest changing the group name to be a bit different. I made mine mcserverop. So the chown command was:
    sudo chown -R mcserver:mcserverop /home/mcserver/

    I know its not required and allowed to make the uname the same as the group its in, it just gets confusing for me when I’m reading through stuff like that. Otherwise, thanks so much for putting all this together and making it so very, very easy to read and execute. I’ll definitely be looking at more of your content now that I’ve found you.

    1. Avatar for Emmet
      Emmet on
      Editor

      H James,

      I am glad to hear that the tutorial worked out for you.

      In the case of the missing step, I actually just somehow misnumbered them when I originally wrote the guide. When we create the user using “useradd” a group of the same name is automatically created.

      While you can do what you have done and create a separate group, it would add extra steps to the guide with no huge benefit in terms of usability. This is because you would need to add the “mcserver” user to the new group as well as your current user ($USER variable holds the name of the current user in the shell).

      I have, however, readjusted the chown commands to use the USERNAME: syntax. That way the group that is being assigned will automatically be the primary group of that user removing the potentially confusing double up usage of the username.

      Cheers,
      Emmet

  16. Avatar for random
    random on
    wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.6_amd64.deb -O libssl1.1.deb

    doesnt work

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi,

      It looks like Ubuntu continue to change up the package versions. I have updated the command so please try again.

      Cheers,
      Emmet

  17. Avatar for Todd
    Todd on

    http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.5_amd64.deb is no longer available.

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Todd,

      I have corrected the link so it now points to the new verison.

      Please try running the command again.

      Cheers,
      Emmet

  18. Avatar for Lee
    Lee on
    wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.5_amd64.deb -O libssl1.1.deb

    This line does not find anything. i receive:

    milsees@ThinkCentre-M73:~$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.5_amd64.deb -O libssl1.1.deb
    --2022-07-09 13:34:28--  http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.5_amd64.deb
    Resolving archive.ubuntu.com (archive.ubuntu.com)... 91.189.91.39, 185.125.190.39, 185.125.190.36, ...
    Connecting to archive.ubuntu.com (archive.ubuntu.com)|91.189.91.39|:80... connected.
    HTTP request sent, awaiting response... 404 Not Found
    2022-07-09 13:34:28 ERROR 404: Not Found.
    
    milsees@ThinkCentre-M73:~$ ^C
    milsees@ThinkCentre-M73:~$
    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Lee,

      I have updated the command so it should now work fine, please try running it again.

      Cheers,
      Emmet

Leave a Reply

Your email address will not be published. Required fields are marked *