This is an adaption of http://www.excogitation.org/setting-up-a-minecraft-server-using-systemd-under-ubuntu-15-10/
Above guide is good, but I prefer doing things a little different, for instance I prefer tmux instead of screen. Screen is a bit less user friendly, and attaching to a session started from systemd job is more problematic under screen
Install dependencies:
sudo apt-get install default-jre
Create a user for your minecraft server:
sudo adduser minecraft
switch to minecraft user
su minecraft cd
add server directory:
mkdir server cd server
Download server, link can be found here: https://minecraft.net/download
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.9.2/minecraft_server.1.9.2.jar mv minecraft_server.1.9.2.jar minecraft_server.jar
Run minecraft once
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
Accept eula:
nano eula.txt
change the eula line to this:
eula=true
Log out from the minecraft user
logout
Add systemd job file:
sudo nano /etc/systemd/system/minecraft.service
Add this:
[Unit] Description=Minecraft Server [Service] Type=forking WorkingDirectory=/home/minecraft/server User=minecraft Group=minecraft Restart=always ExecStart=/usr/bin/tmux new-session -d -s mc-server /usr/bin/java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui ExecStop=/usr/bin/tmux send-keys -t mc-server 'say SERVER SHUTTING DOWN. Saving map...' C-m ExecStop=/usr/bin/tmux send-keys -t mc-server 'save-all' C-m ExecStop=/usr/bin/tmux send-keys -t mc-server 'stop' C-m ExecStop=/bin/sleep 2 [Install] WantedBy=multi-user.target
Enable the systemd job
sudo systemctl enable minecraft.service
Now you can start and stop the minecraft server with
sudo service minecraft start sudo service minecraft stop