SteamCMD, Valve'ın Steam istemcisinin komut satırı sürümüdür. Asıl kullanım amacı, Steam üzerinden dağıtılan oyunların dedicated server dosyalarını indirmek ve güncellemektir. CS2, Rust, ARK, Palworld, Garry's Mod ve Satisfactory gibi oyunların sunucu dosyalarını grafik arayüzü olmayan bir Linux sunucuya ya da Windows VDS'e kurmak istiyorsanız SteamCMD bilmeniz gereken ilk araçtır.

Bu rehberde SteamCMD nedir, Windows ve Linux'a nasıl kurulur, anonim giriş, app_update ile sunucu indirme, validate, beta dalları, güncelleme ve +runscript ile otomasyon konularını Valve belgeleri ve oyun geliştiricilerinin resmî sayfalarına dayanarak anlatıyoruz.

SteamCMD nedir, ne işe yarar?

SteamCMD, Steam'in içerik dağıtım altyapısına komut satırından erişmenizi sağlar. Valve belgelerine göre çoğu oyun sunucusu anonim girişle (login anonymous) indirilebilir; yani Steam hesabı gerekmez. Bazı sunucular ise oyunun sahibi olan bir hesapla giriş gerektirebilir; bunu her oyunun kendi belgesinden kontrol edin.

Windows'ta SteamCMD kurulumu

Windows'ta SteamCMD kurulumu: Valve'ın resmî adresinden steamcmd.zip dosyasını indirin, Arşivi kendi klasörüne çıkarın, örneğin C:\steamcmd., steamcmd.exe dosyasını çalıştırın...
  • Valve'ın resmî adresinden steamcmd.zip dosyasını indirin: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
  • Arşivi kendi klasörüne çıkarın, örneğin C:\steamcmd.
  • steamcmd.exe dosyasını çalıştırın. İlk açılışta kendini günceller ve Steam> istemine düşer.

Windows sunucu yönetimi konusunda yeniyseniz Windows VDS rehberimize göz atabilirsiniz.

Linux'ta SteamCMD kurulumu

Ubuntu: paket yöneticisi ile

Valve belgelerine göre Ubuntu'da steamcmd paketi multiverse deposundadır ve 32 bit (i386) paketlerin etkinleştirilmesini gerektirir:

bash
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd

Debian'da multiverse yerine non-free deposu kullanılır; i386 adımı aynıdır. Paketle kurduğunuzda komut doğrudan steamcmd olarak çalışır.

Elle kurulum

Paket kullanmak istemiyorsanız Valve belgeleri x86-64 Ubuntu/Debian için önce lib32gcc-s1 kurulmasını söyler. Facepunch'ın Rust sunucu belgesindeki indirme adımları şöyledir:

bash
sudo apt-get install lib32gcc-s1

mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar xvfz steamcmd_linux.tar.gz
chmod +x steamcmd.sh
./steamcmd.sh

Temel SteamCMD komutları

Temel SteamCMD komutları: force_install_dir <yol>, login anonymous, app_update <appid>, app_update <appid> validate
KomutNe yapar
force_install_dir &lt;yol&gt;Uygulamanın kurulacağı klasörü belirler. Valve, bunu giriş yapmadan önce çalıştırmanızı önerir.
login anonymousAnonim giriş. Çoğu dedicated server için yeterlidir.
app_update &lt;appid&gt;Uygulamayı indirir veya günceller.
app_update &lt;appid&gt; validateİndirir ve dosya bütünlüğünü doğrular.
app_update &lt;appid&gt; -beta &lt;dal&gt;Belirli bir beta dalını indirir.
quitSteamCMD'den çıkar.

Komutları etkileşimli olarak Steam> isteminde tek tek yazabilir ya da başına + koyarak tek satırda zincirleyebilirsiniz:

bash
# Linux (paket kurulumu)
steamcmd +force_install_dir /home/steam/sunucu +login anonymous +app_update <appid> validate +quit

# Windows
C:\steamcmd\steamcmd.exe +force_install_dir C:\sunucular\oyun +login anonymous +app_update <appid> validate +quit

Dedicated server app ID listesi

