SteamCMD

From Valve Developer Community
< Tr
Jump to: navigation, search
Icon-broom.png
This article or section needs to be cleaned up to conform to a higher standard of quality.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
English (en)Deutsch (de)Español (es)Français (fr)한국어 (ko)Nederlands (nl)Polski (pl)Português do Brasil (pt-br)Русский (ru)Türkçe (tr)中文 (zh)Translate (Translate)

Steam Konsol İstemcisi veya SteamCMD, Steam İstemcisi'nin bir komut satırı sürümüdür. Birincil kullanımı, bir komut satırı arayüzü kullanarak Steam'de bulunan çeşitli özel sunucuları yüklemek ve güncellemektir.

SteamPipe içerik sistemini kullanan oyunlarla çalışır.

SteamCMD İndirme

Windows Windows

  1. Windows için SteamCMD'yi indirin: [1]
  2. SteamCMD için bir klasör oluşturun. Örnek: 🖿D:\steamcmd
  3. Zipin içeriğini klasöre çıkarın.
Note.pngNot: İlk açılışta oluşturulan birkaç klasör ve dosya vardır, Windows Executablesteamcmd.exe 'install' klasörüne yerleştirilmesi önerilir ancak gerekli değildir.

Linux Linux

SteamCMD'yi işletim sisteminin geri kalanından izole ederek güvenli bir şekilde çalıştırmak için steam adında bir kullanıcı hesabı oluşturun.

Warning.pngTemplate:Dictionary/Warning/tr:Kök kullanıcı olarak çalışırken steamcmd komutunu çalıştırmayın. Bunu yapmak bir güvenlik riskidir.

1. Kök kullanıcı olarak steam kullanıcısını oluşturun:

sudo useradd -m steam
sudo passwd steam

2. Ana klasörüne gidin:

sudo -u steam -s
cd /home/steam

Depolardan Paketleyin

Note.pngNot: Eğer mevcutsa, SteamCMD paketinin dağıtımınız tarafından sağlanan depolardan yüklenmesi tavsiye edilir.
Ubuntu

SteamCMD'yi yüklemek için çoklu evren deposu ve x86 paketleri etkinleştirilmelidir.

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

SteamCMD'yi yüklemek için özgür olmayan depoyu ekleyin ve x86 paketleri etkinleştirilmelidir. Debian 12'de (Bookworm) apt-add-repository komutu artık çalışmıyor, bu yüzden bir geçici çözüm oluşturmanız gerekecek (Ayrıca bakınız: https://stackoverflow.com/questions/76688863/apt-add-repository-doesnt-work-on-debian-12).

sudo apt update; sudo apt install software-properties-common; sudo apt-add-repository non-free; sudo dpkg --add-architecture i386; sudo apt update
sudo apt install steamcmd
Enterprise Linux
Note.pngNot: Red Hat tabanlı hiçbir dağıtım için rpm paketi mevcut değildir. Manuel kuruluma bakın.
Arch Linux
git clone https://aur.archlinux.org/steamcmd.git
cd steamcmd
makepkg -si
Note.pngNot: makepkg'yi çalıştırmak için base-devel paketinin kurulu olması gerekir:
 sudo pacman -Syy base-devel

Gentoo:

emerge --ask games-server/steamcmd

Docker

Sunucunuz Docker çalıştırıyorsa, basitçe kullanabilirsiniz:

docker run -it --name=steamcmd cm2network/steamcmd bash

steamcmd.sh, /home/steam/steamcmd adresinde yer almaktadır.

Bu imaj Steam tabanlı tahsis edilmiş sunucular için temel imaj olarak kullanılabilir. Örnek: [2]

İlgili Docker Hub sayfasına buradan ulaşabilirsiniz: [3]

Manuel =

1. Before you begin, you must first install the dependencies required to run SteamCMD:

Ubuntu/Debian (x86-64)

sudo apt-get install lib32gcc-s1

Enterprise Linux (x86-64)

yum install glibc.i686 libstdc++.i686

2. Kök kullanıcı olarak, steam kullanıcısına geçin:

su - steam

Root olarak oturum açmıyorsanız ve bunun yerine yönetim gerçekleştirmek için sudo kullanıyorsanız, aşağıdaki şekilde steam kullanıcısına geçin:

sudo -iu steam

3. SteamCMD için bir dizin oluşturun ve ona geçin:

mkdir ~/Steam && cd ~/Steam

4. Linux için SteamCMD'yi indirin ve çıkartın:

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

macOS macOS

1. Terminal.app dosyasını açın ve SteamCMD için bir dizin oluşturun.

mkdir ~/Steam && cd ~/Steam

2. macOS için SteamCMD'yi indirin ve ayıklayın.

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz" | tar zxvf -

SteamCMD'yi Çalıştırmak

İlk çalıştırmada SteamCMD otomatik olarak güncellenecek ve sizi Steam> komut istemine sokacaktır. Daha fazla bilgi için help yazın.

Windows Windows

Bir Komut İstemi açın ve SteamCMD'yi başlatın.

cd C:\steamcmd
steamcmd

Linux Linux

Bir terminal açın ve SteamCMD'yi başlatın.

Depolardaki paketi kullanarak yüklediyseniz:

steamcmd

Eğer manuel olarak yüklediyseniz:

cd ~/Steam
./steamcmd.sh

macOS macOS

Stub

This article or section is a stub. You can help by adding to it.

Bir terminal açın ve SteamCMD'yi başlatın.

Depolardaki paketi kullanarak yüklediyseniz:

cd ~
steamcmd

Eğer manuel olarak yüklediyseniz:

cd ~/Steam
./steamcmd.sh

SteamCMD Giriş

Anonymous

Çoğu oyun sunucusunu indirmek için login anonymous kullanarak anonim olarak giriş yapabilirsiniz.

Steam Hesabı ile

Bazı sunucular bir Steam Hesabı ile giriş yapmanızı gerektirir.

Note.pngNot: Güvenlik nedenlerinden dolayı, sadece tahsis edilmiş sunucularınız için yeni bir Steam hesabı oluşturmanız önerilir.
Note.pngNot: Bir kullanıcı herhangi bir zamanda sadece bir kez giriş yapabilir (hem grafiksel istemci hem de SteamCMD girişlerini sayarak).
login <username>

Ardından şifrenizi girin.

Eğer kullanıcı hesabınızda Steam Guard etkinleştirilmişse, Steam Guard erişim kodu için e-postanızı kontrol edin ve kodu girin. Bu sadece ilk kez giriş yaptığınızda (ve SteamCMD'nin giriş bilgilerini sakladığı dosyaları sildiğinizde) gereklidir.

Hesabınızla başarılı bir şekilde giriş yaptığınızı belirten bir mesaj görmelisiniz.

Bir App İndirme

Note.pngNot: İndirmek istediğiniz sunucu, araç veya oyunun "appid" inden emin değilseniz, bulmak için steamdb.info adresini kullanabilirsiniz.

1. SteamCMD'yi başlatın, henüz giriş yapmayın.

2. Uygulama yükleme dizininizi ayarlayın. (Not: Linux/macOS için ileri eğik çizgi, Windows için geri eğik çizgi kullanın).

force_install_dir <path>

Örneğin, geçerli dizinin içinde cs_go adlı bir dizin:

force_install_dir ./cs_go/

Windows için: force_install_dir c:\cs_go\

Warning.pngTemplate:Dictionary/Warning/tr:Eğer SteamCMD'yi env yolunuzdan çalıştırıyorsanız veya bir paket olarak yüklediyseniz, . dizinini kullanmaya çalıştığınızda bir hata döndürecektir. Bunun için geçici bir çözüm mevcut dizinin mutlak yolunu kullanmaktır.

3. login komutu ile giriş yapın

Valve, oturum açmadan önce yükleme dir'ini ayarlamanızı önerir.

4. app_update komutunu kullanarak uygulamayı yükleyin veya güncelleyin (bir Steam Application ID sağlayarak). Özel sunucu listesi için lütfen burayı kontrol edin: Dedicated server list. Ayrıca uygulamayı doğrulamak için komuta validate ekleyin. Bir beta dalını indirmek için -beta <betaname> seçeneğini kullanın – örneğin, HLDS beta dalı beta ve SrcDS beta dalı prerelease olarak adlandırılır. Bazı beta dalları bir şifre ile korunmaktadır; bunlardan indirme yapabilmek için -betapassword <password> seçeneğini de ekleyin.

app_update <app_id> [-beta <betaname>] [-betapassword <password>] [validate]

HLDS özel bir durumdur: Uygulama Kimliği her zaman 90'dır ve önce bir mod seçilmelidir. Bu, mod uygulama yapılandırma seçeneğini istenen değere ayarlayarak yapılır.

app_set_config <app_id> <option_name> <option_value>
Örnek: Counter-Strike'ı yükleyin ve doğrulayın: Global Offensive özel sunucusunu kurun ve doğrulayın:
app_update 740 validate
Örnek: Team Fortress Classic ile HLDS'yi yükleyin ve doğrulayın:
app_set_config 90 mod tfc
app_update 90 validate
Icon-Bug.pngBöcekler:HLDS (appid 90) şu anda gerekli tüm dosyaların başarıyla yüklenebilmesi için app_update komutunun birden fazla çalıştırılmasını gerektirmektedir. Daha fazla güncelleme gerçekleşmeyene kadar app_update 90 validate'yı birkaç kez çalıştırmanız yeterlidir.  [todo tested in?]
Örnek: HLDS'nin (Half-Life) beta sürümünü yükleyin ve doğrulayın:
app_update 90 -beta beta validate
Örnek: Counter-Strike'ın beta sürümünü yükleyin ve doğrulayın: Source adanmış sunucu:
app_update 232330 -beta prerelease validate
Örnek: Doğal Seçim 2 adanmış sunucusunun özel beta sürümünü kurun ve doğrulayın (name alpha, password natsel):
[beta name] özel beta şubesinin adıdır
[beta code] özel beta şubesinin parolasıdır
app_update 4940 -beta alpha -betapassword natsel validate

Beta olmayan dalın beta adı "public "tir, bu nedenle app_update 90 -beta public sizi HLDS için beta dalından çıkaracaktır.

5. İşiniz bittiğinde, Steam sunucularından düzgün bir şekilde çıkış yapmak için quit yazın.

Doğrulama

validate SteamCMD dosyalarıyla eşleştiklerinden emin olmak için tüm sunucu dosyalarını kontrol eden bir komuttur. Bu komut dosyaların eksik veya bozuk olabileceğini düşünüyorsanız kullanışlıdır.

Note.pngNot: Doğrulama, değiştirilen tüm dosyaların üzerine yazacaktır. Bu, özelleştirilmiş sunucularda sorunlara neden olabilir. Örneğin, mapcycle.txt'yı özelleştirirseniz, bu dosyanın üzerine sunucu varsayılanı yazılacaktır. Varsayılan kurulumun parçası olmayan hiçbir dosya etkilenmeyecektir.

It is recommended you use this command only on initial installation and if there are server issues.

Desteklenen Sunucular

Kurulum için SteamCMD kullanan bilinen sunucuların bir listesi Dedicated Servers List sayfasında mevcuttur. Listelenen tüm ekstra komutların app_update satırından önce çalıştırılması gerektiğini unutmayın.

SteamCMD'yi Otomatikleştirme

SteamCMD'yi otomatikleştirmenin iki yolu vardır. (Linux/macOS üzerinde steamcmd yerine ./steamcmd.sh yazın)

Komut Satırı

Note.pngNot: Komut satırında -beta seçeneği kullanılırken, +app_update "90 -beta beta" gibi özel bir şekilde alıntılanmalıdır.
Note.pngNot: Bu işe yaramazsa, bunun yerine "+app_update 90 -beta beta" şeklinde yazmayı deneyin.

Komutları komut satırına artı karakterlerle öneklenmiş olarak ekleyin, örn:

steamcmd +force_install_dir ../cs1_ds +login anonymous +app_update 730 +quit

Counter-Strike:Condition Zero gibi HL1 için belirli bir oyun modunu yüklemek için:

steamcmd +force_install_dir ../czero +login anonymous +app_set_config 90 mod czero +app_update 90 +quit

Killing Floor gibi giriş gerektiren bir oyun için:

steamcmd +force_install_dir c:\KFServer\ +login <username> <password> +app_update 215350 +quit

Komut Dosyası Oluşturma

1. SteamCMD komutlarınızı bir metin dosyasına koyun. (// ile başlayan yorumlar ekleyebilirsiniz.) Örnek:

// update_csgo_ds.txt
//
@ShutdownOnFailedCommand 1 //aynı anda birden fazla sunucu güncelleniyorsa 0 olarak ayarlanır
@NoPromptForPassword 1
force_install_dir ../csgo_ds
login <username> <password>
//oturum açmaya ihtiyaç duymayan sunucular için
//login anonymous 
app_update 740 validate
quit

2. SteamCMD'yi +runscript seçeneği ile çalıştırın ve daha önce oluşturduğunuz dosyayı referans alın. Örnek:

steamcmd +runscript update_csgo_ds.txt
Note.pngNot: Eğer hata alıyorsanız: Failed to load script file 'scriptname.txt', /mnt/storage/tf2server/updatetf2_script.txt gibi mutlak bir yol sağlamayı deneyin

Platformlar Arası Kurulum

SteamCMD'nin şu anda çalıştığı platform olmasa bile dosyaları indireceği platformu seçmek mümkündür. Bu @sSteamCmdForcePlatformType değişkeni kullanılarak yapılır. (Evet, değişken adının başında iki "s" var.) Örneğin, Windows CSGO adanmış sunucusunu Linux'a indirmek için aşağıdaki komutu çalıştırabilirsiniz:

./steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir ../csgo_ds +login anonymous +app_update 740 validate +quit

veya aşağıdaki komut dosyasını kullanın:

@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
@sSteamCmdForcePlatformType windows
force_install_dir ../csgo_ds
login anonymous
app_update 740 validate
quit

Desteklenen değerler windows, macos ve linux.

Windows Yazılımları/Komut Dosyaları

condenser

condenser Steam adanmış sunucu uygulamalarını yüklemek, yapılandırmak ve başlatmak için bir önyükleyicidir.

SteamCMD Otomatik Güncelleyici

Herhangi bir oyun sunucusunu kurun ve otomatik olarak güncelleyin.

GitHub Repo: https://github.com/C0nw0nk/SteamCMD-AutoUpdate-Any-Gameserver

SteamCMD GUI

Bu araç kullanıcının Windows üzerinde komut satırları ve/veya toplu iş dosyaları olmadan SteamCMD'yi kullanmasını sağlar.

GitHub Repo: https://github.com/DioJoestar/SteamCMD-GUI

SteamPS

SteamPS sunucuları güncellemek ve sunucu bilgilerini almak için kullanılabilen bir PowerShell modülüdür. Ayrıca oyun sunucularını güncellemek için bir iş akışı sunar.

PowerShellGSM

PowerShellGSM SteamCMD kullanarak oyun sunucularını yönetmek için Modüler bir PowerShell aracıdır.

Özellikler

  • Kurulum
  • Yedeklemeler
  • Güncellemeler
  • İzleme
  • Yeniden Başlatma

Desteklenen Sunucular

PowerShellGSM 20'den fazla şablon sunucusu içerir ve özel şablonları destekleyerek neredeyse tüm oyunları (SteamCMD olmayan oyunları bile) desteklemenizi sağlar.

Avantajlar

Mevcut araçların çoğundan daha hızlı. Daha hafif ve daha hedefe yönelik yedeklemeler. Modüler. Genişletilebilir. Özelleştirilebilir.

Bağlantılar

GitHub Repo: https://github.com/patrix87/PowerShellGSM

Linux Komut Dosyaları

LinuxGSM

Linux Oyun Sunucusu Yöneticileri

LinuxGSM, Linux adanmış oyun sunucularının hızlı, basit dağıtımı ve yönetimi için komut satırı aracıdır.

Özellikler

  • Yükleyici
  • Güncelleyici
  • Monitör
  • Uyarılar
  • Sunucu Ayrıntıları
  • Yedeklemeler
  • Konsol

Desteklenen Sunucular

Şu anda 100'den fazla farklı oyun sunucusu destekleniyor ve sayıları artıyor. Tam liste için web sitesini ziyaret edin.

Bağlantılar

Website: https://linuxgsm.com

GitHub Repo: https://github.com/GameServerManagers/LinuxGSM

docker-steam-wine

Steam destekli bir Windows oyun sunucusunu Docker'da çalıştırın.

Proje: https://github.com/nuxy/docker-steamcmd-wine

Known Issues

ERROR! Failed to install app "xxxxxx" (No subscription)

"No subscription" hatasını alıyorsanız, indirmeye çalıştığınız oyun/sunucu ya giriş gerektiriyordur ya da oyunu satın almışsınızdır. Bu nedenle bir Steam kullanıcı adı ve şifresi ile giriş yapmanız gerekecektir. Eğer bu işe yaramazsa, önce oyunun bir kopyasını Steam üzerinden satın almanız gerekebilir. Bkz Dedicated Servers List.

Note.pngNot: Güvenlik nedenlerinden dolayı, sadece tahsis edilmiş sunucularınız için yeni bir Steam hesabı oluşturmanız önerilir.
Warning.pngTemplate:Dictionary/Warning/tr:Lütfen oturum açmadan önce force_install_dir kullanın!

Örneğin:

steamcmd +login <username> <password>

64-Bit Linux Sistemlerinde 32-Bit Kütüphaneler

SteamCMD 32 bitlik bir ikili olduğundan, 32 bitlik kütüphaneler gereklidir.

Aşağıdaki hata oluşabilir:

steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Çözünürlük dağıtımınıza bağlı olarak değişir:

Debian Tabanlı Dağıtımlar (Ubuntu, Mint, vb.)

sudo apt-get install lib32stdc++6
Note.pngNot: SteamCMD'yi yüklemek için ia32-libs gerekli değildir; lib32gcc1 yeterlidir.

Debian 7 "Wheezy" ile bu hata ile karşılaşabilirsiniz:

The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch but it is not installable
E: Unable to correct problems, you have held broken packages.

Bunu düzeltmek için aşağıdakileri yapın:

 dpkg --add-architecture i386
 apt-get update
 apt-get install lib32gcc1

Red Hat Tabanlı Dağıtımlar (RHEL, Fedora, CentOS, vb.)

yum install glibc.i686 libstdc++.i686

Arch Linux

Önce multilib repository'ı etkinleştirmeyi unutmayın.

pacman -S lib32-gcc-libs

Giriş Hatası: Bağlantı Yok

Linux sunucularında "Login Failure: No Connection" hatasıyla karşılaşabilirsiniz. Bu eksik iptables kuralları ile ilgilidir. Bu çizgiler boyunca bir şey isteyeceksiniz:

iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT

Port listesini burada bulabilirsiniz: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english

Windows sunucularında, "SteamUpdater: Error: Download failed: http error 0" ve "SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again." Bu genellikle IE'de (Internet Explorer) İnternet seçeneği menüsündeki lan ayarları aracılığıyla "Ayarları otomatik olarak algıla" seçeneğini işaretleyerek düzeltilir.

  1. Internet Explorer'ı (IE) açın.
  2. Araçlarİnternet Seçenekleri üzerine tıklayın
  3. Bağlantılar sekmesine tıklayın
  4. En altta Yerel Alan Ağı (LAN) Ayarlarını görmelisiniz.
  5. İlk kutuyu işaretleyin (Ayarları otomatik olarak algıla)
  6. Tamam ve Uygula düğmesine basın. SteamCMD'yi tekrar çalıştırmayı deneyin; eğer hala çalışmıyorsa. İnternet Güvenlik seviyesi bölgenizi orta veya daha düşük bir seviyeye indirmeyi deneyin. Bunu İnternet Seçenekleri içindeki Güvenlik sekmesinde bulabilirsiniz.

SteamCMD Başlangıç Hataları

Çalışan Bir Steam Örneği Bulunamıyor

Linux ile bir sunucu başlatırken aşağıdaki hatayı alabilirsiniz:

[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

steamclient.so'yı ~/.steam/sdk32/steamclient.so dizinine bağlayarak sorunu çözün:

ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so

ulimit Linux Başlangıç Hatası

Bazı kullanıcılar betik başlatılırken ulimit hatası (no permission/cannot open file) alabilirler. Bu hata ulimit'nın -n parametresinin (dosya tanımlayıcı sayısı) düşük ayarlanmasından kaynaklanır. SteamCMD ulimit'yı otomatik olarak değiştirmek için başlatma kabuk betiği içindeki standart komutları kullanır, ancak bazı sunucular başlangıçtan sonra ulimit değerlerini artırmayı yasaklayabilir (veya root tarafından belirlenen bir sınırın ötesinde).

Bu, dosya tanımlayıcı numarası ulimit değiştirilerek düzeltilebilir:

ulimit -n 2048

Eğer bir hata görünürse (no permission), parametreyi değiştirmek için root olarak oturum açmanız gerekecektir. Mevcut ayarı kontrol etmek için ulimit -a yazın; sistem birçok satırla yanıt verecektir, birini bulmanız gerekir:

open files                      (-n) 1024

Bu durumda, 1024 geçerli değerdir.

root, /etc/security/limits.conf dosyasındaki limitleri de değiştirebilir.

Çoğu durumda sadece bir uyarı mesajı alacaksınız ancak bu SteamCMD'nin çalışmasını durdurmayacaktır.

Windows Makinede Linux 64-Bit steamclient.so Almak

WSL 32 bit dosyalarla iyi oynamaz. Eğer steamclient.so 64-bit dosyasına ihtiyacınız varsa aşağıdaki komutu çalıştırabilirsiniz:

steamcmd.exe +@sSteamCmdForcePlatformType linux +login anonymous +app_update 1007 +quit

Daha sonra dosyayı burada bulacaksınız:

.\steamapps\common\Steamworks SDK Redist\linux64

Yalnızca HLDS Motoru İndirilir

TFC gibi bir GoldSrc GoldSrc modunu indirmeye çalışırken, başlangıçta yalnızca HLDS'nin motor dosyalarını indiriyor, ancak modu indirmiyor. Bunun nedeni appmanifest dosyalarının doğru indirilmemesidir. Bu hem normal sürümde hem de beta sürümünde olur. Gerekli tüm dosyalar indirilene kadar birden fazla kez denemeniz gerekebilir, ancak bu yapıldığında, dosyalar bir dahaki sefere doğru şekilde güncellenmelidir.

Alternatif olarak, mevcut appmanifest dosyalarını steamapps dizinine kopyalamak mümkündür. Appmanifest dosyalarını LinuxGSM github deposundan indirin.

Üçüncü bir taraftan yedekleri indirmeden sadece appmanifest dosyalarını silmek de işe yarayabilir! Yine de ilk başta, silinen dosyalar nedeniyle bir şeylerin yanlış gittiğinden şikayet eden bir hata alacaksınız.

Note.pngNot: Bazı nedenlerden dolayı, Counter-Strike Counter-Strike her zaman yüklüdür.

Ayrıca Bkz