← Back to Documentation List

📚 Quick Navigation

Quick Info 🔌 Ports Installation Configuration ⚙️ Startup Parameters 🔧 Troubleshooting Performance Security

Spigot Server Server Hosting Guide

Overview

Spigot Server is a multiplayer game server that can be hosted on a VPS or dedicated server. This comprehensive guide covers everything you need to know about hosting a Spigot Server server for your community.

Quick Info

  • Default Port: Varies (see configuration)
  • Protocol: TCP/UDP
  • Minimum RAM: 1GB
  • Engine: Various
  • Steam App ID: N/A
  • Recommended OS: Linux (Ubuntu/Debian) or Windows Server

🔌 Network Ports

Required Ports

The Spigot Server server typically uses a configurable port. Check your server configuration files for the specific port settings.

Firewall Configuration

Allow server ports through your firewall:

# UFW (Ubuntu/Debian)
sudo ufw allow [PORT]/tcp
sudo ufw allow [PORT]/udp
sudo ufw reload

# FirewallD (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=[PORT]/tcp
sudo firewall-cmd --permanent --add-port=[PORT]/udp
sudo firewall-cmd --reload

# Windows Firewall
netsh advfirewall firewall add rule name="Spigot Server Server" dir=in action=allow protocol=TCP localport=[PORT]
netsh advfirewall firewall add rule name="Spigot Server Server" dir=in action=allow protocol=UDP localport=[PORT]

⚠️ Port Security Notes

  • Only open ports that are necessary for the game server to function
  • Consider using non-standard ports to reduce automated attacks
  • If using cloud hosting, configure security groups properly
  • Monitor connection attempts and unusual traffic patterns

Installation & Setup

System Requirements

  • OS: Linux (Ubuntu 20.04+ or Debian 11+ recommended) or Windows Server 2019+
  • CPU: 2+ cores recommended (single-threaded performance important for most game servers)
  • RAM: 1GB minimum (more for larger player counts)
  • Storage: 5GB+ for server files (SSD recommended for better performance)
  • Network: Stable internet connection with low latency

Installation Steps

Linux (Ubuntu/Debian)

# Update system packages
sudo apt update && sudo apt upgrade -y

# Create server directory
mkdir -p ~/gameserver
cd ~/gameserver

# Download server files (method varies by game)
# Check official documentation for download links

Windows Server

Download the server files from the official game website or through Steam (if applicable). Extract to a dedicated folder and run the server executable.

Manual Installation

This game requires manual download. Check the official game website or Steam store page for dedicated server downloads.

Server Configuration

After installation, you'll need to configure your server. Here's where to find the configuration files and what settings you can change.

Essential Settings

  • Server Name: Set a descriptive name for your server
  • Max Players: Configure based on your server's resources
  • Password: Optional password protection for private servers
  • Admin/RCON Password: Set a strong password for remote administration
  • Game Mode: Configure game-specific modes and settings

Server Commands

Common administrative commands (access via console or RCON):

# Kick player
kick [player_name]

# Ban player
ban [player_name]

# Change map/level (syntax varies by game)
changelevel [map_name]

# Set admin password (if supported)
setadminpassword [password]

⚙️ Startup Parameters

Command Line Template

The server uses the following command line template:

-XX:+UseConcMarkSweepGC %XMX% -jar spigot.jar nogui

Available Startup Parameters

The following parameters can be configured when starting the server:

-Xmx - Max RAM

How much memory? for example: 1024M

Default: 1024M

-autoupdate - Update the server before starting

Will compile the server from source, this process may take some minutes.

-updateBuildTools - Downlad latest BuildTools.jar

Download latest BuildTools.jar before updating the server.

Creating a Start Script

Linux (start.sh):

#!/bin/bash
cd /path/to/server
./server_executable [parameters] 2>&1 | tee server.log
chmod +x start.sh
./start.sh

Windows (start.bat):

@echo off
cd /d "%~dp0"
server_executable.exe [parameters]
pause

Running as a Service

Linux (systemd):