Aşağıdaki app ID'leri yalnızca Valve'ın veya oyunun resmî belgelerinde doğrulayabildiklerimizden oluşur:

OyunApp IDNotKaynak
Counter-Strike 2730CS2'de sunucu ve oyun istemcisi aynı app ID'de birleşti (CS:GO döneminde sunucu 740 idi).Valve Developer Community
Rust258550Anonim giriş yeterli. -beta staging gibi dallar var.Facepunch Wiki
ARK: Survival Evolved376030Linux'u yerel olarak destekler.ARK resmî wiki
ARK: Survival Ascended2430930Linux'u yerel olarak desteklemez; Windows veya Windows benzeri ortam gerekir.ARK resmî wiki
Palworld2394010Linux varsayılan yolu: ~/Steam/steamapps/common/PalServerPalworld Docs
Garry's Mod402064 bit için -beta x86-64 dalı.Facepunch Wiki
Satisfactory1690800Experimental için -beta experimental.Resmî Satisfactory Wiki

Valheim Dedicated Server'ın app ID'si Steam'in uygulama kayıtlarında 896660 olarak geçer: steamcmd +force_install_dir /home/steam/valheim +login anonymous +app_update 896660 validate +quit. Başlatma parametreleri için oyunun sunucu dosyalarıyla gelen resmî kılavuza ve Valheim sunucu kurulumu rehberimize bakın.

Örnek komutlar

bash
# Counter-Strike 2
steamcmd +force_install_dir /home/steam/cs2 +login anonymous +app_update 730 validate +quit

# Rust
steamcmd +force_install_dir /home/steam/rust +login anonymous +app_update 258550 validate +quit

# Palworld
steamcmd +login anonymous +app_update 2394010 validate +quit

# Satisfactory
steamcmd +force_install_dir ~/SatisfactoryDedicatedServer +login anonymous +app_update 1690800 validate +quit

# Garry's Mod (x86-64 dalı)
steamcmd +force_install_dir /home/steam/gmod +login anonymous +app_update 4020 -beta x86-64 validate +quit

# ARK: Survival Evolved
steamcmd +force_install_dir /home/steam/ark +login anonymous +app_update 376030 validate +quit

Oyuna özel kurulum adımları için rehberlerimize bakabilirsiniz: CS2 sunucu kurulumu, Rust sunucu kurulumu, ARK sunucu kurulumu, Palworld sunucu kurulumu, Garry's Mod sunucu kurulumu ve Satisfactory sunucu kurulumu.

validate ne zaman kullanılmalı?

validate, indirilen dosyaları Steam'deki sürümle karşılaştırır ve eksik ya da bozuk dosyaları düzeltir. Valve'ın CS2 belgesi validate'i ilk kurulumda veya dosya bütünlüğünü doğrulamak istediğinizde kullanmanızı, rutin güncellemelerde ise düz app_update 730 yeterli olduğunu belirtir.

Beta dalları ve ana dala geri dönme

Bazı oyunlar test için beta dalları sunar. Dalı -beta parametresiyle seçersiniz:

bash
app_update 258550 -beta staging
app_update 1690800 -beta experimental validate

Ana sürüme dönmek için parametreyi kaldırmak her zaman yetmeyebilir. Satisfactory wiki'si bu durumda -beta public kullanmanızı önerir; Facepunch belgesi de varsayılan derlemeye dönmek için public dalının belirtilmesi gerektiğini söyler.

Sunucu güncelleme

Sunucu güncelleme: Önce sunucuyu durdurun., Aynı force_install_dir'i kullanın., Güncellemeden önce yedek alın., CS2 gibi oyunlarda

Güncelleme, kurulumda kullandığınız komutun aynısını tekrar çalıştırmaktır; SteamCMD yalnızca değişen dosyaları indirir. Dikkat etmeniz gerekenler:

  • Önce sunucuyu durdurun. Satisfactory wiki'si, güncelleme sırasında "state is 0x606 after update job" hatasının genellikle dosyanın çalışan bir işlem tarafından kilitlenmesinden kaynaklandığını belirtir.
  • Aynı force_install_dir'i kullanın. Farklı klasör verirseniz SteamCMD yeni bir kurulum yapar.
  • Güncellemeden önce yedek alın. Özellikle kayıt dosyaları ve yapılandırma için rsync ile yedekleme kullanabilirsiniz.
  • CS2 gibi oyunlarda oyun güncellendiğinde sunucuyu da güncellemeniz gerekir; aksi hâlde güncel istemciler bağlanamayabilir.

