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.
Oyun sunucunuzu systemd ile otomatik başlatma, watchdog script, restart policy ve tmux/screen kullanımı rehberi.
Oyun sunucuları 7/24 çalışması gereken servislerdir. Sunucu çökmesi, sistem yeniden başlatması veya beklenmeyen hatalar durumunda sunucunun otomatik olarak yeniden başlaması kritik öneme sahiptir. Bu rehberde systemd service yapılandırması, watchdog scriptleri, tmux/screen kullanımı ve restart policy ayarlarını detaylı olarak anlatacağız.
sudo nano /etc/systemd/system/gameserver.service
[Unit]
Description=Game Dedicated Server
After=network.target
Wants=network-online.target
[Service]
Type=simple
User=steam
Group=steam
WorkingDirectory=/home/steam/gameserver
ExecStartPre=/home/steam/steamcmd/steamcmd.sh +force_install_dir /home/steam/gameserver +login anonymous +app_update APP_ID +quit
ExecStart=/home/steam/gameserver/start.sh
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=on-failure
RestartSec=30
StartLimitIntervalSec=300
StartLimitBurst=5
TimeoutStartSec=180
TimeoutStopSec=60
StandardOutput=journal
StandardError=journal
SyslogIdentifier=gameserver
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target
# Service'i etkinleştir (boot'ta otomatik başlat)
sudo systemctl daemon-reload
sudo systemctl enable gameserver
# Service yönetimi
sudo systemctl start gameserver
sudo systemctl stop gameserver
sudo systemctl restart gameserver
sudo systemctl status gameserver
# Logları görüntüle
sudo journalctl -u gameserver -f
sudo journalctl -u gameserver --since "1 hour ago"
| Seçenek | Açıklama |
|---|---|
| no | Yeniden başlatma |
| on-success | Sadece başarılı çıkışta |
| on-failure | Hata durumunda (exit code != 0) |
| on-abnormal | Signal veya timeout durumunda |
| on-watchdog | Watchdog timeout durumunda |
| on-abort | Signal ile sonlandırıldığında |
| always | Her durumda yeniden başlat |
[Service]
Restart=always
RestartSec=15
StartLimitIntervalSec=600
StartLimitBurst=10
Bu yapılandırma:
# Failed durumunu sıfırla
sudo systemctl reset-failed gameserver
# Tekrar başlat
sudo systemctl start gameserver
nano ~/watchdog.sh
#!/bin/bash
SERVICE="gameserver"
LOG="/home/steam/watchdog.log"
while true; do
if ! systemctl is-active --quiet $SERVICE; then
echo "$(date): $SERVICE çalışmıyor, yeniden başlatılıyor..." >> $LOG
sudo systemctl restart $SERVICE
sleep 30
fi
sleep 60
done
chmod +x ~/watchdog.sh
nano ~/watchdog_advanced.sh
#!/bin/bash
SERVICE="gameserver"
PORT=27015
LOG="/home/steam/watchdog.log"
MAX_RETRIES=3
RETRY_COUNT=0
check_port() {
ss -tuln | grep -q ":$PORT "
return $?
}
check_process() {
systemctl is-active --quiet $SERVICE
return $?
}
while true; do
if ! check_process; then
echo "$(date): Process çalışmıyor, yeniden başlatılıyor..." >> $LOG
sudo systemctl restart $SERVICE
RETRY_COUNT=$((RETRY_COUNT + 1))
sleep 60
elif ! check_port; then
echo "$(date): Port $PORT yanıt vermiyor, kontrol ediliyor..." >> $LOG
RETRY_COUNT=$((RETRY_COUNT + 1))
if [ $RETRY_COUNT -ge $MAX_RETRIES ]; then
echo "$(date): $MAX_RETRIES deneme başarısız, sunucu yeniden başlatılıyor..." >> $LOG
sudo systemctl restart $SERVICE
RETRY_COUNT=0
fi
sleep 30
else
RETRY_COUNT=0
fi
sleep 60
done
chmod +x ~/watchdog_advanced.sh
sudo nano /etc/systemd/system/gameserver-watchdog.service
[Unit]
Description=Game Server Watchdog
After=gameserver.service
Requires=gameserver.service
[Service]
Type=simple
User=steam
ExecStart=/home/steam/watchdog_advanced.sh
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable gameserver-watchdog
sudo systemctl start gameserver-watchdog
sudo apt install tmux -y
nano ~/start_tmux.sh
#!/bin/bash
SESSION="gameserver"
# Mevcut session varsa kapat
tmux kill-session -t $SESSION 2>/dev/null
# Yeni session oluştur ve sunucuyu başlat
tmux new-session -d -s $SESSION
tmux send-keys -t $SESSION "cd ~/gameserver && ./start.sh" C-m
echo "Sunucu tmux session '$SESSION' içinde başlatıldı."
echo "Bağlanmak için: tmux attach -t $SESSION"
chmod +x ~/start_tmux.sh
# Session'a bağlan
tmux attach -t gameserver
# Session'dan ayrıl (sunucu çalışmaya devam eder)
# Ctrl+B, ardından D
# Session listesi
tmux list-sessions
# Session'ı kapat
tmux kill-session -t gameserver
sudo apt install screen -y
nano ~/start_screen.sh
#!/bin/bash
SCREEN_NAME="gameserver"
# Mevcut screen varsa kapat
screen -S $SCREEN_NAME -X quit 2>/dev/null
# Yeni screen oluştur ve sunucuyu başlat
screen -dmS $SCREEN_NAME bash -c "cd ~/gameserver && ./start.sh"
echo "Sunucu screen '$SCREEN_NAME' içinde başlatıldı."
echo "Bağlanmak için: screen -r $SCREEN_NAME"
chmod +x ~/start_screen.sh
# Screen'e bağlan
screen -r gameserver
# Screen'den ayrıl
# Ctrl+A, ardından D
# Screen listesi
screen -ls
# Screen'i kapat
screen -S gameserver -X quit
nano ~/auto_update_restart.sh
#!/bin/bash
SERVICE="gameserver"
LOG="/home/steam/update.log"
echo "$(date): Güncelleme başlatılıyor..." >> $LOG
# Sunucuyu durdur
sudo systemctl stop $SERVICE
sleep 10
# Güncelleme
~/steamcmd/steamcmd.sh +force_install_dir ~/gameserver +login anonymous +app_update APP_ID +quit >> $LOG 2>&1
# Sunucuyu başlat
sudo systemctl start $SERVICE
echo "$(date): Güncelleme tamamlandı." >> $LOG
chmod +x ~/auto_update_restart.sh
crontab -e
0 4 * * * /home/steam/auto_update_restart.sh
systemd service yapılandırması, watchdog scriptleri ve tmux/screen kullanımı ile oyun sunucunuzun 7/24 kesintisiz çalışmasını sağlayabilirsiniz. Doğru restart policy ayarları ve otomatik güncelleme mekanizmaları ile sunucu yönetimini otomatikleştirin. REXE VDS'in güvenilir altyapısı ile sunucunuz her zaman erişilebilir olur.
systemd service, sunucunuzun sistem başlangıcında otomatik başlamasını ve çökme durumunda yeniden başlatılmasını sağlar.
Her ikisi de terminal multiplexer'dır. tmux daha modern ve özellik zenginidir, screen ise daha eski ve yaygındır. Fonksiyonel olarak benzerlerdir.
Watchdog script, sunucunun çalışıp çalışmadığını düzenli olarak kontrol eder. Sunucu durmuşsa veya port yanıt vermiyorsa otomatik olarak yeniden başlatır.
systemd service dosyasında Restart, RestartSec, StartLimitIntervalSec ve StartLimitBurst parametreleri ile ayarlanır.
journalctl -u gameserver -f komutu ile canlı logları, journalctl -u gameserver --since '1 hour ago' ile son 1 saatin loglarını görüntüleyebilirsiniz.
REXE VDS üzerinde FiveM sunucusu kurulumu, txAdmin yapılandırması, port ayarları ve performans optimizasyonu. GTA V roleplay sunucunuzu dakikalar içinde kurun.
REXE VDS üzerinde Paper/Spigot Minecraft sunucusu kurulumu, Java ayarları, plugin yönetimi ve performans optimizasyonu. Kendi Minecraft sunucunuzu kurun.
REXE VDS üzerinde Counter-Strike 2 dedicated sunucu kurulumu, SteamCMD, GSLT token ve sunucu yapılandırması. CS2 sunucunuzu hızlıca kurun.