Oyun Sunucusu Optimizasyonu: Performans ve Gecikme Azaltma
Oyun sunucusu performans optimizasyonu rehberi. CPU/RAM yönetimi, tick rate ayarları, network tuning ve kernel optimizasyonu.
İçindekiler
Giriş
Oyun sunucusu performansı, oyuncu deneyimini doğrudan etkileyen kritik bir faktördür. Yüksek gecikme (latency), düşük tick rate ve yetersiz kaynak yönetimi oyuncuların sunucudan ayrılmasına neden olabilir. Bu rehberde REXE VDS üzerinde oyun sunucunuzu optimize etmek için CPU, RAM, network ve kernel düzeyinde yapılabilecek iyileştirmeleri detaylı olarak anlatacağız.
CPU Optimizasyonu
CPU Governor Ayarı
Varsayılan olarak Linux CPU frekansını dinamik olarak ayarlar. Oyun sunucuları için sabit yüksek frekans önerilir:
# Mevcut governor'ı kontrol et
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# Performance moduna geç
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# Kalıcı yapmak için
sudo apt install cpufrequtils -y
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo systemctl restart cpufrequtils
CPU Affinity (taskset)
Oyun sunucusunu belirli CPU çekirdeklerine bağlayarak performansı artırabilirsiniz:
# Sunucuyu çekirdek 0 ve 1'e bağla
taskset -c 0,1 ./server_binary
# Çalışan bir process'i bağla
taskset -cp 0,1 $(pidof server_binary)
CPU İzolasyonu
Kernel parametresi ile belirli çekirdekleri oyun sunucusu için ayırın:
sudo nano /etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT satırına ekleyin:
# isolcpus=2,3 nohz_full=2,3 rcu_nocbs=2,3
sudo update-grub
sudo reboot
RAM Optimizasyonu
Swap Ayarları
Oyun sunucuları için swap kullanımını minimize edin:
# Mevcut swappiness değerini kontrol et
cat /proc/sys/vm/swappiness
# Swappiness'i düşür (varsayılan 60)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
# Dirty page ayarları
echo 'vm.dirty_ratio=15' | sudo tee -a /etc/sysctl.conf
echo 'vm.dirty_background_ratio=5' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Huge Pages
Büyük bellek sayfaları kullanarak TLB miss'lerini azaltın:
# Huge pages ayarla (2MB sayfa, 2048 adet = 4GB)
echo 'vm.nr_hugepages=2048' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# Kontrol et
cat /proc/meminfo | grep HugePages
OOM Killer Koruması
Oyun sunucusu process'ini OOM killer'dan koruyun:
# Process'in OOM score'unu düşür
echo -17 > /proc/$(pidof server_binary)/oom_adj
Tick Rate Optimizasyonu
Tick Rate Nedir?
Tick rate, sunucunun saniyede kaç kez oyun durumunu güncellediğini belirler. Yüksek tick rate daha akıcı oyun deneyimi sağlar ancak daha fazla CPU ve bant genişliği gerektirir.
| Oyun | Varsayılan Tick Rate | Önerilen |
|---|---|---|
| CS2 | 64 | 128 |
| Minecraft | 20 | 20 |
| Rust | 30 | 30 |
| FiveM | 30 | 60 |
| V Rising | 30 | 30-60 |
Tick Rate Ayarlama
# CS2 için 128 tick
./cs2 -dedicated -tickrate 128
# Minecraft için (server.properties)
# Tick rate sabit 20'dir, TPS optimizasyonu yapılır
# FiveM için (server.cfg)
sv_maxclients 64
set sv_enforceGameBuild 3095
Network Optimizasyonu
Kernel Network Parametreleri
sudo nano /etc/sysctl.conf
# UDP Buffer boyutları
net.core.rmem_max=26214400
net.core.wmem_max=26214400
net.core.rmem_default=1048576
net.core.wmem_default=1048576
# Network queue boyutu
net.core.netdev_max_backlog=65536
net.core.somaxconn=65535
# TCP optimizasyonu
net.ipv4.tcp_rmem=4096 87380 26214400
net.ipv4.tcp_wmem=4096 65536 26214400
net.ipv4.tcp_max_syn_backlog=65536
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=15
net.ipv4.tcp_keepalive_time=300
net.ipv4.tcp_keepalive_intvl=15
net.ipv4.tcp_keepalive_probes=5
# UDP optimizasyonu
net.ipv4.udp_rmem_min=8192
net.ipv4.udp_wmem_min=8192
# Bağlantı izleme
net.netfilter.nf_conntrack_max=1048576
net.nf_conntrack_max=1048576
sudo sysctl -p
Network Interface Optimizasyonu
# Ring buffer boyutunu artır
sudo ethtool -G eth0 rx 4096 tx 4096
# Interrupt coalescing
sudo ethtool -C eth0 rx-usecs 50 tx-usecs 50
# TCP offloading kontrol
sudo ethtool -k eth0
Kernel Tuning
I/O Scheduler
Oyun sunucuları için uygun I/O scheduler seçin:
# Mevcut scheduler'ı kontrol et
cat /sys/block/sda/queue/scheduler
# NVMe için none (noop) önerilir
echo none | sudo tee /sys/block/nvme0n1/queue/scheduler
# SSD için mq-deadline önerilir
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler
File Descriptor Limitleri
sudo nano /etc/security/limits.conf
steam soft nofile 1000000
steam hard nofile 1000000
steam soft nproc 65535
steam hard nproc 65535
Kernel Timer Frekansı
Daha hassas zamanlama için kernel timer frekansını kontrol edin:
# Mevcut timer frekansını kontrol et
cat /boot/config-$(uname -r) | grep CONFIG_HZ
# 1000 Hz önerilir (kernel derleme gerektirir)
İzleme Araçları
Performans İzleme
# CPU ve RAM kullanımı
htop
# Disk I/O izleme
sudo iotop -o
# Network bağlantıları
ss -tuln
# Network trafiği
sudo iftop -i eth0
# Detaylı process izleme
pidstat -p $(pidof server_binary) 1
Gecikme Testi
# Sunucu gecikmesini test et
ping -c 100 SUNUCU_IP
# MTR ile detaylı yol analizi
mtr --report SUNUCU_IP
# Network jitter testi
ping -c 100 SUNUCU_IP | awk -F'/' 'END{print "avg="$5" ms"}'
Otomatik Optimizasyon Scripti
nano ~/optimize_gameserver.sh
#!/bin/bash
echo "=== Oyun Sunucusu Optimizasyonu ==="
# CPU Governor
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 2>/dev/null
# Sysctl ayarları
sudo sysctl -w vm.swappiness=10
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.wmem_max=26214400
sudo sysctl -w net.core.netdev_max_backlog=65536
# File descriptor limitleri
ulimit -n 1000000
echo "Optimizasyon tamamlandı."
chmod +x ~/optimize_gameserver.sh
Sonuç
Oyun sunucusu optimizasyonu CPU, RAM, network ve kernel düzeyinde yapılan iyileştirmelerle önemli performans artışı sağlar. Düzenli izleme ve doğru yapılandırma ile oyuncularınıza düşük gecikmeli, akıcı bir oyun deneyimi sunabilirsiniz. REXE VDS'in yüksek performanslı donanımı ve Path.net DDoS koruması ile sunucunuz en iyi performansta çalışır.
İlgili Makaleler
FiveM Sunucusu Kurulumu: VDS'de Adım Adım Rehber
REXE VDS üzerinde FiveM sunucusu kurulumu, txAdmin yapılandırması, port ayarları ve performans optimizasyonu. GTA V roleplay sunucunuzu dakikalar içinde kurun.
Minecraft Sunucusu Kurulumu: Paper ile Adım Adım Rehber
REXE VDS üzerinde Paper/Spigot Minecraft sunucusu kurulumu, Java ayarları, plugin yönetimi ve performans optimizasyonu. Kendi Minecraft sunucunuzu kurun.
CS2 Sunucusu Kurulumu: SteamCMD ile Adım Adım Rehber
REXE VDS üzerinde Counter-Strike 2 dedicated sunucu kurulumu, SteamCMD, GSLT token ve sunucu yapılandırması. CS2 sunucunuzu hızlıca kurun.