Skip to content

SOP: Game Server Setup (Technical)

Document Type: Standard Operating Procedure (SOP)
Version: 1.0
Status: Approved for Use
Audience: Technician
Service Tiers: Basic ($30), Standard ($45), Advanced ($60)
Estimated Time: 1-4 hours (varies by game and complexity)


To provide standardized procedures for setting up, configuring, and optimizing game servers across multiple platforms, ensuring stable performance, security, and reliability for multiplayer gaming communities.


This SOP applies to Game Server Setup service for:

  • New server installations
  • Server migrations and transfers
  • Performance optimization
  • Mod installation and configuration
  • Security hardening

Supported Games:

  • Minecraft (Java Edition)
  • Valheim
  • Project Zomboid
  • Palworld
  • Rust
  • Ark: Survival Evolved
  • FiveM
  • Terraria
  • Stardew Valley
  • Factorio
  • Space Engineers
  • And other popular multiplayer games

Lead Technician Responsibilities

  • Execute server installation and configuration
  • Optimize server performance for player count
  • Install and configure mods and plugins
  • Implement security measures and backup systems
  • Validate server functionality and performance
  • Document all configurations and procedures

Client Responsibilities

  • Provide hosting access and credentials
  • Specify game requirements and preferences
  • Approve mod selections and configurations
  • Test server functionality with users
  • Provide feedback on performance

  • Hosting provider access (control panel, SSH, FTP)
  • Game selection and player count requirements
  • Mod list and configuration preferences
  • Administrative requirements (whitelist, permissions)
  • Performance expectations and budget constraints
  • Server hardware meeting game specifications
  • Stable internet connection with adequate upload speed
  • SSH/FTP access for file management
  • Database access (if required)
  • Domain configuration (if using custom domain)
  • Game server software (latest stable versions)
  • Mod management tools (Forge, Fabric, etc.)
  • Administrative tools (RCON, web panels)
  • Monitoring and backup software
  • Security software (firewall, DDoS protection)

  • Game type and version confirmed
  • Player count and performance requirements
  • Hosting provider and access credentials
  • Mod list and compatibility requirements
  • Administrative preferences (whitelist, permissions)
  • Security requirements and constraints
  • Server hardware specifications verified
  • Network connectivity tested
  • File access permissions confirmed
  • Backup storage location prepared
  • Monitoring tools installed
  • Security software configured
  • CPU and memory requirements calculated
  • Storage space allocated
  • Network bandwidth requirements assessed
  • Backup strategy planned
  • Performance benchmarks established

  1. System Updates:

    Terminal window
    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
    # CentOS/RHEL
    sudo yum update -y
  2. User and Directory Setup:

    Terminal window
    # Create dedicated server user
    sudo useradd -m -s /bin/bash gameserver
    sudo usermod -aG sudo gameserver
    # Create server directory structure
    sudo mkdir -p /opt/gameservers/{minecraft,valheim,zomboid,palworld}
    sudo chown gameserver:gameserver /opt/gameservers -R
  3. Firewall Configuration:

    Terminal window
    # UFW (Ubuntu)
    sudo ufw allow 25565/tcp # Minecraft
    sudo ufw allow 2456-2458/udp # Valheim
    sudo ufw allow 16261/udp # Project Zomboid
    sudo ufw allow 8211/udp # Palworld
    sudo ufw enable
    # iptables (CentOS)
    sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
    sudo iptables -A INPUT -p udp --dport 2456:2458 -j ACCEPT
    sudo iptables -A INPUT -p udp --dport 16261 -j ACCEPT
    sudo iptables -A INPUT -p udp --dport 8211 -j ACCEPT
    sudo service iptables save
  1. System Performance Tuning:

    Terminal window
    # Configure sysctl for network performance
    echo 'net.core.rmem_max = 16777216' | sudo tee -a /etc/sysctl.conf
    echo 'net.core.wmem_max = 16777216' | sudo tee -a /etc/sysctl.conf
    echo 'net.ipv4.tcp_rmem = 4096 87380 16777216' | sudo tee -a /etc/sysctl.conf
    echo 'net.ipv4.tcp_wmem = 4096 65536 16777216' | sudo tee -a /etc/sysctl.conf
    # Apply changes
    sudo sysctl -p
  2. CPU Governor Configuration:

    Terminal window
    # Set CPU to performance mode
    echo 'performance' | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
  3. Virtual Memory Configuration:

    Terminal window
    # Configure swap for better memory management
    sudo fallocate -l 4G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

  1. Java Installation:

    Terminal window
    # Install OpenJDK 17 (recommended for most versions)
    sudo apt install openjdk-17-jre-headless -y
    # Verify installation
    java -version
  2. Server Download and Setup:

    Terminal window
    # Download server JAR
    cd /opt/gameservers/minecraft
    wget https://launcher.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar
    # Accept EULA
    echo 'eula=true' > eula.txt
    # Create start script
    cat > start.sh << 'EOF'
    #!/bin/bash
    cd /opt/gameservers/minecraft
    java -Xms4G -Xmx8G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -jar server.jar nogui
    EOF
    chmod +x start.sh
  3. Server Configuration:

    server.properties
    motd=Custom Minecraft Server
    server-port=25565
    difficulty=normal
    gamemode=survival
    max-players=20
    level-type=minecraft:normal
    generate-structures=true
    view-distance=10
    enable-command-block=true
    enforce-whitelist=false
    pvp=true
  4. Plugin Installation (Optional):

    Terminal window
    # Create plugins directory
    mkdir plugins
    # Download essential plugins
    cd plugins
    wget https://download.spigotmc.org/essentials/EssentialsX-2.19.2.jar
    wget https://dev.bukkit.org/projects/worldedit/files/latest
    wget https://dev.bukkit.org/projects/worldguard/files/latest
  1. SteamCMD Installation:

    Terminal window
    # Install SteamCMD
    sudo apt install steamcmd -y
    # Or compile from source
    sudo apt install lib32gcc1 lib32stdc++6 libc6-i386 -y
    wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
    tar -xvzf steamcmd_linux.tar.gz
    sudo mv steamcmd /opt/
  2. Server Installation:

    Terminal window
    # Create Valheim directory
    mkdir -p /opt/gameservers/valheim
    cd /opt/gameservers/valheim
    # Download Valheim dedicated server
    /opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir ./ +app_update 896660 +quit
  3. Server Configuration:

    # Create start script
    cat > start_valheim.sh << 'EOF'
    #!/bin/bash
    cd /opt/gameservers/valheim
    export LD_LIBRARY_PATH=./linux64
    ./valheim_server.x86_64 -name "My Server" -port 2456 -world "Dedicated" -password "yourpassword" -public 1
    EOF
    chmod +x start_valheim.sh
    # Configure server settings
    cat > start_server.sh << 'EOF'
    #!/bin/bash
    cd /opt/gameservers/valheim
    export LD_LIBRARY_PATH=./linux64
    ./valheim_server.x86_64 -nographic -batchmode -name "My Server" -port 2456 -world "Dedicated" -password "yourpassword" -public 1 -saveinterval 300 -backupinterval 3600
    EOF
    chmod +x start_server.sh
  4. Mod Support (Optional):

    Terminal window
    # Install BepInEx for mod support
    wget https://github.com/BepInEx/BepInEx/releases/download/v5.4.22/BepInEx_x64_5.4.22.0.zip
    unzip BepInEx_x64_5.4.22.0.zip -d /opt/gameservers/valheim/
    # Configure BepInEx
    echo "enabled=true" > /opt/gameservers/valheim/BepInEx/config/BepInEx.cfg
  1. SteamCMD Installation:

    Terminal window
    # Install dependencies
    sudo apt install lib32stdc++6 lib32gcc1 libcurl4-gnutls-dev:i386 -y
    # Download and install SteamCMD
    wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
    tar -xvzf steamcmd_linux.tar.gz
    sudo mv steamcmd /opt/
  2. Server Installation:

    Terminal window
    # Create Zomboid directory
    mkdir -p /opt/gameservers/zomboid
    cd /opt/gameservers/zomboid
    # Download Project Zomboid dedicated server
    /opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir ./ +app_update 380870 +quit
  3. Server Configuration:

    server.ini
    [Default]
    Name=My Zomboid Server
    Description=Project Zomboid Dedicated Server
    Port=16261
    MaxPlayers=20
    Password=yourpassword
    Public=true
    PauseOnEmpty=true
    AutosaveInterval=15
    RestartTimer=24
    SaveWorldID=Servertest
    ModFolders=Mods
    WorkshopItems=
    SteamPort=8766
    SteamQueryPort=27016
    RCONPort=27015
    RCONPassword=yourrconpassword
  4. World Configuration:

    servertest.ini
    [Default]
    DoLootRespawn=true
    RespawnHours=48.0
    MaxItemsForLootRespawn=4
    ConstructionChecks=true
    DayLength=12.0
    StartDay=1
    StartTime=8.0
    WaterShut=true
    WaterShutModifier=1.0
    WaterElectricShut=true
    WaterElectricShutModifier=1.0
    Frozen=true
    FoodRotSpeed=1.0
    FridgeFactor=1.0
    LootRespawn=true
    StatsDecrease=true
    GlobalChat=true
    ChatColor=true
    GlobalChatColor=0,0,0
    AdminChatColor=255,0,0
    PlayerColor=255,255,255
    SafehouseAllowTrepass=false
    SafehouseAllowFire=false
    AllowRespawn=true
    MultiHitZombies=false
    RearVehicles=false
    ZombieLore=true
    ZombiesRun=0
    ZombiesSprint=0
    ZombieLore=true
    ZombieConfig=0
    Map=Muldraugh, KY
    Seed=
    ZombieCount=2
    ZombieDistribution=0
    ZombieIntensity=0.0
    ZombieSpeed=2.0
    ZombieStrength=2.0
    ZombieToughness=2.0
    ZombieRage=2.0
    ZombieCrawlers=2.0
    ZombieSprinters=2.0
    ZombieCrawlersSpeed=2.0
    ZombieCrawlersStrength=2.0
    ZombieCrawlersToughness=2.0
    ZombieSprintersSpeed=2.0
    ZombieSprintersStrength=2.0
    ZombieSprintersToughness=2.0
    ZombieSprintersCrawlers=true
    ZombieSprintersCrawlersSpeed=2.0
    ZombieSprintersCrawlersStrength=2.0
    ZombieSprintersCrawlersToughness=2.0
    ZombieConfig=0
  1. SteamCMD Installation:

    Terminal window
    # Install dependencies
    sudo apt install lib32stdc++6 lib32gcc1 libcurl4-gnutls-dev:i386 -y
    # Download and install SteamCMD
    wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
    tar -xvzf steamcmd_linux.tar.gz
    sudo mv steamcmd /opt/
  2. Server Installation:

    Terminal window
    # Create Palworld directory
    mkdir -p /opt/gameservers/palworld
    cd /opt/gameservers/palworld
    # Download Palworld dedicated server
    /opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir ./ +app_update 2394010 +quit
  3. Server Configuration:

    PalWorldSettings.ini
    [/Script/Pal.PalGameWorldSettings]
    OptionSettings=(
    Difficulty=None,
    DayTimeSpeedRate=1.000000,
    NightTimeSpeedRate=1.000000,
    ExpRate=1.000000,
    PalCaptureRate=1.000000,
    PalSpawnNumRate=1.000000,
    PalDamageRateAttack=1.000000,
    PalDamageRateDefense=1.000000,
    PlayerDamageRateAttack=1.000000,
    PlayerDamageRateDefense=1.000000,
    PlayerStomachDecreaceRate=1.000000,
    PlayerStaminaDecreaceRate=1.000000,
    PlayerAutoHPRegeneRate=1.000000,
    PlayerAutoHpRegeneRateInSleep=1.000000,
    PalStomachDecreaceRate=1.000000,
    PalStaminaDecreaceRate=1.000000,
    PalAutoHPRegeneRate=1.000000,
    PalAutoHpRegeneRateInSleep=1.000000,
    BuildObjectDamageRate=1.000000,
    BuildObjectDeteriorationDamageRate=1.000000,
    CollectionDropRate=1.000000,
    CollectionObjectHpRate=1.000000,
    CollectionObjectRespawnSpeedRate=1.000000,
    EnemyDropItemRate=1.000000,
    DeathPenalty=All,
    bEnablePlayerToPlayerDamage=False,
    bEnableFriendlyFire=False,
    bEnableInvaderEnemy=True,
    bActiveUNKO=False,
    bEnableAimAssistPad=True,
    bEnableAimAssistKeyboard=False,
    DropItemMaxNum=3000,
    DropItemMaxNum_UNKO=100,
    BaseCampMaxNum=128,
    BaseCampWorkerMaxNum=15,
    DropItemAliveMaxHours=1.000000,
    bAutoResetGuildNoOnlinePlayers=False,
    AutoResetGuildTimeNoOnlinePlayers=72.000000,
    GuildPlayerMaxNum=20,
    PalEggDefaultHatchingTime=72.000000,
    WorkSpeedRate=1.000000,
    bIsMultiplay=False,
    bIsPvP=False,
    bCanPickupOtherPlayerDeathItemDrop=False,
    bEnableNonLoginPenalty=True,
    bEnableFastTravel=True,
    bIsStartLocationSelectByMap=True,
    bExistPlayerAfterLogout=False,
    bEnableDefenseOtherGuildPlayer=False,
    CoopPlayerMaxNum=4,
    ServerPlayerMaxNum=32,
    ServerName="My Palworld Server",
    ServerDescription="Welcome to my Palworld server!",
    AdminPassword="youradminpassword",
    ServerPassword="yourserverpassword",
    PublicPort=8211,
    PublicIP="",
    RCONEnabled=True,
    RCONPort=25575,
    Region="",
    bUseAuth=True,
    BanListURL="https://api.palworldgame.com/api/banlist.txt"
    )
  4. Start Script:

    # Create start script
    cat > start_palworld.sh << 'EOF'
    #!/bin/bash
    cd /opt/gameservers/palworld
    ./PalServer.sh
    EOF
    chmod +x start_palworld.sh

  1. Forge Installation:

    Terminal window
    # Download Forge installer
    wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.19.2-43.2.0/forge-1.19.2-43.2.0-installer.jar
    # Install Forge
    java -jar forge-1.19.2-43.2.0-installer.jar --installServer
    # Update start script for Forge
    sed -i 's/server.jar/forge-1.19.2-43.2.0.jar/' start.sh
  2. Mod Installation:

    Terminal window
    # Create mods directory
    mkdir mods
    # Download mods (example with popular mods)
    cd mods
    wget https://media.forgecdn.net/files/3819/950/jei-1.19.2-forge-11.6.0.1002.jar
    wget https://media.forgecdn.net/files/3813/385/journeymap-1.19.2-5.9.0-forge.jar
    wget https://media.forgecdn.net/files/3818/950/ironchest-1.19.2-13.2.11.jar
  3. Mod Configuration:

    Terminal window
    # Configure mod settings
    mkdir config
    # Edit mod configuration files as needed
  1. BepInEx Configuration:

    Terminal window
    # Configure BepInEx plugins
    mkdir -p /opt/gameservers/valheim/BepInEx/plugins
    # Download popular mods
    cd /opt/gameservers/valheim/BepInEx/plugins
    wget https://github.com/Valheim-Modding/Jotunn/releases/download/v2.1.6/Jotunn2.1.6.zip
    unzip Jotunn2.1.6.zip
  2. Mod Configuration:

    Terminal window
    # Configure mod settings
    mkdir -p /opt/gameservers/valheim/BepInEx/config
    # Edit mod configuration files as needed

  1. Firewall Configuration:

    Terminal window
    # Configure UFW for game-specific ports
    sudo ufw allow 25565/tcp # Minecraft
    sudo ufw allow 2456-2458/udp # Valheim
    sudo ufw allow 16261/udp # Project Zomboid
    sudo ufw allow 8211/udp # Palworld
    sudo ufw allow 27015/tcp # RCON
    sudo ufw enable
  2. Fail2Ban Installation:

    Terminal window
    # Install Fail2Ban
    sudo apt install fail2ban -y
    # Configure Fail2Ban for game servers
    cat > /etc/fail2ban/jail.local << 'EOF'
    [DEFAULT]
    bantime = 3600
    findtime = 600
    maxretry = 3
    [minecraft]
    enabled = true
    port = 25565
    filter = minecraft
    logpath = /opt/gameservers/minecraft/logs/latest.log
    maxretry = 5
    bantime = 86400
    EOF
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban
  3. DDoS Protection:

    Terminal window
    # Install DDoS protection
    sudo apt install iptables-persistent -y
    # Configure rate limiting
    sudo iptables -A INPUT -p tcp --dport 25565 -m limit --limit 25/min --limit-burst 100 -j ACCEPT
    sudo iptables -A INPUT -p udp --dport 2456 -m limit --limit 25/min --limit-burst 100 -j ACCEPT
  1. Whitelist Configuration:

    Terminal window
    # Minecraft whitelist
    echo "player_username" >> /opt/gameservers/minecraft/white-list.txt
    # Valheim password protection (configured in start script)
    # Project Zomboid password (configured in server.ini)
    # Palworld password (configured in PalWorldSettings.ini)
  2. Admin Access Setup:

    Terminal window
    # Minecraft ops file
    echo "player_username" >> /opt/gameservers/minecraft/ops.txt
    # RCON configuration
    echo "enable-rcon=true" >> /opt/gameservers/minecraft/server.properties
    echo "rcon.port=25575" >> /opt/gameservers/minecraft/server.properties
    echo "rcon.password=yourrconpassword" >> /opt/gameservers/minecraft/server.properties

  1. Create Backup Script:

    # Create backup script
    cat > /opt/gameservers/backup.sh << 'EOF'
    #!/bin/bash
    # Configuration
    BACKUP_DIR="/opt/backups/gameservers"
    DATE=$(date +%Y%m%d_%H%M%S)
    RETENTION_DAYS=7
    # Create backup directory
    mkdir -p $BACKUP_DIR
    # Backup Minecraft
    if [ -d "/opt/gameservers/minecraft" ]; then
    echo "Backing up Minecraft..."
    tar -czf "$BACKUP_DIR/minecraft_$DATE.tar.gz" -C /opt/gameservers minecraft/
    fi
    # Backup Valheim
    if [ -d "/opt/gameservers/valheim" ]; then
    echo "Backing up Valheim..."
    tar -czf "$BACKUP_DIR/valheim_$DATE.tar.gz" -C /opt/gameservers valheim/
    fi
    # Backup Project Zomboid
    if [ -d "/opt/gameservers/zomboid" ]; then
    echo "Backing up Project Zomboid..."
    tar -czf "$BACKUP_DIR/zomboid_$DATE.tar.gz" -C /opt/gameservers zomboid/
    fi
    # Backup Palworld
    if [ -d "/opt/gameservers/palworld" ]; then
    echo "Backing up Palworld..."
    tar -czf "$BACKUP_DIR/palworld_$DATE.tar.gz" -C /opt/gameservers palworld/
    fi
    # Clean old backups
    find $BACKUP_DIR -name "*.tar.gz" -mtime +$RETENTION_DAYS -delete
    echo "Backup completed: $DATE"
    EOF
    chmod +x /opt/gameservers/backup.sh
  2. Schedule Automated Backups:

    Terminal window
    # Add to crontab
    (crontab -l 2>/dev/null; echo "0 2 * * * /opt/gameservers/backup.sh") | crontab -
  1. AWS S3 Backup:
    Terminal window
    # Install AWS CLI
    sudo apt install awscli -y
    # Configure AWS credentials
    aws configure
    # Create S3 backup script
    cat > /opt/gameservers/backup_s3.sh << 'EOF'
    #!/bin/bash
    S3_BUCKET="your-backup-bucket"
    BACKUP_DIR="/opt/backups/gameservers"
    DATE=$(date +%Y%m%d_%H%M%S)
    # Upload latest backups to S3
    aws s3 sync $BACKUP_DIR s3://$S3_BUCKET/ --delete
    echo "S3 backup completed: $DATE"
    EOF
    chmod +x /opt/gameservers/backup_s3.sh

  1. Install Monitoring Tools:

    Terminal window
    # Install htop and iotop
    sudo apt install htop iotop -y
    # Install netdata for comprehensive monitoring
    bash <(curl -Ss https://my-netdata.io/kickstart.sh)
  2. Performance Monitoring Script:

    # Create performance monitoring script
    cat > /opt/gameservers/monitor.sh << 'EOF'
    #!/bin/bash
    LOG_FILE="/var/log/gameserver_monitor.log"
    DATE=$(date '+%Y-%m-%d %H:%M:%S')
    # System metrics
    CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | awk -F'%' '{print $1}')
    MEM_USAGE=$(free | grep Mem | awk '{printf("%.2f", $3/$2 * 100.0)}')
    DISK_USAGE=$(df -h /opt/gameservers | awk 'NR==2 {print $5}')
    # Log metrics
    echo "$DATE - CPU: $CPU_USAGE%, Memory: $MEM_USAGE%, Disk: $DISK_USAGE" >> $LOG_FILE
    # Check if server processes are running
    if pgrep -f "java.*server.jar" > /dev/null; then
    echo "$DATE - Minecraft server is running" >> $LOG_FILE
    else
    echo "$DATE - Minecraft server is NOT running" >> $LOG_FILE
    fi
    EOF
    chmod +x /opt/gameservers/monitor.sh
  3. Schedule Monitoring:

    Terminal window
    # Add monitoring to crontab
    (crontab -l 2>/dev/null; echo "*/5 * * * * /opt/gameservers/monitor.sh") | crontab -
  1. JVM Tuning for Minecraft:

    Terminal window
    # Optimized JVM arguments
    JAVA_OPTS="-Xms4G -Xmx8G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs"
  2. Network Optimization:

    Terminal window
    # Optimize network settings
    echo 'net.core.rmem_max = 16777216' | sudo tee -a /etc/sysctl.conf
    echo 'net.core.wmem_max = 16777216' | sudo tee -a /etc/sysctl.conf
    echo 'net.ipv4.tcp_rmem = 4096 87380 16777216' | sudo tee -a /etc/sysctl.conf
    echo 'net.ipv4.tcp_wmem = 4096 65536 16777216' | sudo tee -a /etc/sysctl.conf
    echo 'net.ipv4.tcp_congestion_control = bbr' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p

  • Server starts without errors
  • Players can connect successfully
  • Game mechanics work correctly
  • Mods load without conflicts
  • Performance meets expectations
  • Network connectivity stable
  • Firewall rules working correctly
  • Only authorized ports accessible
  • Access control functioning
  • Backup system operational
  • Monitoring tools collecting data
  • CPU usage within acceptable limits
  • Memory usage optimized
  • Network latency acceptable
  • Disk I/O performance adequate
  • No memory leaks detected

