Bukkit Minecraft Server
Bukkit Minecraft Server
An older PC may not run Windows 10 very well, but can easily power a Minecraft Server, especially if running Linux.
Although Mojang provides the latest Minecraft server as a Java application, the game play is vanilla. Nothing special, and very little is available to alter the game play.
Here's where Spiggot steps in with tools to create a Minecraft server that supports plugins.
The plugins are java packages created by individuals that modify / augment the game play by adding features the vanilla game lacks.
Although this guide may recommend older versions of software, IT WORKS! Attempting to use "Latest And Greatest" versions may not produce an environment in which the Spiggot BuildTools will function correctly or the server functions as expected. (Trust me! I tried this... Lubuntu 18.04 had multiple issues. Lubuntu 16.04 worked just fine!)
{{#if:|{{#ifexpr:({{#time:U|{{{3}}}}} - {{#time:U|now}}) > 0| This guide assumes you are working with a computer with NO VALUABLE DATA on it. If there is anything of any value, back it up, so nothing is lost.| This guide assumes you are working with a computer with NO VALUABLE DATA on it. If there is anything of any value, back it up, so nothing is lost.}}| This guide assumes you are working with a computer with NO VALUABLE DATA on it. If there is anything of any value, back it up, so nothing is lost.}}
Minimal Computer Hardware
Running the Java Minecraft service will consume a large quantity of CPU cycles. For good game play, with two or more players, and one or two plugins, you need a processor that can "keep up", and not spend 100% of its CPU cycles "just sitting there".
Determine and record the following information!
- The processor and its CPU Benchmark number: www.cpubenchmark.net/
- Quantity of DRAM
- Hard drive size
We can "try and see" with just about anything, but I would recommend....
- Procecssor with CPU Passmark of 1,000 or more
- 3GB of DRAM (or more)
- 200GB or larger hard drive
Server Software - Setup & Install
1. Begin by downloading Lubuntu 16.04.04 - Lubuntu 16.04.4 release
- 32-bit: {{#if:|{{#ifexpr:({{#time:U|{{{3}}}}} - {{#time:U|now}}) > 0|lubuntu-16.04.4-desktop-i386.iso|lubuntu-16.04.4-desktop-i386.iso}}|lubuntu-16.04.4-desktop-i386.iso}}, if 4GB of RAM or less
- 64-bit: {{#if:|{{#ifexpr:({{#time:U|{{{3}}}}} - {{#time:U|now}}) > 0|lubuntu-16.04.4-desktop-amd64.iso|lubuntu-16.04.4-desktop-amd64.iso}}|lubuntu-16.04.4-desktop-amd64.iso}}, if 4GB of RAM or more
- Burn a blank DVD disk with this ISO image (record image information on the disk along with the date)
- 32-bit: {{#if:|{{#ifexpr:({{#time:U|{{{3}}}}} - {{#time:U|now}}) > 0|lubuntu-16.04.4-desktop-i386.iso|lubuntu-16.04.4-desktop-i386.iso}}|lubuntu-16.04.4-desktop-i386.iso}}, if 4GB of RAM or less
2. Boot the DVD, and then select Install
3. Install process - Computer Name, use Minecraft_ followed by your first name.
- Example: Minecraft_Toad, if your first name is Toad.
4. Install process - User Name, use mcuser, and mcuser for the password.
- Later, after the class, change the password using the passwd command to something a little more secure.
At some point, the computer will instruct you to remove the DVD so it can reboot into the new OS from the hard drive.
Installing Linux Tools / Programs
- If you want to connect to the computer remotely install SSH (optional)
- $ sudo apt-get install openssh-server
I use Tera Term (version 4.87) on my PC to connect to the server
- Install Midnight Commander (optional)
- $ sudo apt-get install mc (I like using "Midnight Commander" for file moving/coping)
I like to run Minecraft in a virtual terminal, so I can disconnect / reconnect any time
- $ sudo apt-get install screen
Minecraft requires Java for the Minecraft server. By default, Lubuntu doesn't install Java.
- Install Java JRE version 8 (1.8.0) headless - Not sure the newer versions will run everything correctly.
- $ sudo apt-get install openjdk-8-jre-headless
- Make a minecraft directory to store all minecraft related maps, tools, servers, etc - cd into directory
- $ mkdir minecraft
- $ cd minecraft
Vanilla Minecraft - optional
- Download the latest server code into the minecraft directory
This downloaded a file, "server.jar". Rename the file to keep track of the version:
- $ mv server.jar minecraft_server.1.12.2.jar
- Make a folder for your first map (I have plenty of old maps that I got tired of and wanted a new map..)
- $ mkdir map_1.12.2
- $ cd map_1.12.2
- Make a startup script to make it easier to start your Minecraft server each time
I use nano for my editor...
- $ nano startminecraft.sh
Enter the following into the editor for your shell script:
#!/bin/bash
java -Xmx1024M -Xms1024M -jar ../minecraft_server.1.12.2.jar nogui
Use control x to save and exit when you're done ^X
- Change the permissions on the script file, allowing execution of the file
- $ chmod 755 startminecraft.sh
- Start the server
- $ ./startminecraft.sh
The server will start and then stop indicating you need to agree to the EULA
- Edit eula.txt, changing "false" to true"
eula=true
- Start the server again (use //stop// to stop the server)
- $ ./startminecraft.sh
At this time, you can edit server.properties file, configure the "motd", change seed, use a different server-port value, set difficulty level, max-players, max-world-size, ...
You now have a "Vanilla" Minecraft Server available to play...
With a really wimpy server, I set max-world-size=500 500 blocks in each direction (restricts players to a 1000x1000 map)
Bukkit Minecraft Server
- Install GIT
- $ sudo apt-get install git
- Configure GIT (to work with the build tools correctly)
- $ git config --global --unset core.autocrlf
- Create a folder for your Spigot Build tools
- $ mkdir spigot
- $ cd spigot
- Download Bukkit Build Tools https://www.spigotmc.org/wiki/buildtools/
- Build the new Bukkit Server
- $ java -jar BuildTools.jar
After about 10 to 20 minutes, depending on your Internet connection and processor speed, the tools will create two Minecraft server jar files, craftbukkit-1.12.2.jar, and spigot-1.12.2.jar. I've been using the "spigot" version.
The spigot folks recommend the following shell script to launch their server:
#!/bin/bash java -Xms2G -Xmx4G -d64 -jar ~/minecraft/spigot_1.12.2/spigot-1.12.2.jar nogui