+runscript ile otomasyon

Her seferinde uzun komut yazmak yerine komutları bir metin dosyasına koyup +runscript ile çalıştırabilirsiniz. Valve belgelerine göre dosya quit ile bitmelidir; dosya bulunamadı hatası alırsanız mutlak yol kullanın.

text
// /home/steam/rust_guncelle.txt
force_install_dir /home/steam/rust
login anonymous
app_update 258550 validate
quit
bash
steamcmd +runscript /home/steam/rust_guncelle.txt

Bu betiği bir systemd servisinin başlatma öncesi adımı olarak ya da zamanlanmış bir görev olarak çalıştırabilirsiniz. Windows'ta aynı şeyi bir .bat dosyasıyla yapabilirsiniz:

bat
@echo off
C:\steamcmd\steamcmd.exe +runscript C:\steamcmd\rust_guncelle.txt

Sık karşılaşılan SteamCMD sorunları

BelirtiOlası neden ve çözüm (resmî belgelere göre)
ERROR! Failed to install app '258550' (No subscription)Facepunch belgesine göre +login verilmediğinde görülür. +login anonymous ekleyin.
state is 0x606 after update jobDosya kilitli; sunucuyu durdurup tekrar deneyin, sürerse makineyi yeniden başlatın (Satisfactory wiki).
Anonim indirme yavaş veya reddediliyorARK wiki'sine göre yoğun yükte anonim girişler düşük öncelik alabilir; çözüm olarak gerçek bir Steam hesabıyla giriş önerilir.
+runscript dosyası bulunamıyorValve belgesine göre mutlak yol kullanın.
Kurulum yanlış klasöre gittiforce_install_dir'i login'den önce verin.

Pterodactyl gibi panellerde SteamCMD

Pterodactyl gibi oyun panelleri SteamCMD'yi genellikle kurulum betiğinin içinde kullanır; sunucuyu oluşturduğunuzda veya "yeniden kur" dediğinizde dosyalar arka planda SteamCMD ile indirilir. Bu durumda app ID, beta dalı ve validate gibi seçenekler panelde değişken olarak sunulabilir. Panelin nasıl çalıştığını Pterodactyl rehberimizde anlattık.

Sık Sorulan Sorular

SteamCMD için Steam hesabı gerekir mi?

Valve belgelerine göre çoğu oyun sunucusu login anonymous ile indirilebilir. Bu rehberdeki CS2, Rust, ARK, Palworld, Garry's Mod ve Satisfactory örnekleri resmî belgelerinde anonim girişle verilmiştir.

SteamCMD ile oyunun kendisini de indirebilir miyim?

SteamCMD ile yalnızca hesabınızın erişim hakkı olan içerikleri indirebilirsiniz. Satın almadığınız bir oyunu indirmek için kullanılamaz ve bu rehberin konusu da değildir.

Her güncellemede validate kullanmalı mıyım?

Gerekmez. Valve'ın CS2 belgesi, validate'i ilk kurulum ve bütünlük kontrolü için önerir; rutin güncellemelerde düz app_update yeterlidir. Mod kullanan sunucularda validate'in değiştirilmiş dosyaları geri alabileceğini unutmayın.

Windows'ta SteamCMD nereye kurulmalı?

Kendi klasörüne, örneğin C:\steamcmd. Sunucu dosyalarını force_install_dir ile ayrı bir klasöre kurmak, güncelleme ve yedeklemeyi kolaylaştırır.

Oyun ve yazılım adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen geliştiricilerle ortaklık ilişkisi bulunduğu anlamına gelmez.

İlgili içerikler: CS2 sunucu kurulumu · Rust sunucu kurulumu · Palworld sunucu kurulumu · Pterodactyl rehberi · Linux sunucu komutları