Spigot on Debian 12 – High-Performance Minecraft Server Hosting on a Stable Linux Base
Spigot is a high-performance, open-source Minecraft server platform built upon CraftBukkit, optimized for speed, efficiency, and extensive plugin support. It’s widely used for hosting multiplayer servers that demand better control, scalability, and customization than Mojang’s official (vanilla) server software.
Running Spigot on Debian 12 “Bookworm” provides a secure, reliable, and minimal environment ideal for both small private servers and large-scale Minecraft networks.
What Is Spigot?
Spigot is part of the broader SpigotMC project and serves as a Minecraft server engine with extended configuration options and plugin support. It’s written in Java and supports:
- The Bukkit API for plugin development.
- Thousands of community-built plugins.
- Enhanced performance via asynchronous processing and efficient entity handling.
Spigot also serves as the foundation for even more optimized forks like Paper, Purpur, and Tuinity, all of which can run on Debian 12.
Why Use Debian 12 for Spigot?
Debian 12 offers a stable long-term support environment with up-to-date packages, excellent memory management, and minimal background services—perfect for a performance-sensitive application like Spigot.
Feature | Benefit for Spigot Hosting |
---|---|
OpenJDK 17 (LTS) | Fully compatible with modern Minecraft versions (1.18–1.20+) |
Linux Kernel 6.1+ | Stable and efficient for network I/O and world saves |
Systemd v252 | Reliable service management for Spigot restarts and auto-recovery |
Minimal base install | Reduces RAM/CPU overhead, giving more resources to the JVM |
Secure defaults | Easy to harden with UFW, Fail2Ban, and AppArmor |
Typical Spigot Use Cases
- Survival, Creative, or Hardcore Multiplayer Servers
- Minigame networks (SkyBlock, BedWars, etc.)
- Educational or LAN-based school servers
- Plugin development and testing environments
- Global Minecraft communities with high player counts
Spigot is built to scale from 5-player casual worlds to 100+ concurrent players with proper tuning.
Key Benefits of Spigot on Debian 12
✅ Better Resource Efficiency – Runs with lower CPU and RAM usage than vanilla
✅ Full Plugin Support – Compatible with Bukkit and most Paper plugins.
Step 1: Set Up a Server Instance on Shape.Host
To get started, you’ll need a Debian 12 VPS. Shape.Host makes it easy to deploy reliable game servers.
Go to https://shape.host and sign in.
Click “Create” → “Instance.”

Configure your server:
Region: Choose the closest data center.

OS: Select Debian 12 (64-bit).
Plan: For Minecraft, choose at least 2 vCPUs, 4 GB RAM, and 40 GB SSD.

Click Create Instance.

After deployment, copy the IP address for SSH access.

Step 2: Connect to the Server via SSH
On Linux/macOS:
ssh root@your_server_ip
On Windows (via PuTTY):
- Paste the IP in “Host Name”
- Click Open, and log in as
root
Step 3: Install Dependencies
Update your package list and install required packages:
apt update
apt install git openjdk-17-jdk curl
openjdk-17-jdk
: Required for Minecraft 1.20.4 and compatible Spigot builds.git
andcurl
: Needed to download and compile Spigot via BuildTools.


Step 4: Build Spigot Using BuildTools
Step 4.1 – Create a Working Directory
mkdir /opt/spigot
cd /opt/spigot
Step 4.2 – Download BuildTools.jar
curl -o BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar

Step 4.3 – Compile Spigot
java -jar BuildTools.jar --rev 1.20.4
This command will:
- Download the source code for Minecraft and Spigot
- Compile the Spigot server JAR
- Output
spigot-1.20.4.jar
in the current directory


Step 5: Set Up the Spigot Server
Step 5.1 – Create the Server Directory
mkdir /opt/spigot-server
Step 5.2 – Move the Compiled JAR
cp spigot-1.20.4.jar /opt/spigot-server/spigot.jar
cd /opt/spigot-server
Step 5.3 – Accept Minecraft EULA
echo "eula=true" > eula.txt

Step 6: Start the Spigot Server
Run the server for the first time:
java -Xms1G -Xmx2G -jar spigot.jar nogui
-Xms1G
: Initial heap size (1 GB)-Xmx2G
: Maximum heap size (2 GB)nogui
: Disables the graphical interface
This first launch generates default config files such as server.properties
.

Step 7: Customize Server Configuration
Edit the main server settings:
nano server.properties
Suggested edits:
motd=Welcome to my server
max-players=20
online-mode=true
⚠️ Set
online-mode=false
only if you understand the security risks. It disables player authentication and is not recommended.

Step 8: Create a systemd Service
This step allows you to run the server in the background and start it automatically at boot.
Step 8.1 – Create the Service File
nano /etc/systemd/system/spigot.service
Paste:
[Unit]
Description=Spigot Minecraft Server
After=network.target
[Service]
WorkingDirectory=/opt/spigot-server
ExecStart=/usr/bin/java -Xms1G -Xmx2G -jar spigot.jar nogui
Restart=on-failure
User=root
[Install]
WantedBy=multi-user.target
🛡️ For production use, replace
User=root
with a non-root user.

Step 8.2 – Reload systemd and Enable the Service
systemctl daemon-reexec
systemctl enable spigot
systemctl start spigot

Step 9: Connect to Your Spigot Server
Launch Minecraft and connect to your server using:
your_server_ip:25565
Make sure port 25565 is open in your server firewall or provider settings.
ufw allow 25565
You’ve now successfully compiled and configured Spigot on Debian 12. With this setup, you can host multiplayer Minecraft servers, install plugins, and run your server persistently using systemd
.
Build your custom world today!Host it with Shape.Host Linux SSD VPS — optimized for performance and uptime.Visit https://shape.host to get started.