ProblemCauseFix
Server won’t startMissing dependencies or incorrect configurationInstall required dependencies, check config files
Players can’t connectFirewall blocking ports or incorrect IPOpen required ports, verify IP address
High CPU usageInsufficient hardware or inefficient modsUpgrade hardware, remove problematic mods
Server crashesMemory leaks or mod conflictsCheck logs, update/remove problematic mods
Poor performanceIncorrect JVM settings or network issuesOptimize JVM arguments, check network configuration
Backup failuresInsufficient disk space or permissionsCheck disk space, verify permissions
Mods not loadingIncorrect installation or version conflictsVerify mod compatibility, reinstall correctly

Create comprehensive server documentation:

Server Documentation Contents:
- Server specifications and configuration
- Login credentials and access methods
- Mod list and configuration details
- Backup and recovery procedures
- Maintenance schedule and procedures
- Troubleshooting guide
- Support contact information

Prepare client training materials:

Training Materials:
- Server management guide
- Admin commands reference
- Mod management procedures
- Backup and recovery instructions
- Performance monitoring guide
- Security best practices

Create backup of all configurations:

Configuration Backup:
- Server configuration files
- Mod configuration files
- Scripts and automation
- Security configurations
- Monitoring setups

  • Basic Support: Email support within 48 hours
  • Standard Support: Priority email support within 24 hours
  • Advanced Support: Priority support with phone option
  • Server access issues
  • Performance optimization
  • Mod installation and configuration
  • Security troubleshooting
  • Backup and recovery assistance

  • Daily: Monitor server performance and logs
  • Weekly: Check for updates and security patches
  • Monthly: Review backup integrity and performance metrics
  • Quarterly: Comprehensive security audit and optimization
  • Server management best practices
  • Mod compatibility and update procedures
  • Performance monitoring and optimization
  • Security awareness and incident response

  • Verify all requirements met
  • Test all server functionality
  • Validate performance benchmarks
  • Confirm client satisfaction
  • Document any deviations
  • Contact client after 3 days
  • Address any issues immediately
  • Gather feedback on performance
  • Make necessary adjustments
  • Schedule maintenance review

  • Version: 1.0
  • Created: February 2026
  • Author: Wizard Tech Services
  • Next Review: Within 30 days
  • Approved By: Lead Technician

