This wasn’t one of our usual IT support jobs around Oxford and Oxfordshire – in fact, it wasn’t a job at all! My own kids asked if I could help them set up a private Minecraft server, so we turned it into a fun evening project.
To make it stable and easy to manage, we used virtualised Linux Debian 13 as the server platform – a reliable and secure choice for hosting multiplayer Minecraft worlds. In this guide, I’ll go through the exact steps we followed.
Installation and setup
- Install a Linux Debian server on a VM host of your choice.
- Update package index
sudo apt update - If you will be managing it from another machine, install and configure the SSH server.
sudo apt install openssh-server
sudo systemctl enable ssh –now
You may need to modify /etc/ssh/sshd_config file to allow password login and root access via SSH.
Reboot SSH after making changes to the above file: sudo systemctl restart ssh - Install minimal OpenJDK Java
sudo apt install openjdk-21-jre-headless - Verify installation
java -version - Install “Screen” to allow detachable server sessions (keep the Minecraft server running after disconnecting from the terminal)
sudo apt install screen - Start a named screen session and attach it
screen -S minecraft
screen -r - Create minecraft-server folder in /home
mkdir minecraft-server - Go to the minecraft-server folder
- cd minecraft-server
- On another PC, go to https://www.minecraft.net/en-us/download/server, copy the download link for the latest version of Minecraft Server.
- Run wget with the link copied in the previous step, i.e.
wget https://piston-data.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar - Run the Minecraft Server
java -Xms1G -Xmx4G -jar server.jar nogui - This will fail at first, but it creates eula.txt and server.properties files.
- Open eula.txt and set eula=true. Modify server.properties to your requirements.
- Start the server again:
java -Xms1G -Xmx4G -jar server.jar nogui - The server should now start successfully and generate a new world.
- You can now close the SSH session.
- If external access is required, set up your firewall to forward TPC port 25565 to the Debian server’s IP.
- If external access is allowed, don’t forget to enable the whitelist.
Useful screen commands
- Start a named screen session
screen -S minecraft - Exit Screen Session
CTRL + A + D - Find active screen sessions
screen -list - Kill a specific screen session
screen -XS 20411 quit - Re-enter a detached screen session (if only one exists)
screen -r - Re-enter a specific screen session
screen -r 2385
Oxford, Oxfordshire
Linux Debian 13