Raspberry Pi Minecraft Bedrock Server

In this tutorial, we will be showing you how to set up your very own Raspberry Pi Minecraft Bedrock server. This project is a cheap way of providing you with an always-on, Bedrock capable server.

Raspberry Pi Minecraft PE Server

This setup stops you from having to leave your phone or computer online if you want others to be always able to access your world. The Pi is also pretty good on power usage so you can save on your power bill too.

For this tutorial, we will be making use of the Nukkit software. We decided to utilize Nukkit since we found that it was one of the most stable Minecraft Bedrock servers currently available that will run on a Raspberry Pi. While still not feature complete, it is still fairly actively developed.

Please note there are some serious drawbacks when comparing this against the Vanilla bedrock server. However, it sadly isn’t currently possible to run the vanilla server on a Raspberry Pi.

If you’re after a server for the Java version of Minecraft, then you should check out our previous tutorial that shows you how to set up a spigot Minecraft server.

If you would like to know more about the server software, then you can find out more about it on the Nukkit website.

Equipment List

The following pieces of equipment are what I recommend when it comes to completing this Raspberry Pi Minecraft Bedrock server.

Optional

  • Raspberry Pi Case ( Amazon )

We last tested this tutorial on a Raspberry Pi 5 that was runing the latest version of Raspberry Pi OS Bookworm.

Setting up your Raspberry Pi Minecraft Bedrock Server

In this tutorial, we will work entirely within the terminal. In fact, it is best to change the boot mode of the Raspberry Pi, so it boots directly into the terminal for the Minecraft Bedrock server.

You can also install Raspberry Pi OS Lite, so you don’t install any of the additional packages that come with the full version of Raspberry Pi OS, make sure you install java as we will need that.

Minecraft servers are hugely demanding on the Raspberry Pi’s hardware, so every extra bit of resources made available to it, the more it can handle. It’s important to keep this in mind before installing any additional software packages that may drag the performance down.

Preparing your Raspberry Pi

1. Before we begin setting up the Minecraft Bedrock server on our Raspberry Pi, there is a few things that we will need to get ready. Let us start off by updating our Raspberry Pi’s existing packages to their latest versions by using the following two commands.

This first command will update the package list cache, the second will use this updated cache to upgrade any out-of-date packages.

sudo apt update
sudo apt upgrade -y

2. With your Raspberry Pi updated, we only need to ensure that the two packages are installed for us to be able to install and run the server.

Use the command below to install the wget tool as well as the default JDK package. The JDK package is the most important of the two as it is what will install the Java runtime on to our Raspberry Pi.

The Nukkit server that we are relying on to set up a Minecraft Bedrock Server on our Raspberry Pi is written in Java and requires this runtime to work.

sudo apt install default-jdk

Installing the Minecraft Bedrock Server on the Raspberry Pi using Nukkit

3. Now that we have all the packages, we need to set up the Minecraft Bedrock Server, let us move on to creating a place to store it on our Raspberry Pi.

Create a directory within your current user’s home called “nukkit” by using the mkdir command.

mkdir ~/nukkit

4. Once the directory has been created, change to it by using the cd command.

cd ~/nukkit

5. At this point, we can now download the latest version of Nukkit to our Raspberry Pi by using the following command in the terminal. These builds of Nukkit are provided by the Open Collaboration team.

Being able to download the precompiled version of the Minecraft Bedrock Server saves us a lot of hastsle as the compiling time can take considerable time on a Raspberry Pi

wget -O nukkit.jar https://go.pimylifeup.com/3xsPQA/nukkit

Initial Run of Nukkit

6. With Nukkit now downloaded to our Raspberry Pi, we can now run it, this will generate all the files we need to be able to configure the server further.

Running Nukkit is incredibly easy, we can run it with the following simple command.

java -jar nukkit.jar

7. Upon running the server for the first time, you will be asked to choose a language, for this tutorial we will be using English. Therefore, we typed eng into the console and pressed enter.

select language

8. The server should immediately begin to boot up, and the server should display the following text when it is ready to be connected to.

[INFO] Preparing level "world"
[INFO] Starting GS4 status listener
[INFO] Setting query port to 19132
[INFO] Query is running on 0.0.0.0:19132
[INFO] Default game type: Survival Mode
[INFO] Done (3.109s)! For help, type "help" or "?"