# Create service file: /etc/systemd/system/gameserver.service
[Unit]
Description=Spigot Server Server
After=network.target

[Service]
Type=simple
User=gameserver
WorkingDirectory=/home/gameserver/server
ExecStart=/home/gameserver/server/start.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
# Enable and start service
sudo systemctl daemon-reload
sudo systemctl enable gameserver
sudo systemctl start gameserver
sudo systemctl status gameserver

🔧 Troubleshooting

Server Won't Start

Check Server Logs

# View recent log entries
tail -f server.log

# Or check system logs
journalctl -u gameserver -f

Port Already in Use

# Find what's using the port
sudo lsof -i :[PORT]
sudo netstat -tulpn | grep [PORT]

# Kill the process or change server port

Missing Dependencies

Ensure all required dependencies are installed. Check the error messages for missing libraries or packages.

Connection Issues

Can't Connect to Server

  1. Verify server is running: ps aux | grep server
  2. Check port is listening: netstat -an | grep [PORT]
  3. Verify firewall rules (see Ports section above)
  4. Check server IP: Use external IP, not localhost
  5. Router/NAT: Ensure port forwarding is configured

High Latency/Lag

  • Check server resource usage (CPU, RAM, disk I/O)
  • Verify network bandwidth is adequate
  • Consider server location relative to players
  • Check for background processes consuming resources

Performance Issues

Server Lag

  1. Monitor resources: Use htop or top
  2. Check disk I/O: Use iotop
  3. Review server logs for errors or warnings
  4. Reduce player count or increase server resources
  5. Optimize configuration based on server capacity

Memory Leaks

# Monitor memory usage
free -h
top -p $(pgrep -f server)

# Restart server regularly via cron if needed
0 4 * * * /home/gameserver/restart.sh

Performance Optimization

Server Tuning

  • CPU: Ensure adequate CPU allocation; most game servers are single-threaded
  • RAM: Allocate sufficient memory; monitor usage and adjust as needed
  • Disk: Use SSD storage for better I/O performance
  • Network: Ensure stable, low-latency connection

Operating System Optimization

# Increase file descriptor limits
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf

# Network tuning
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 87380 16777216"

Monitoring

Set up monitoring to track server health:

  • CPU and memory usage
  • Network traffic and latency
  • Player count and activity
  • Error rates and crash logs

Backup Strategy

#!/bin/bash
# backup.sh - Run via cron
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backups/gameserver"
SERVER_DIR="/home/gameserver/server"

# Create backup
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz -C $SERVER_DIR .

# Keep only last 7 days
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +7 -delete

Security Best Practices

Firewall Configuration

# Minimal firewall - only allow necessary ports
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow [SERVER_PORT]/tcp
sudo ufw allow [SERVER_PORT]/udp
sudo ufw allow 22/tcp  # SSH
sudo ufw enable

Strong Passwords

  • Use strong, unique passwords for admin/RCON access
  • Never use default passwords
  • Change passwords regularly
  • Don't share admin credentials unnecessarily

Regular Updates

  • Keep server software updated to the latest stable version
  • Update operating system and dependencies regularly
  • Subscribe to security advisories for your game
  • Test updates on a staging server before production deployment

Access Control

  • Limit SSH access to specific IPs if possible
  • Use SSH keys instead of passwords
  • Disable root login via SSH
  • Implement fail2ban or similar intrusion prevention

DDoS Protection

  • Consider DDoS protection services (Cloudflare, OVH, etc.)
  • Implement rate limiting where supported
  • Monitor for unusual traffic patterns
  • Have an incident response plan

Additional Resources

  • Official Spigot Server documentation and forums
  • Community wikis and guides
  • Game-specific Discord or Reddit communities
  • Server hosting provider documentation

Important Notes

  • Always make backups before making configuration changes
  • Keep your server and dependencies updated
  • Monitor server resources and player activity
  • Follow the game's End User License Agreement (EULA) and Terms of Service
  • Join community forums for support and best practices

Last updated: November 2025 | For Spigot Server server hosting