CS2 Sunucu Kurma Rehberi: Linux'ta SteamCMD ile Counter-Strike 2 Sunucusu
Arkadaşlarınızla ya da topluluğunuzla oynayabileceğiniz bir Counter-Strike 2 sunucusunu Ubuntu 24.04'te kurun: SteamCMD, sunucu dosyaları, Game Server Login Token, server.cfg, oyun modları, güvenlik duvarı, systemd servisi ve otomatik güncelleme.
Kendi Counter-Strike 2 sunucunuz olduğunda maç ayarlarını, harita rotasyonunu ve kimin girebileceğini siz belirlersiniz. Arkadaşlarınızla özel maç, takım antrenmanı ya da topluluk sunucusu için en sağlıklı yol, sunucuyu sürekli açık kalan bir Linux sunucuda çalıştırmaktır. Bu rehberde Ubuntu 24.04 üzerinde Valve'ın resmî araçlarıyla bir CS2 dedicated sunucusu kuracağız.
Kısa özet: SteamCMD ile CS2 sunucu dosyalarını (App ID 730) anonim olarak indirir, Steam'den bir Game Server Login Token alır,
cs2sunucu programını uygun oyun modu parametreleriyle başlatırsınız. Sunucu dosyaları büyüktür; en az 60 GB boş disk ayırın.
Ne kadar kaynak gerekir?
- Disk: CS2 sunucu dosyaları onlarca GB yer kaplar (bu yazı yazılırken 35 GB'ın üzerinde) ve güncellemelerle büyür. Güncelleme sırasında geçici alan da gerekir. En az 60 GB, tercihen 80 GB ve üzeri disk ayırın. NVMe disk, harita yüklemelerini hızlandırır.
- RAM: 10-12 kişilik bir rekabetçi veya deathmatch sunucusu için 4 GB rahat bir başlangıçtır. Eklenti kullanıyorsanız daha fazlası gerekebilir.
- İşlemci: CS2 sunucusu tick hesaplamalarında tek çekirdek performansına dayanır ve gecikmeye çok hassastır. İşlemcisi paylaşılan bir sunucuda yoğun saatlerde takılmalar yaşanabilir; ayrılmış işlemcili bir sunucu tercih edin.
1. Sistemi hazırlayın
Sunucunuza SSH ile bağlanın. SteamCMD 32 bit kütüphanelere ihtiyaç duyduğu için i386 mimarisini etkinleştirip gerekli paketleri kuruyoruz:
sudo dpkg --add-architecture i386
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl tmux
Sunucuyu root ile çalıştırmayın. Ayrı bir kullanıcı oluşturun:
sudo adduser --disabled-password --gecos "" cs2
2. SteamCMD'yi kurun
SteamCMD, Valve'ın sunucu dosyalarını indirip güncellemeye yarayan komut satırı aracıdır. cs2 kullanıcısına geçip resmî paketi indirin:
sudo -iu cs2
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
3. CS2 sunucu dosyalarını indirin
CS2 sunucu dosyaları, oyunun kendisiyle aynı App ID'yi (730) kullanır ve anonim girişle indirilebilir:
~/steamcmd/steamcmd.sh +force_install_dir /home/cs2/cs2-ds +login anonymous +app_update 730 validate +quit
İndirme, bağlantı hızına göre birkaç dakikadan uzun sürebilir. İşlem bitince Success! App '730' fully installed. satırını görmelisiniz. Hata alırsanız komutu tekrar çalıştırmanız genellikle yeterlidir; SteamCMD kaldığı yerden devam eder.
Sunucunun Steam'e bağlanabilmesi için gerekli kütüphaneyi beklediği yere bağlayın. Bu adım atlanırsa sunucu açılışta steamclient.so hatası verebilir:
mkdir -p ~/.steam/sdk64
ln -sf ~/steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.so
4. Game Server Login Token (GSLT) alın
Sunucunuzun internette görünür olması ve oyuncuların bağlanabilmesi için bir GSLT gerekir. Tarayıcınızda Steam hesabınızla steamcommunity.com/dev/managegameservers adresine gidin, App ID olarak 730 yazın ve bir not ekleyerek token oluşturun. Steam bu sayfa için hesabınızda bazı koşullar arar (ör. sınırlı hesap olmaması ve telefon numarası bağlı olması). Oluşan uzun kodu kopyalayın; bir sonraki adımlarda TOKEN yazan yere koyacaksınız. Token'ı kimseyle paylaşmayın.
5. server.cfg dosyasını oluşturun
Sunucu ayarları game/csgo/cfg/server.cfg dosyasında tutulur:
nano ~/cs2-ds/game/csgo/cfg/server.cfg
Temel bir yapılandırma:
hostname "Benim CS2 Sunucum"
sv_password ""
rcon_password "GucluBirRconSifresi"
sv_lan 0
sv_cheats 0
mp_autoteambalance 1
sv_password alanına bir şifre yazarsanız sunucunuz yalnızca şifreyi bilenlere açık olur; özel maçlar için kullanışlıdır. rcon_password, sunucuyu oyun içinden uzaktan yönetmenizi sağlar; mutlaka güçlü bir şifre seçin.
6. Güvenlik duvarını açın
CS2 sunucusu varsayılan olarak 27015 portunu kullanır. Oyun trafiği UDP üzerinden, RCON ise TCP üzerinden gider. Kendi kullanıcınıza dönün (exit) ve:
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw enable
7. Sunucuyu başlatın
İlk denemeyi bir tmux oturumunda yapalım:
sudo -iu cs2
tmux new -s cs2
~/cs2-ds/game/bin/linuxsteamrt64/cs2 -dedicated -usercon -port 27015 +game_type 0 +game_mode 1 +map de_dust2 +sv_setsteamaccount TOKEN +exec server.cfg
TOKEN yerine 4. adımda aldığınız kodu yazın. Konsolda harita yüklendiğini ve Steam'e bağlanıldığını gösteren satırları görmelisiniz. Ctrl+B, ardından D ile oturumdan çıkabilirsiniz; sunucu çalışmaya devam eder.
Oyuna bağlanmak için CS2'de geliştirici konsolunu açın (Ayarlar > Oyun bölümünden etkinleştirilir) ve connect SUNUCU_IP:27015 yazın. Şifre koyduysanız password SIFRE komutunu önce girin.
Oyun modları
Oyun modu, game_type ve game_mode parametrelerinin birlikte kullanımıyla belirlenir:
| Mod | game_type | game_mode |
|---|---|---|
| Casual | 0 | 0 |
| Rekabetçi (Competitive) | 0 | 1 |
| Wingman | 0 | 2 |
| Silahlanma Yarışı (Arms Race) | 1 | 0 |
| Deathmatch | 1 | 2 |
Örneğin bir deathmatch sunucusu için başlatma komutunda +game_type 1 +game_mode 2 kullanın.
8. systemd servisi ve otomatik güncelleme
Valve CS2'yi güncellediğinde eski sürümdeki sunuculara oyuncular bağlanamaz. Bu yüzden sunucuyu her başlatmadan önce güncellemek pratik bir çözümdür. Önce tmux'taki sunucuyu kapatın (tmux attach -t cs2, ardından quit yazın), sonra kendi kullanıcınızla servis dosyasını oluşturun:
sudo nano /etc/systemd/system/cs2.service
[Unit]
Description=Counter-Strike 2 sunucusu
After=network-online.target
Wants=network-online.target
[Service]
User=cs2
WorkingDirectory=/home/cs2/cs2-ds
ExecStartPre=/home/cs2/steamcmd/steamcmd.sh +force_install_dir /home/cs2/cs2-ds +login anonymous +app_update 730 +quit
ExecStart=/home/cs2/cs2-ds/game/bin/linuxsteamrt64/cs2 -dedicated -usercon -port 27015 +game_type 0 +game_mode 1 +map de_dust2 +sv_setsteamaccount TOKEN +exec server.cfg
Restart=on-failure
RestartSec=15
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
TimeoutStartSec=0, uzun süren güncellemelerde systemd'nin başlatmayı iptal etmesini önler. Servisi etkinleştirin:
sudo systemctl daemon-reload
sudo systemctl enable --now cs2
sudo journalctl -u cs2 -f
Bir güncelleme çıktığında sudo systemctl restart cs2 komutu sunucuyu önce günceller, sonra yeniden başlatır. İsterseniz bu komutu cron ile her gece oyuncuların az olduğu bir saatte çalıştırabilirsiniz.
Eklentiler hakkında kısa not
Yönetici menüsü, istatistik ya da özel modlar için topluluk tarafından geliştirilen Metamod:Source ve CounterStrikeSharp gibi eklenti altyapıları kullanılır. Bu araçların kurulumu oyun güncellemeleriyle sık değiştiği için kendi resmî belgelerini takip edin ve büyük bir CS2 güncellemesinden sonra eklentilerin uyumlu sürümünün çıkmasını bekleyin.
CS2 için TürkiyeVPS oyun sunucuları
CS2 sunucusu hem disk hem tek çekirdek performansı ister. Oyun sunucusu paketlerimiz Intel Core i5-10400F üzerinde size ayrılmış vCPU, garantili RAM, 60-100 GB disk, size özel IPv4 adresi ve root erişimiyle gelir; CS2 için 4 GB RAM ve 80 GB diskli paket rahat bir başlangıçtır. Sunucular İstanbul'dadır, Türkiye'deki oyuncular için gecikme düşüktür. Disk alanı küçük olduğu için standart VPS paketlerimiz CS2 için uygun değildir. Diğer oyunlar için FiveM sunucu kurma ve Minecraft sunucu kurma rehberlerimize de göz atabilirsiniz.
Sık Sorulan Sorular
CS2 sunucusu kurmak ücretsiz mi?
CS2 sunucu yazılımı ve GSLT ücretsizdir. Yalnızca sunucunun çalışacağı makinenin maliyetini ödersiniz. Kendi bilgisayarınızda da sunucu açabilirsiniz, ama bilgisayar kapandığında sunucu da kapanır.
CS2 sunucusu için kaç GB disk gerekir?
Sunucu dosyaları onlarca GB yer kaplar ve güncellemelerle büyür. Güncellemeler için de pay bırakarak en az 60 GB, tercihen 80 GB ve üzeri disk ayırın.
Sunucum listede görünmüyor veya oyuncular bağlanamıyor, ne yapmalıyım?
Önce sudo ufw status ile 27015 UDP portunun açık olduğunu kontrol edin. Ardından başlatma komutunda geçerli bir GSLT kullandığınızdan ve sv_lan 0 ayarından emin olun. Son olarak sunucunun güncel olduğunu doğrulamak için app_update 730 komutunu tekrar çalıştırın.
128 tick sunucu kurabilir miyim?
CS2, eski tick oranı ayarları yerine "sub-tick" adı verilen bir sistem kullanır; CS:GO'daki gibi tick oranını seçmeniz gerekmez. Oyun deneyimini asıl etkileyen şey, sunucunun işlemci istikrarı ve oyunculara olan gecikmedir.
Bunları da okuyun
512 MB veya 1 GB RAM'li bir VPS'te uygulamalarınız kapanıyorsa swap alanı ilk yardımdır. Ubuntu 24.04'te swap...
Bilgisayarınız kapanınca botunuz da susmasın. Python Telegram botunu Ubuntu 24.04 VPS'te systemd ile 7/24 çalı...
Metin2 sunucusu kuracaksınız ama VPS mi VDS mi alacağınızdan emin değil misiniz? Kaynak paylaşımı, RAM, disk,...