Skip to main content
Back to Category

Game Server Lag Issues: Causes and Solutions

Causes and solutions for game server lag issues: network latency, server-side lag, TPS drops, MTR testing and FiveM/Minecraft/CS2 optimization guide.

Read time: 12 min Game Server Setup
lag issuegame serverpingtpsfivemminecraftcs2optimization

Table of Contents

Game Server Lag Issues: Causes and Solutions

Lag on a game server is one of the most common complaints from players. However, "lag" is not a single problem — it has different types and causes. This guide helps you correctly diagnose lag issues and implement effective solutions.

Types of Lag

1. Network Latency (Network Lag / Ping)

This is the communication delay between the player's computer and the server. Measured by ping value.

Ping Assessment:
< 20 ms:    Excellent (player won't notice)
20-50 ms:   Good (acceptable)
50-100 ms:  Medium (slight delay may be felt)
100-150 ms: Poor (noticeable delay)
> 150 ms:   Very Poor (unplayable)

2. Server-Side Lag (TPS)

This is when the server's processing capacity is insufficient. Measured by TPS (Ticks Per Second).

TPS Assessment (Minecraft example):
20 TPS:    Excellent (normal)
18-20 TPS: Good
15-18 TPS: Medium (slight lag)
10-15 TPS: Poor (noticeable lag)
< 10 TPS:  Very Poor (unplayable)

3. Packet Loss

When some of the sent packets don't reach their destination. Even 1% can cause serious problems.

Packet Loss Assessment:
0%:      Excellent
0-1%:    Acceptable
1-5%:    Problematic
> 5%:    Critical (immediate action required)

Diagnostic Tools

MTR (My Traceroute) Network Analysis

MTR is a powerful network diagnostic tool that combines traceroute and ping.

hljs bash
# Linux/Mac
mtr --report --report-cycles 100 SERVER_IP

# Example MTR output:
# Host                Loss%   Snt   Last   Avg  Best  Wrst StDev
# 1. 192.168.1.1      0.0%   100    1.2   1.1   0.9   2.1   0.2
# 2. 10.0.0.1         0.0%   100    5.3   5.1   4.8   6.2   0.3
# 3. SERVER_IP        0.0%   100   12.3  12.1  11.8  13.2   0.5

Server Resource Usage

hljs bash
# CPU usage
top
htop

# RAM usage
free -h

# Disk I/O
iostat -x 1

# Network traffic
netstat -s

Network Lag Causes and Solutions

Cause 1: High Ping (Remote Server Location)

Symptoms:
- All players experiencing high ping
- Ping is stable but high
- High latency at last hop in MTR

Solution:
- Move server to a location closer to your player base
- Choose Istanbul location for Turkish players
- Get 5-15 ms ping with REXE's Istanbul VDS

Cause 2: Packet Loss

hljs bash
# Detect packet loss
mtr --report SERVER_IP

# Which hop has packet loss?
# If loss at last hop: server issue
# If loss at intermediate hop: ISP/routing issue

Cause 3: DDoS Attack

hljs bash
# Detect abnormal traffic
netstat -an | grep ESTABLISHED | wc -l
tcpdump -i eth0 -n | head -50

# Symptoms:
# - Sudden ping spike
# - All players disconnecting simultaneously
# - Server CPU/RAM normal but inaccessible

# Solution:
# - Immediately notify REXE support team
# - Activate Path.net DDoS protection

Server-Side Lag Causes and Solutions

Cause 1: CPU Overload

hljs bash
# Check CPU usage
top -bn1 | grep "Cpu(s)"

# Which process is consuming CPU?
top -bn1 | head -20

FiveM CPU Optimization:

hljs lua
-- server.cfg
set sv_maxClients 32  -- Limit player count
set onesync_enabled true  -- Better performance with OneSync

Minecraft CPU Optimization:

hljs yaml
# spigot.yml
world-settings:
  default:
    mob-spawn-range: 4
    entity-activation-range:
      animals: 16
      monsters: 24
      misc: 8
    tick-inactive-villagers: false
    nerf-spawner-mobs: true

Cause 2: Insufficient RAM

hljs bash
# Check RAM usage
free -h

# If swap usage is high, RAM is insufficient

Minecraft JVM Optimization:

hljs bash
java -Xms4G -Xmx4G \
  -XX:+UseG1GC \
  -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC \
  -XX:G1NewSizePercent=30 \
  -XX:G1MaxNewSizePercent=40 \
  -jar server.jar nogui

Cause 3: Disk I/O Issues

hljs bash
# Check disk I/O
iostat -x 1 5

# If %util is high, there's a disk bottleneck
# If await is high, disk is slow

# Solution:
# - Use NVMe SSD (instead of HDD or SATA SSD)

Cause 4: Plugin/Mod Issues

hljs bash
# Minecraft: Timings report
/timings on
# Wait 5 minutes
/timings paste
# Open URL in browser and identify heavy plugins

# FiveM: Resource profiler
resmon start
# Identify heavy resources

Game-Specific Optimization

FiveM Optimization

hljs lua
-- server.cfg
set sv_maxClients 64
set onesync_enabled true
set onesync_population true
set net_maxPacketSize 1300

Minecraft Optimization

hljs yaml
# paper.yml
world-settings:
  default:
    optimize-explosions: true
    mob-spawner-tick-rate: 2
    max-entity-collisions: 2
    despawn-ranges:
      soft: 28
      hard: 96

CS2 Optimization

# server.cfg
sv_maxrate 786432
sv_maxupdaterate 128
sv_mincmdrate 64
sv_maxcmdrate 128

When to Upgrade Your Server

Upgrade Indicators:

CPU:
- Consistently 80%+ usage
- TPS consistently below 18
- Cannot increase player count

RAM:
- Swap usage present
- OOM (Out of Memory) errors
- Memory leak suspected

Disk:
- %util consistently 80%+
- await > 20ms
- Slow chunk loading

Network:
- Bandwidth limit exceeded
- Packet loss present
- DDoS attacks effective

Diagnose before solving lag issues. Detect network issues with MTR, CPU/RAM issues with top/htop, disk issues with iostat. Optimizations made without knowing the source of the problem are generally ineffective.

REXE's NVMe SSD-based VDS servers and Path.net network infrastructure eliminate the vast majority of game server lag issues. Istanbul location provides 5-15 ms ping values for players in Turkey.