9. While you can now begin to play on your server, you might want first to configure it, so it is set up more to your liking. To do this, first, stop the process by pressing CTRL + C.

Configuring your Minecraft Bedrock Server on the Raspberry Pi.

10. The Minecraft Bedrock Server we are using on our Raspberry Pi actually generates two different configuration files.

a. The first configuration file is the one that controls how the Nukkit software we are using operates. With this you can control things such as the seed using for generating a world, how many chunks should be sent and just things like that.

Most users will probably not need to edit Nukkit’s configuration file, but if you wanted to take a look you can begin editing by running the following command in the terminal.

nano ~/nukkit/nukkit.yml

b. The other configuration file that Nukkit generates when it first starts is the one that controls the Minecraft Bedrock server game settings. With this you can control various options such as whether PVP should be enabled, what game mode to use and more.

You can edit the Minecraft server properties by using the command below in the terminal.

nano server.properties

11. Once you have finished making your changes to the configuration files, make sure you save them by pressing CTRL + X then pressing Y and then ENTER.

12. Afterwards, you can immediately proceed to start up Nukkit again by typing in the following command:

However, if you plan on running a Minecraft Bedrock Server on your Raspberry Pi for the long run, we recommend skipping down to our section on getting the server to start at boot.

java -jar nukkit.jar

Connecting to your Minecraft Bedrock Server

If you’re on a local network, then it will be easy to connect to the Raspberry Pi Minecraft Bedrock server. To test out our recently setup server, we will need to do the following.

1. If you don’t already know the IP address of your Raspberry Pi, one of the easiest ways to get it is by using the “hostname” command within the terminal.

The first IP address returned by this command will be the local IP assigned to your Pi.

hostname -I

2. Now load up Minecraft on a Mobile Phone, a Windows PC, or console that is located on the same local network as the Raspberry Pi.

minecraft pocket edition main menu

3. Go to the friend’s tab and then your server should pop up at the bottom under LAN Games. If it doesn’t simply go to direct connect and enter the IP we got earlier on the Pi using the hostname commandhostname -I“.

We have highlighted the direct connect button in our screenshot below.

Raspberry Pi Minecraft PE Server Connect Buttons

If you want to allow access to the Minecraft Bedrock server via the internet, then you will need to setup port forwarding.

You will need to port forward the port 19132 (Unless you change it in the server properties) to the local IP address of your Raspberry Pi. Keep in mind opening ports always increases the security risk from outside sources.

For more information check out our port forwarding guide for the Raspberry Pi.

Updating your Minecraft Bedrock Server

1. To update your Raspberry Pi powered Minecraft Bedrock Server you will first have to make sure you are in the correct directory by running the following change directory command.

cd ~/nukkit

2. Within this directory, all we need to do is redownload the latest available Nukkit binary from their build servers.

Run the following command to download the latest build of Nukkit to your Raspberry Pi.

wget -O nukkit.jar https://go.pimylifeup.com/3xsPQA/nukkit

3. Once the download has finished you should now have the latest available build of Nukkit, and you can now start your server up again by running the following command.

java -jar nukkit.jar

Start the Bedrock Server at Boot

1. To be able to get our Bedrock server to start at startup, we will need to go ahead and create a service for it.

Let’s begin writing this service by running the command below.

sudo nano /lib/systemd/system/minecraftbedrockserver.service

2. Within this file add the following text. This text defines the service and tells the service manager what file to run.

Ensure that you replace “<USERNAME>” with your username. For example, if your username is “pi” you would replace the text with that.

[Unit]
Description=Minecraft Bedrock Server

[Service]
User=<USERNAME>
Group=<USERNAME>
Restart=on-abort
WorkingDirectory=/home/<USERNAME>/nukkit
ExecStart=/usr/bin/java -jar /home/<USERNAME>/nukkit/nukkit.jar

[Install]
WantedBy=multi-user.target

Once you have entered in all the data, you can save the file by pressing CTRL + X then Y followed by ENTER.

3. Now that we have created our new service we need to go ahead and enable it by running the following command.

sudo systemctl enable minecraftbedrockserver.service

4. Let’s go ahead and now start up our Pi’s Minecraft Bedrock server with the command below.

This command will tell the service manager to start up our newly created service.

sudo systemctl start minecraftbedrockserver.service

5. If you want to check the status of the Bedrock servers service, then you can with the command below.

