Spigot on AlmaLinux 9 – Stable, Enterprise-Grade Minecraft Server Hosting
Spigot is a high-performance Minecraft server implementation built on CraftBukkit, optimized for multiplayer hosting with support for thousands of plugins and fine-tuned server performance. It is the go-to solution for anyone needing more control, scalability, and plugin flexibility than the official Minecraft server allows.
Running Spigot on AlmaLinux 9 provides a secure, enterprise-grade Linux environment with long-term support (until 2032), making it an ideal foundation for production-grade Minecraft hosting.
Why Use AlmaLinux 9 for Spigot?
AlmaLinux 9 is a RHEL-compatible Linux distribution designed for reliability and stability in enterprise environments. It is binary-compatible with Red Hat Enterprise Linux (RHEL), which makes it a great choice for sysadmins who prioritize long-term support and package consistency.
Key reasons to use AlmaLinux 9 with Spigot:
Feature | Benefit for Spigot Hosting |
---|---|
OpenJDK 17+ available | Fully compatible with modern Minecraft and Spigot |
Stable LTS kernel | Ensures consistent memory and I/O performance |
Systemd 250+ | Easily manage Spigot as a persistent service |
dnf module streams | Control over Java, Node.js, and other runtime versions |
SELinux & firewalld | Robust out-of-the-box security options |
About Spigot
Spigot is designed to be fast and customizable:
- ✅ Optimized tick scheduling and async chunk loading
- ✅ Extensive plugin support (Bukkit, Spigot API)
- ✅ Scalable from small hobby servers to large public networks
- ✅ Easily extendable with PaperMC, Purpur, or custom forks
Spigot is still Java-based, making AlmaLinux an excellent host given its RPM-based ecosystem and mature Java support.
System Stack Overview
Component | Technology / Tool |
---|---|
OS | AlmaLinux 9 |
JVM | OpenJDK 17 or 21 |
Service Manager | systemd |
Firewall | firewalld or nftables |
Backup/Logging | rsync, logrotate, journald |
Monitoring | Cockpit (GUI), htop, iotop |
Spigot runs well in AlmaLinux 9’s minimal environment, allowing more CPU/RAM to be allocated directly to the JVM.
Use Cases for Spigot on AlmaLinux 9
- Multiplayer Survival Servers
- Custom Minigame Networks
- School / LAN-based Educational Servers
- Plugin Testing and Development
- Business-grade Minecraft Hosting Services
AlmaLinux’s stability makes it especially suitable for persistent servers and commercial applications.
Advantages of Hosting Spigot on AlmaLinux 9
- ✅ Enterprise-grade LTS support (until 2032)
- ✅ Reduced maintenance overhead
- ✅ Proven performance with Java workloads
- ✅ Security-focused defaults with SELinux
- ✅ RPM and EPEL support for dependencies
- ✅ Docker and Podman support for containerized Spigot
Optimization & Security Tips
- Allocate dedicated RAM via JVM flags (
-Xms2G -Xmx4G
) - Run Spigot in a systemd unit for easy restart and crash recovery
- Use SELinux in enforcing mode with tailored rules for Spigot directories
- Apply firewalld rules to restrict access to Minecraft ports (default 25565)
- Regularly update plugins and monitor
logs/latest.log
for performance issues - Use logrotate and cron for scheduled backups of the
world/
directory
Hosting on Shape.Host with AlmaLinux 9
Deploying Spigot on a Shape.Host VPS running AlmaLinux 9 offers:
- Full root access
- SSD performance for fast world I/O
- Scalable RAM and CPU for large servers
- Easy service monitoring and secure backups
Spigot can also be containerized with Podman on AlmaLinux, ideal for managing multiple instances or isolating plugin environments.
Spigot on AlmaLinux 9 is an excellent combination of high-performance Minecraft server software and enterprise-level Linux reliability. With long-term support, strong Java compatibility, and built-in security features, AlmaLinux is a smart choice for hosting Minecraft communities of any size.
Whether you’re building a private server for friends or launching a public network with custom plugins, AlmaLinux 9 gives you the solid foundation and performance tuning options needed for sustained uptime and low-latency gameplay.
Step 1: Set Up a Server Instance on Shape.Host
To run a Minecraft server with Spigot, you’ll need a VPS with decent resources. Shape.Host makes it easy to launch AlmaLinux 9 servers optimized for performance.
Go to https://shape.host and log in.
Click “Create” → “Instance.”

Select:
Location: A data center close to your players

OS: Choose AlmaLinux 9 (64-bit)
Plan: Minimum 2 vCPUs, 4 GB RAM, and 40 GB SSD

Click “Create Instance.”

After deployment, copy your server’s IP address to connect via SSH.

Step 2: Connect to Your AlmaLinux 9 Server
From Linux/macOS:
ssh root@your_server_ip
From Windows:
Use PuTTY and connect using your server’s IP.
Step 3: Install Required Dependencies
Step 3.1 – Update the system
dnf update

Step 3.2 – Install Git, cURL, and Java 17
dnf install git curl java-17-openjdk-devel
java-17-openjdk-devel
: Required for Spigot 1.20.4git
andcurl
: Needed to download and build Spigot

Step 4: Build Spigot Using BuildTools
Step 4.1 – Create a directory for building
mkdir -p /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 – Run BuildTools to compile Spigot
java -jar BuildTools.jar --rev 1.20.4
This will compile the latest version of Spigot 1.20.4 and output a file called
spigot-1.20.4.jar
.


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

Step 6: Create a systemd Service
This allows you to run Spigot as a background service managed by systemctl
.
Step 6.1 – Create the service unit file
nano /etc/systemd/system/spigot.service
Paste the following:
[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
⚠️ Tip: Replace
User=root
with a non-root user for better security.

Step 7: Start and Enable the Server
Step 7.1 – Reload systemd to recognize the new service
systemctl daemon-reload
Step 7.2 – Enable Spigot to start at boot
systemctl enable spigot
Step 7.3 – Start the Spigot server
systemctl start spigot
Step 7.4 – Check the service status
systemctl status spigot
You should see output confirming the server is running.

Step 8: Connect to Your Minecraft Server
Launch Minecraft and connect using the IP of your server:
your_server_ip:25565
Make sure port 25565 is open in your firewall if you’re using one.
firewall-cmd --permanent --add-port=25565/tcp
firewall-cmd --reload
You’ve successfully installed and configured Spigot on AlmaLinux 9, compiled it using BuildTools, and configured it to run as a service with systemd. Your server is now ready for players and plugins.
Ready to build your own Minecraft world?
Choose Shape.Host Cloud VPS for optimal performance and 24/7 uptime.
Start hosting today at https://shape.host