I don’t think there’s any need to explain what Minecraft is, so here are a few resources I’ve gathered on the topic.
Resources
Category | Date | Link | Notes |
---|---|---|---|
Category | Date | Link | Notes |
Servers | 2016-06 | PocketMine-MP | A server for the Pocket Edition, which unfortunately uses a lot of PHP for some ungodly reason |
DragonProxy | A proxy that allows Pocket Edition clients to connect to standard servers |
||
Nukkit | A Pocket Edition server written in Java |
||
highmc | A much more interesting (but incomplete) Pocket Edition server written in Go |
||
cuberite | A C++ server for the desktop version |
||
Genisys | A PocketMine fork |
||
Spigot | A Java based server |
||
2019 | NukkitX | Seems to be the new hotness as far as PE servers are concerned |
|
Services | 2016-06 | Intercraften | Provides family-friendly servers and an awesome map |
Installing Spigot
Currently deprecated, but kept for historical reasons:
mkdir minecraft
cd minecraft
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
java -jar BuildTools.jar
# wait
echo "eula=true" > eula.txt
java -jar -Xms512M -Xmx1008M spigot-1.9.4.jar nogui
Old Setup (2016)
- Pocket Edition clients (v0.15.6)
- Overclocked Raspberry Pi Model B+ running Nukkit atop Java 8.
This is enough for two players to frolick around a shared world, and the Pi is around 30% CPU load most of the time (probably due to miserable IO throughput from a Class 4 SD card)
Also, I’ve set things up so that I have a backup on another box:
# m h dom mon dow command
@reboot cd /home/pi/minecraft && java -jar nukkit-1.0-SNAPSHOT.jar > /dev/null 2>&1
0 * * * * cd /home/pi/minecraft/worlds && git add . && git commit -a -m "snapshot" > /dev/null 2>&1
10 */4 * * * cd /home/pi/minecraft/worlds && git push origin master > /dev/null 2>&1
New Setup (2019)
Dockerized NukkitX atop Java 11, using the following Dockerfile
:
FROM adoptopenjdk/openjdk11:armv7l-debian-jdk-11.0.4_11-slim
# https://github.com/NukkitX/Nukkit
ADD https://ci.nukkitx.com/job/NukkitX/job/Nukkit/job/master/lastSuccessfulBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar /app/nukkit.jar
RUN useradd --user-group \
--no-create-home \
--home-dir /data \
--shell /usr/sbin/nologin \
minecraft
# Volumes
VOLUME /data /home/minecraft
# Ports
EXPOSE 19132
# Make app owned by minecraft user
RUN chown -R minecraft:minecraft /app
# User and group to run as
USER minecraft:minecraft
# Set runtime workdir
WORKDIR /data
# Run app
ENTRYPOINT ["java"]
CMD [ "-jar", "/app/nukkit.jar" ]
…and the following server.properties
file:
#Properties Config file
#2019-05-01 09:32:12
motd=A Nukkit Powered Server
sub-motd=https://nukkitx.com
server-port=19132
server-ip=0.0.0.0
view-distance=10
white-list=off
achievements=on
announce-player-achievements=on
spawn-protection=16
max-players=20
allow-flight=on
spawn-animals=on
spawn-mobs=on
gamemode=1
force-gamemode=on
hardcore=off
pvp=on
difficulty=1
generator-settings=
level-name=world
level-seed=
level-type=DEFAULT
allow-nether=on
enable-query=on
enable-rcon=off
auto-save=on
force-resources=off
bug-report=on
xbox-auth=off
online-mode=off
public=on
Note: If you have problems connecting via the iPhone, try using a Wi-Fi only iPad instead, since the client seems to get confused with multiple interfaces.