sudo systemctl status minecraftbedrockserver.service

Conclusion

Hopefully, by now you should have a fully operational Raspberry Pi Minecraft Bedrock Server.

If you come across any issues or have some feedback related to this tutorial, then please don’t hesitate to leave a comment below.

If you liked this tutorial, be sure to check out our many other Raspberry Pi projects.

Leave a Reply

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

66 Comments

  1. Avatar for Eduard
    Eduard on

    Is the update link still up-to-date?? it doesn’t appear to be so

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Eduard,

      It looks like the Nukkit team made some key changes to where new releases are served from. I have made some changes on our end so it should now pull the latest available version that they offer.

      Kind regards,
      Emmet

  2. Avatar for Andy Simm
    Andy Simm on

    I got this working on my Pi to replace a windows server on an old PC. Configuration of the Nukkit server is a little more complex than the official bedrock server with the requirement to download plug-ins to make it equivalent. Unfortunately it seems there is a limitation with Nukkit currently that might be an issue for some people. If you join from a console additional split screen players arnt supported by Nukkit. If a 2nd player on the same console tries to join their screen hangs on the spawning world and the player doesn’t appear in the server window. This is a shame as it would have been nice to put this on the Pi but its not usable for me currently without it unfortunately.

  3. Avatar for Mark
    Mark on

    This looks like a great tutorial. Before I jump in on my Pi5 and build this, can you tell me if the server saves its configuration, or does every “restart” create a blank world. My nieces will kill me if I build them a server that wipes all their work after a power failure 🙂 Cheers Mark !

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Mark,

      From memory the server automatically saves every so often, I can’t remember how often it occurs though. You can always verify this by hopping in a world, deleting a few obvious blocks and then simulating a power failure.

      You could always use something like the PiPower UPS if you wanted to help prevent data loss due to a power failure.

      Kind regards,
      Emmet

  4. Avatar for julian
    julian on

    Start the Bedrock Server at Boot, step 2: It’s important to include here that the user, group and paths need to be relevant to the user. It may not necessarily be “pi”. I found this out the hard way. (n00b to linux)

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Julian,

      Apologies for that and thank you for letting me know. I have updated the tutorial to reference the need to put in your own username.

      Kind regards,
      Emmet

  5. Avatar for Ryan McKay
    Ryan McKay on

    What is the best way to uninstall this server from my pi4? I would like to start over and have a clean install.

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Ryan,

      Uninstalling the Minecraft Bedrock server from your Raspberry Pi should be as simple as using the following commands.

      First you will want to disable the bedrock server service.

      sudo systemctl disable minecraftbedrockserver.service

      Next, ensure that the server is stopped by using the following command.

      sudo systemctl stop minecraftbedrockserver.service

      We can now remove the service file to return your Pi back to when the service wasn’t created.

      sudo rm /lib/systemd/system/minecraftbedrockserver.service

      Finally, all you need to do is delete the Nukkit directory by using the command below.

      rm -r -f ~/nukkit

      Let me know if this works for you.

      Cheers,
      Emmet

  6. Avatar for Iain
    Iain on

    Hi

    I can not update my server using the link

    wget -O nukkit.jar https://go.pimylifeup.com/3xsPQA/nukkit

    Can the update link changed?

    Thanks!

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Iain,

      Thank you for bringing up this issue.

      I have updated the link so that it will now point to latest version of Nukkit.

      Cheers,
      Emmet

  7. Avatar for Sebastian
    Sebastian on

    hello I did everything exactly as in the instructions but when I enter https://ci.opencollab.dev/job/NukkitX/job/Nukkit/job/master/lastSuccessfulBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar always comes error 404 not found

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Sebastian,

      It looks like the NukkitX team has changed where the latest snapshots are stored. I’ve updated the download link so it should work again.

      Cheers,
      Emmet

  8. Avatar for VojvasCZ
    VojvasCZ on

    Can I put the existing world to server? Thanks

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi VojazCZ,

      Sadly not. From what I understand, the server software we are using uses its own saving format for the world.

      Cheers,
      Emmet

  9. Avatar for Edwin Bates
    Edwin Bates on

    tried loads of different server tutorials and none worked except this one but realised it was a nukkit server and wouldn’t have any mobs i have found a mob plugin but how do i install plugins?

  10. Avatar for EDWARD ASHFORD
    EDWARD ASHFORD on

    Hi it’s running well on an RPi4 8GB, except I spawned in a deep cavern and had to dig a stair with my hands in the dark!

    One oddity, I can’t seem to crsft a torch with charcoal, the mini craft and the crafting table want coal. Is this so, or just me?

  11. Avatar for Keri Page
    Keri Page on

    Hi,
    When will the Nukkit server be updates to 1.16.201?

    The kids are nagging me to get it done.

    Thanks

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Keri,

      You can try the following experimental build instead which is meant to have support for 1.16.200 however it is apparently buggy and users may run in to random disconnects.

      wget -O nukkit.jar https://ci.opencollab.dev/job/NukkitX/job/Nukkit/job/master/lastSuccessfulBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar

      Cheers,
      Emmet

  12. Avatar for BLUE TANUJ YT
    BLUE TANUJ YT on

    Hi, i am from india and i have succesfully made a mcpe server on an orange pi pc using this guide…….. I am thankful also, but i had a small problem here……..when the electricity is suspended several times, the “level.dat” file in the world folder gets automatically converted into an empty text document……
    Here are my specs :-
    1.orange pi pc 1 gb ddr3 ram , 1.6ghz quad-core allwinner H-3 processor.

    2.terabyte usb wifi adapter (the cheap ₹300 one…..)

    Pls do reply soon, and thanks for this guide works in 2020 as well!!

    Keep up,
    BLUE TANUJ YT

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Blue,

      Sadly there is not a lot you can do about this, the sudden power off will likely be causing the data to be corrupted.

      The only solution would be to purchase a UPS and have your Raspberry Pi be connected to that. However that is not a cheap option.

      Cheers,
      Emmet

    2. Avatar for Obvius1
      Obvius1 on

      I want to expand on Emmet’s comment

      A UPS for a Raspberry Pi can be very inexpensive as you can just use a battery powerbank, but it needs to have the feature that it can charge and supply power at the same time. Usually one that has this feature, will have it on the box.

      Another option is to use something like the PiJuice, which has a battery in it, and has other features like letting your raspberry pi know that it’s battery will run out so the raspberry pi can shut down safely. This is a more elegant solution, but it wil probably cost a little more.

  13. Avatar for Graham
    Graham on

    Thanks for the tutorial – that’s worked brilliantly. We’ve noticed a few quirks when playing on the server. Some items can’t be placed – you can have them in your inventory but when you try and place them, they just pop straight back into your hand. So far we’ve found it to be a problem with wooden signs, barrels and looms, but there are probably others. Could that be related to plugins? I’ve only added the MobPlugin so far, so we’d have mobs and animals. Might it need something else added? Also we seem to have stopped having nights in the game – it’s permanently daytime. We got nights to start with but they’ve stopped. I’ve tried rebooting, and restarting the Nukkit server, but made no difference. Last oddity is that I’m never getting hungry! Other players do need to eat, but my food is permanently full. Any ideas on any of those? Thanks!

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Graham.

      Sadly this may be a problem with Nukkit itself.

      I am considering rewriting this tutorial to use an alternative solution that seems to be more actively developed. I just need to test how the performance is on a Raspberry Pi.

      Cheers,
      Emmet

    2. Avatar for BLUE TANUJ YT
      BLUE TANUJ YT on

      Hi there Graham,
      Seems like its due to the wrong gamerules……

      Here is what u can try:-
      1. Firstly, get yourself the operator permission by either from the terminal on your picture or get the “op password” plugin from nukkitx…

      2.type and change the following to true:-

      1. /gamerule dodaylightcycle true
      2. For Hunger I don’t know what is the command called but type “/gamerule” and you will get a lot many commands just check which one works out for you….

      Hopefully this should help you

      CIA,
      BLUE TANUJ YT

  14. Avatar for Scott
    Scott on

    When I type java -jar nukkit.jar into the console, it says the jarfile nukkit.jar can’t be accessed. What should I do?

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Scott,

      That seems odd. I just tested the guide then and everything seems to be wokring as intended.

      Are you sure you have downloaded the file using step 11 of the tutorial? That error message is typically shown when the file doesn’t exist or tyhe user doesn’t have permission to access it.

      Using the following command you should be able to see if the file exists within the nukkit directory we create during the guide.

      ls -l ~/nukkit
    2. Avatar for help
      help on

      do “cd nukket” first