Skip to content

Performance Optimization

Optimize your game servers for best performance.

Overview

Performance optimization improves:

  • Server FPS/TPS (ticks per second)
  • Player experience and latency
  • Resource efficiency
  • Server stability
  • Player capacity

General Optimization

Resource Allocation

CPU Allocation:

  • Allocate enough cores for game engine
  • Leave headroom for OS and other processes
  • Monitor CPU usage patterns
  • Consider single-thread vs multi-thread performance

Memory Allocation:

  • Set appropriate heap/RAM limits
  • Leave 20-30% buffer for OS
  • Monitor for memory leaks
  • Increase if swapping occurs

Disk I/O:

  • Use SSD instead of HDD
  • Separate OS disk from game disk
  • Monitor disk usage
  • Enable write caching if safe

Network Optimization

Bandwidth:

  • Ensure sufficient upstream bandwidth
  • Monitor network saturation
  • Use QoS if multiple servers
  • Consider CDN for downloads

Latency:

  • Choose server location near players
  • Optimize network stack
  • Reduce packet loss
  • Use DDoS protection

Game-Specific Optimization

Minecraft

Server Software:

  • Use Paper/Purpur for better performance
  • Avoid Bukkit/Spigot for large servers
  • Consider Fabric for modded

Configuration:

yaml
# server.properties
view-distance=8  # Lower for better performance
simulation-distance=6
entity-broadcast-range-percentage=75

# paper.yml
max-auto-save-chunks-per-tick: 8
optimize-explosions: true
mob-spawner-tick-rate: 2

Performance Tips:

  • Limit entities (item frames, mobs, minecarts)
  • Use entity culling
  • Optimize redstone contraptions
  • Pregenerate world chunks
  • Enable async chunk loading

ARK: Survival Evolved

Configuration:

ini
# GameUserSettings.ini
bDisableStructurePlacementCollision=True
OverrideStructurePlatformPrevention=True
bAllowUnlimitedRespecs=True

# Reduce entity counts
StructureResistanceMultiplier=0.5
RaidDinoCharacterFoodDrainMultiplier=2.0

Performance Tips:

  • Limit max tamed dinos per tribe
  • Reduce wild dino spawn rate
  • Lower item spoil times
  • Use structure limits
  • Clear abandoned structures regularly
  • Optimize tribe/player counts

Rust

Configuration:

# server.cfg
server.maxplayers 100  # Don't exceed capacity
server.worldsize 3500  # Smaller = better performance
server.seed 12345      # Consistent world
server.saveinterval 300  # Save less frequently

Performance Tips:

  • Reduce entity count
  • Optimize Bradley/Heli spawns
  • Lower plant growth rates
  • Reduce decay times
  • Wipe regularly
  • Use smaller maps for fewer players

Valheim

Configuration:

# Start parameters
-nographics
-batchmode
-crossplay

Performance Tips:

  • Regular world saves
  • Limit concurrent players
  • Reduce world size
  • Clear old structures
  • Optimize building complexity

System-Level Optimization

Linux Kernel Tuning

bash
# /etc/sysctl.conf

# Network performance
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# File system
vm.swappiness = 10
vm.vfs_cache_pressure = 50

CPU Governor

bash
# Use performance governor
sudo cpupower frequency-set -g performance

# Or in /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=disable"

Disable Unnecessary Services

bash
# Stop services you don't need
sudo systemctl disable bluetooth
sudo systemctl disable cups
sudo systemctl disable avahi-daemon

Monitoring & Diagnostics

Key Metrics

Server Performance:

  • TPS/FPS (should be steady)
  • CPU usage per core
  • RAM usage and allocation
  • Disk I/O wait times

Player Experience:

  • Average ping
  • Packet loss
  • Rubber-banding incidents
  • Connection timeouts

Monitoring Tools

Built-in:

  • Arcadium dashboard metrics
  • Game server console
  • Server query stats

External:

  • htop (CPU/RAM)
  • iotop (Disk I/O)
  • iftop (Network)
  • nethogs (Per-process network)

Profiling

Game-Specific:

Minecraft:

/spark profiler start
[wait 30-60 seconds]
/spark profiler stop

ARK: Check server logs for:

  • Slow ticks
  • Long save times
  • Entity count warnings

Optimization Checklist

Before Launch

  • [ ] Appropriate hardware selected
  • [ ] Server software configured
  • [ ] World/map pregenerated
  • [ ] Resource limits set
  • [ ] Monitoring enabled
  • [ ] Backup system tested

Weekly Maintenance

  • [ ] Review performance metrics
  • [ ] Check for memory leaks
  • [ ] Clear old/abandoned structures
  • [ ] Update game/mods
  • [ ] Optimize database (if applicable)
  • [ ] Test backup restoration

Monthly Review

  • [ ] Analyze player capacity trends
  • [ ] Review resource utilization
  • [ ] Plan hardware upgrades if needed
  • [ ] Optimize entity limits
  • [ ] Review and adjust configs

Common Performance Issues

Low TPS/FPS

Causes:

  • Too many entities
  • Complex redstone/logic
  • Large player count
  • Insufficient CPU

Solutions:

  • Reduce entity counts
  • Optimize contraptions
  • Upgrade CPU
  • Lower player limit

High Memory Usage

Causes:

  • Memory leaks
  • Insufficient allocation
  • Too many loaded chunks
  • Large mod packs

Solutions:

  • Increase allocation
  • Restart regularly
  • Reduce view distance
  • Remove problematic mods

Disk I/O Bottleneck

Causes:

  • HDD instead of SSD
  • Frequent world saves
  • Large world size
  • Insufficient RAM (causes swapping)

Solutions:

  • Upgrade to SSD
  • Reduce save frequency
  • Increase RAM
  • Optimize file system

Network Lag

Causes:

  • Insufficient bandwidth
  • DDoS attack
  • Network congestion
  • ISP issues

Solutions:

  • Upgrade bandwidth
  • Enable DDoS protection
  • Optimize network stack
  • Consider different host/location

Advanced Techniques

Load Balancing

For multiple servers:

  • Distribute players across servers
  • Use proxy (BungeeCord, Velocity)
  • Geographic load balancing
  • Dynamic scaling

Caching

  • Cache frequently accessed data
  • Use Redis for session data
  • CDN for static content
  • Database query caching

Containerization

Benefits of Docker:

  • Resource isolation
  • Easy scaling
  • Consistent environments
  • Better resource utilization

Next Steps

Released under the MIT License.