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:

FeatureBenefit for Spigot Hosting
OpenJDK 17+ availableFully compatible with modern Minecraft and Spigot
Stable LTS kernelEnsures consistent memory and I/O performance
Systemd 250+Easily manage Spigot as a persistent service
dnf module streamsControl over Java, Node.js, and other runtime versions
SELinux & firewalldRobust 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

ComponentTechnology / Tool
OSAlmaLinux 9
JVMOpenJDK 17 or 21
Service Managersystemd
Firewallfirewalld or nftables
Backup/Loggingrsync, logrotate, journald
MonitoringCockpit (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.”

Shape.host Resources dashboard with Create > Instance highlighted.

Select:

Location: A data center close to your players

Shape.host instance form with the data center location selector highlighted.

OS: Choose AlmaLinux 9 (64-bit)

Plan: Minimum 2 vCPUs, 4 GB RAM, and 40 GB SSD

Shape.host instance form with the operating system image selector highlighted.

Click “Create Instance.”

Shape.host instance form with the Create Instance button highlighted.

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

Shape.host Resources dashboard with the server IP address highlighted.

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
Terminal showing DNF/YUM package management commands and output.

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.4
  • git and curl: Needed to download and build Spigot
Terminal showing DNF/YUM package management commands and output.

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
Terminal showing Spigot server build output.

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.

Terminal showing Spigot server build output.
Terminal showing Spigot server build output.

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
Terminal showing Spigot server build output.

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.

Terminal showing Spigot server build output.

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.

Terminal showing Spigot server build output.

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