GameMin PlayersMin RAMMin CPUMin StorageNetwork Ports
Minecraft24GB2 cores50GB25565 TCP
Valheim24GB2 cores10GB2456-2458 UDP
Project Zomboid23GB2 cores20GB16261 UDP, 8766 UDP
Palworld210GB4 cores40GB8211 UDP
Rust108GB4 cores20GB28015 UDP
Ark: Survival108GB4 cores30GB7777 UDP, 27015 TCP
Game Server Ports:
- Minecraft: 25565 TCP
- Valheim: 2456-2458 UDP
- Project Zomboid: 16261 UDP, 8766 UDP, 27015 TCP
- Palworld: 8211 UDP
- Rust: 28015 UDP, 28016 UDP
- Ark: Survival: 7777 UDP, 27015 TCP
- FiveM: 30120 TCP, 30110 UDP
- Terraria: 7777 TCP
- Stardew Valley: 24242 TCP
Terminal window
# System Performance Commands
htop # Monitor CPU and memory usage
iotop # Monitor disk I/O
netstat -tulnp # Check network connections
ss -tulnp # Alternative network command
df -h # Check disk usage
free -h # Check memory usage
uptime # Check system uptime
# Game Server Commands
screen -r servername # Attach to server screen
screen -ls # List running screens
tmux attach -t session # Attach to tmux session
ps aux | grep java # Check Java processes
tail -f server.log # Monitor server logs

End of SOP