These instructions will provide you with a list of requirements and steps for configuring your own Minecraft server using the Raspberry Pi. Once complete, you will be able to access and play with your friends from across the world on your Raspberry Pi.

Step 1: Materials

Raspberry Pi: Model B

USB Power Adapter

Ethernet Cable

SD Card(At least 4GB)

Soft-float Debian "wheezy"( Can be found here: http://www.raspberrypi.org/downloads )

Imaging software (ex: Win32DiskImager: http://sourceforge.net/projects/win32diskimager )

SSH Client ( ex: Putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html )

Step 2: Development Environment

PC with Internet connection & SD card reader

Additional wired Internet connection

Extra USB Keyboard

Monitor (with HDMI port, or adapter)

HDMI cable (and adapter, if necessary)

Step 3: Download and Burn Linux Distribution Image to SD Card

Download the Soft-float Debian “wheezy” image zip file (http://www.raspberrypi.org/downloads) and unzip it into a directory of your choice.

     Linux distribution used: 2013-05-29-wheezy-armel

Obtain imaging software that will support SD cards

     Ex: Win32DiskImager, http://sourceforge.net/projects/win32diskimager/

Burn an image of the linux distribution to SD card:

1. Open Win32 Disk Imager
2. Click on Directory icon and navigate to downloaded and unzipped image (.IMG) and select ‘Write’ … confirm “Yes” when prompted
3. When complete, a window will pop up saying “Write Successful”.  Click OK.  Click Exit.
4. Remove SD card.

Step 4: Initial Boot and Configuration of the Raspberry Pi

1. Insert SD card into Pi in without a power supply
2. Ensure that HDMI, keyboard and mouse are connected properly
3. Connect the 5V power supply
4. The Pi should boot as a list of processes and applications begin filling the screen
5. A blue screen appears with ‘Raspi-config’ and several menu options
6. Arrow down to Select ‘expand_rootfs’ and press Enter
7. ‘Root Partition has been resized’, press Enter.
8. Arrow down to ssh
9. Enable SSH
10. Reboot
11. If all boots correctly then you are ready to start the install.

Step 5: Configure Internet Access

1. Connect the Pi to a local network via Ethernet cable.  Green and yellow lights should appear on the Pi board itself.
2. Open a Terminal by double clicking on the desktop icon ‘LXTerminal’
3. Type ‘ifconfig’ to ensure and press Enter that the Pi has a valid IP address
4. Type ‘ping’ and Press Enter to ensure that the Pi can reach external servers.
     a. (Press CTRL+C to stop Ping and any other programs running in the current terminal)

Step 6: SSH to Raspberry Pi

Now you are fully setup with a working Raspberry Pi. You are ready to SSH into it and start the install.

1. Open Putty
2. Enter your PI's IP address
3. Login using Username: Pi Password: Raspberry
4. You have successfully logged into your headless Pi

Step 7: Install Java

Download Java to the Raspberry PI

    wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" "http://download.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-arm-sfp.tar.gz"

Then we need to make folder in wich should we put our files:

     sudo mkdir -p -v /opt/java

Then we unzip Java files using the following command:

     tar xvzf ~/(Name of your Java package file).gz

Then we move Java files into /opt/java:

     sudo mv -v ~/jdk1.7.0_06 /opt/java

Then we need to tell that new JVM has been installed on Raspberry Pi:

     sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/jdk1.7.0_06/bin/java" 1

     sudo update-alternatives --set java /opt/java/jdk1.7.0_06/bin/java

Then, this command should work and give this result:

     java -version

Step 8: Install the Minecraft Server

Make a Folder for the Server
    mkdir MCServer
Move into the folder
    cd MCServer
Download the Server
    wget https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar
Start it up!
    java -Xmx256M -Xms256M -jar minecraft_server.jar

Step 9: Finished

Congratulations you have just installed a fully functional Minecraft Server on to the Raspberry Pi! It is possible to log in and play with friends now. 

You have to Port Forward just as any other server but the hard part is over.
<p>On step 5: 'ifconfig' should be 'ipconfig', right?</p>
<p>Nope ifconfig is right</p>
<p>I think its right. On linux, the command is ifconfig, not ipconfig like windows.</p>
<p>Great Project, lots of fun!</p>
<p>where do i find the jave package name in step 7 ?</p>
<p>Hi KafmanV,</p><p>If you can't do the Java part and having issues with the name or something, you can just skip it because raspberry pi has it's own Java program.</p>
<p>Wonderful project</p><div>Any one need professional help in setting up and have it running on pi<br><p>contact</p><p>papashok64@gmail.com</p><p>Also support over Teamviewer </p><p><a href="https://www.fiverr.com/papashok/help-you-with-raspberry-pi-project-code" rel="nofollow">https://www.fiverr.com/papashok/help-you-with-rasp...</a></p></div>
<p>So the version of Minecraft that runs on the PC must be the same version that runs on the server?</p><p>How much data goes in and out of the Pi during a typical game? Are we talking small status like updates, or huge continous data streams that contain all the scene/environment graphic information?</p><p>Aside from a slow gameplay, is it possible to run a minecraft server on an arduino (with an ethernet shield) ?</p>
<p>@snoop911. The client and server must be the same version or you wont be able to connect.</p><p>as for data all online games that connect to a server have a constant back and forth flow of data. its not huge but it it continuous.</p><p>and as for question 3 a minecraft server can not be run on an arduino. an arduino is at its core just on and off switches that are programmable to function in a specific way. an ethernet shield only allows for trigger signals to be received over that medium and programed outputs can be replied.</p><p>tl;dr 1;yes. 2.alot. 3.no. never.</p>
<p>Thanks. Since posting my question, I found an example of minecraft running on an 8-bit avr!</p><p>https://www.youtube.com/watch?v=EZRLOanNQ_w</p><p><a href="http://pastebin.com/f0HJG4c1" rel="nofollow">http://pastebin.com/f0HJG4c1</a></p><p>From the video, it looks like the outputs of the device can be controlled from the gameplay! Any thoughts on how this server works?</p><p>Does all the map/environment reside on the server? If so, I would imagine inputs to the device can also be represented in the game, maybe using a redstone lamp? </p>
<p>how do i stop it form running</p>
<p>Press Control+C or type &quot;stop&quot;</p>
<p>how do i find the ip adress to connect to it</p>
<p>A few comments:</p><p>1. These basic <br>instructions work well with a Raspberry Pi 2 model B running raspbian <br>jessie. I suggest using the flags &quot;-Xms256M&quot; and &quot;-Xmx 768M&quot; or larger <br>on the java command to start the server.</p><p>2. These instructions DO <br>NOT WORK with Minecraft PE. To setup a Minecraft PE server on a <br>raspberry pi, you will need to install &quot;pocketmine&quot; which is not <br>affiliated with Mojang and is done at your own risk.</p><p>3. Minecraft <br>(especially Minecraft PE) servers are sensitive to which version of <br>Minecraft (PE) you are running on your computer/device. Be sure that <br>your device software version is compatible with the server software version you are <br>using.</p>
<p>My server says its version 1.5.2, how do I update this? Also what will the IP adress of my server be?</p>
<p>I have the same problem anyone help?</p>
<p>link for 1.9 https://s3.amazonaws.com/Minecraft.Download/versions/1.9.2/minecraft_server.1.9.2.jar</p>
<p>link for 1.9 https://s3.amazonaws.com/Minecraft.Download/versions/1.9.2/minecraft_server.1.9.2.jar</p>
<blockquote>[INFO] Starting minecraft server version 1.5.2<br> [INFO] Loading properties<br> [WARNING] server.properties does not exist<br> [INFO] Generating new properties file<br> [INFO] Default game type: SURVIVAL<br> [INFO] Generating keypair<br> [INFO] Starting Minecraft server on *:25565<br> [SEVERE] Encountered an unexpected exception NoSuchMethodError<br>java.lang.NoSuchMethodError: method java.net.ServerSocket.setPerformancePreferences with signature (III)V was not found.<br> at if.&lt;init&gt;(SourceFile:36)<br> at ie.&lt;init&gt;(SourceFile:16)<br> at hz.c(SourceFile:132)<br> at net.minecraft.server.MinecraftServer.run(SourceFile:306)<br> at gp.run(SourceFile:573)<br> [SEVERE] This crash report has been saved to: /home/anthonux/MCServer/./crash-reports/crash-2016-03-06_14.55.51-server.txt</blockquote>
Is it possible to update Java 7 to Java 8? Not really for any reason but just to do it.
<p>lolz </p>
<p>You can now just do</p><p>sudo apt-get install oracle-java7-jdk</p>
<p>Thank you for this.</p>
<p>thank you saved me</p>
<p>i know for bukkit its port 95565 (or atleast it works for me) pe is differnt</p>
<p>And that will suffice?</p>
I'm thinking of running this on a newer Pi, then I can dedicate my Gaming/Render tower to personal use only.<br><br>Thanks for sharing! - Sam
<p>I'm getting this error while trying to install server.... can someone please help.</p><p>2015-05-06 23:52:15 [INFO] Preparing spawn area: 97%<br>2015-05-06 23:52:16 [INFO] Preparing spawn area: 98%<br>2015-05-06 23:52:17 [INFO] Preparing spawn area: 99%<br>2015-05-06 23:52:19 [INFO] Done (181.468s)! For help, type &quot;help&quot; or &quot;?&quot;<br>2015-05-06 23:52:23 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?<br>2015-05-06 23:54:19 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?<br>2015-05-06 23:54:21 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?<br>2015-05-06 23:55:05 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?<br>2015-09-08 12:53:26 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?</p>
<p>have you changed the setting and saved them (in server properties) while the launcher is open? </p>
It just means that the server is having a lot of lag. Its not detrimental in any way. If it happens too often its because too many chunks are loaded. You can try restarting the server. In severe cases you may have to disable the nether or the end.
<p>it worked!!!!!!!!!!</p>
<p>is it minecraft 1.5.2</p>
Be sure to forward port 25565 on you router with both TCP and UDP. If for some reason you can't use port 25565 you can change the port the server binds to in the server.properties file.
<p>I was just wondering..... does the pi have to be forever connected with an Ethernet cable? Or can we just keep it on with an adapter after step 5?</p>
<p>you can set up portforwarding on your router</p>
<p>Ok, port forward what? Which port?......</p>
<p>how can i connect in a minecraft server from pi</p>
<p>At step 7 how do you know the &quot;Name of your Java package file&quot;?</p>
<p>You can do this instead to get java, it's new and easier: https://www.raspberrypi.org/blog/oracle-java-on-raspberry-pi/</p>
<p>No way. This the vanilla will hardly run on any RPi </p><p>Spigot will outperform any other server here (search for spigotMC)</p>
<p>I tested it on my B+ and it works fine. Just don't try it on an A/A+. (remember to change the heap to 496M to maximize ram usage)</p>
<p>I have also rpi b+ but when i run server it say :</p><p> [WARNING] Can't keep up! Did the system time change, or is the server overloaded?<br><br><br>and i cant conect in from minecraf? can you help me</p>
<p>^ It's blank??????</p><p>Anyway, how do I run this thing on LAN?</p>
<p>whether there can only play premium user?</p>
<p>Is rasp b+ strong enough for 3 players server?</p>
<p>I recently made a 10 player server with 30 plugins on my Raspberry Pi 2.</p><p>The only thing I notice is that it lags a little if you switch between worlds but apart from that it works pretty well.</p><p>Please check it out if you got the time: </p><p></p><p>Don't forget to add the port number otherwise you will be redirected to my other server.</p>
Hi djchewmacca,<br>Yesterday I tried to play on your server, it work fine !<br>I've got a raspberry 2 and I dont have the same result :( (very laggy when 2 players connected).<br>Can you details me the steps, servers you use (pm if you want)<br>Thanks a lot<br>G.

About This Instructable




More by chrisgoad3882:Raspberry Pi: Minecraft Server 
Add instructable to: