SteamCMD Kurulumu: Steam Oyun Sunucusu Yönetim Aracı
SteamCMD kurulumu Linux'ta, oyun sunucusu indirme ve güncelleme, otomatik güncelleme scripti, anonymous login ve yaygın sorunlar.
İçindekiler
Giriş
SteamCMD (Steam Console Client), Valve tarafından geliştirilen komut satırı tabanlı bir Steam istemcisidir. Oyun sunucusu dosyalarını indirmek, güncellemek ve yönetmek için kullanılır. CS2, Garry's Mod, Rust, ARK, Palworld ve daha birçok oyunun dedicated server kurulumu SteamCMD ile yapılır. Bu rehberde SteamCMD'nin Linux üzerinde kurulumunu, kullanımını ve otomatik güncelleme yapılandırmasını anlatacağız.
Sistem Gereksinimleri
| Kaynak | Minimum |
|---|---|
| OS | Ubuntu 20.04+ / Debian 11+ |
| RAM | 512 MB |
| Disk | 500 MB (SteamCMD) + oyun sunucusu alanı |
| Mimari | 64-bit (32-bit kütüphaneler gerekli) |
Kurulum Yöntemleri
Yöntem 1: APT ile Kurulum (Ubuntu/Debian)
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd
APT ile kurulumda SteamCMD /usr/games/steamcmd yoluna kurulur ve lisans sözleşmesini kabul etmeniz gerekir.
Yöntem 2: Manuel Kurulum (Önerilen)
Manuel kurulum daha fazla kontrol sağlar:
# Gerekli 32-bit kütüphaneleri kurun
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 wget tar
# Sunucu kullanıcısı oluşturun
sudo adduser steam --disabled-login --gecos ""
sudo su - steam
# SteamCMD'yi indirin ve kurun
mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz
Kurulumu doğrulayın:
./steamcmd.sh +quit
Manuel kurulum, her oyun sunucusu için ayrı kullanıcı oluşturmanıza ve izinleri daha iyi yönetmenize olanak tanır.
Temel Kullanım
SteamCMD Komut Yapısı
./steamcmd.sh +login <kullanıcı> +force_install_dir <dizin> +app_update <app_id> +quit
Anonymous Login
Çoğu oyun sunucusu anonymous (anonim) login ile indirilebilir:
./steamcmd.sh +login anonymous +quit
Hesap ile Login
Bazı oyun sunucuları Steam hesabı gerektirir:
./steamcmd.sh +login kullanici_adi +quit
Steam Guard etkinse doğrulama kodu girmeniz gerekir. İlk girişten sonra token önbelleğe alınır.
Popüler Oyun Sunucuları ve App ID'leri
| Oyun | App ID | Anonymous Login |
|---|---|---|
| Counter-Strike 2 | 730 | Evet |
| Garry's Mod | 4020 | Evet |
| Rust | 258550 | Evet |
| ARK: Survival Evolved | 376030 | Evet |
| Palworld | 2394010 | Evet |
| Unturned | 1110390 | Evet |
| Terraria (tShock) | 105600 | Evet |
| Team Fortress 2 | 232250 | Evet |
| Left 4 Dead 2 | 222860 | Evet |
| Valheim | 896660 | Evet |
| Project Zomboid | 380870 | Evet |
| 7 Days to Die | 294420 | Evet |
| Satisfactory | 1690800 | Evet |
| V Rising | 1829350 | Evet |
| Enshrouded | 2278520 | Evet |
Oyun Sunucusu İndirme Örnekleri
CS2 Sunucusu
./steamcmd.sh \
+force_install_dir ~/cs2-server \
+login anonymous \
+app_update 730 validate \
+quit
Rust Sunucusu
./steamcmd.sh \
+force_install_dir ~/rust-server \
+login anonymous \
+app_update 258550 validate \
+quit
ARK Sunucusu
./steamcmd.sh \
+force_install_dir ~/ark-server \
+login anonymous \
+app_update 376030 validate \
+quit
Palworld Sunucusu
./steamcmd.sh \
+force_install_dir ~/palworld-server \
+login anonymous \
+app_update 2394010 validate \
+quit
Otomatik Güncelleme Scripti
Birden fazla oyun sunucusunu otomatik güncellemek için:
nano ~/steamcmd/update_all.sh
#!/bin/bash
STEAMCMD="/home/steam/steamcmd/steamcmd.sh"
LOG_FILE="/home/steam/update.log"
echo "========================================" >> $LOG_FILE
echo "$(date): Güncelleme başlatıldı" >> $LOG_FILE
# CS2 Güncelleme
echo "$(date): CS2 güncelleniyor..." >> $LOG_FILE
$STEAMCMD +force_install_dir /home/steam/cs2-server \
+login anonymous +app_update 730 +quit >> $LOG_FILE 2>&1
# Rust Güncelleme
echo "$(date): Rust güncelleniyor..." >> $LOG_FILE
$STEAMCMD +force_install_dir /home/steam/rust-server \
+login anonymous +app_update 258550 +quit >> $LOG_FILE 2>&1
echo "$(date): Güncelleme tamamlandı" >> $LOG_FILE
chmod +x ~/steamcmd/update_all.sh
Crontab'a ekleyin:
crontab -e
0 4 * * * /home/steam/steamcmd/update_all.sh
SteamCMD Script Dosyası Kullanımı
Komutları bir script dosyasına yazarak çalıştırabilirsiniz:
nano ~/steamcmd/cs2_update.txt
@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
login anonymous
force_install_dir /home/steam/cs2-server
app_update 730 validate
quit
Çalıştırma:
./steamcmd.sh +runscript ~/steamcmd/cs2_update.txt
Beta Branch Kurulumu
Bir oyunun beta sürümünü kurmak için:
./steamcmd.sh \
+force_install_dir ~/game-server \
+login anonymous \
+app_update APP_ID -beta BETA_ADI \
+quit
Örnek (CS2 pre-release):
./steamcmd.sh \
+force_install_dir ~/cs2-server \
+login anonymous \
+app_update 730 -beta prerelease \
+quit
Workshop İçerik İndirme
Steam Workshop içeriklerini indirmek için:
./steamcmd.sh \
+login anonymous \
+workshop_download_item APP_ID WORKSHOP_ID \
+quit
İndirilen dosyalar şu dizinde bulunur:
~/steamcmd/steamapps/workshop/content/APP_ID/WORKSHOP_ID/
Yaygın Sorunlar ve Çözümleri
32-bit kütüphane hatası
# Hata: steamcmd: error while loading shared libraries
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6
Disk alanı yetersiz
# Disk kullanımını kontrol edin
df -h
# SteamCMD önbelleğini temizleyin
rm -rf ~/steamcmd/steamapps/downloading/*
rm -rf ~/steamcmd/steamapps/temp/*
İndirme hataları
# validate parametresi ile dosya bütünlüğünü kontrol edin
./steamcmd.sh +force_install_dir ~/game-server \
+login anonymous \
+app_update APP_ID validate \
+quit
Steam Guard doğrulama sorunu
# İlk girişte doğrulama kodunu girin
./steamcmd.sh +login kullanici_adi
# Kod sorulduğunda e-posta/mobil kodunu girin
# Sonraki girişlerde kod gerekmez
Bağlantı zaman aşımı
# DNS ayarlarını kontrol edin
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
# Yeniden deneyin
./steamcmd.sh +login anonymous +quit
Güvenlik Önerileri
- Ayrı kullanıcı: Her oyun sunucusu için ayrı Linux kullanıcısı oluşturun
- Root kullanmayın: SteamCMD'yi asla root olarak çalıştırmayın
- Firewall: Sadece gerekli portları açın
- Güncellemeler: Düzenli güncelleme yapın
- Yedekleme: Sunucu dosyalarını düzenli yedekleyin
# Örnek: Ayrı kullanıcılar
sudo adduser cs2 --disabled-login --gecos ""
sudo adduser rust --disabled-login --gecos ""
sudo adduser ark --disabled-login --gecos ""
SteamCMD Güncelleme
SteamCMD kendini otomatik günceller. Manuel güncelleme için:
cd ~/steamcmd
./steamcmd.sh +quit
Sonuç
SteamCMD, Linux üzerinde oyun sunucusu yönetiminin temel aracıdır. Anonymous login ile çoğu oyun sunucusunu kolayca indirebilir, otomatik güncelleme scriptleri ile sunucularınızı güncel tutabilirsiniz. REXE VDS'in güçlü altyapısı ile SteamCMD tabanlı oyun sunucularınızı sorunsuz çalıştırabilirsiniz.
İ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.