Steamworks Belgeleri
Steam Deck'e oyun yüklemek ve bu oyunları çalıştırmak

Genel Bakış

Geliştiricilerin Steam Deck'le çalışmasına yardımcı olmak için SteamOS geliştirici kiti istemci aracı ve SteamOS geliştirici kiti hizmeti araçlarını kullanıma açıyoruz. Bu araçlar doğrudan geliştirici makinenizdeki oyun derlemelerini Steam Deck geliştirici kitinize (veya Linux makinenize) yüklemenize, ayrıca diğer geliştirme eylemlerini yapmanıza olanak verir.
Önemli:
Aşağıdaki talimatları takip ederek oyununuzu yüklemeden ve test etmeden önce Steam Deck geliştirici kitine Steam'den, Steam Play (Proton) kullanan başka bir oyunu yükleyip çalıştırmanızı tavsiye ediyoruz. Bu, Proton ve gereksinimlerinin yüklenmesini sağlayacaktır.

Kurulum Araçları

İstemci Kurulumu (Geliştirme bilgisayarında)

  • SteamOS geliştirici kiti istemcisi geliştirme bilgisayarınızda çalışarak, geliştiricilerin yazılım dağıtabilmeleri veya hata ayıklama işlemi yapabilmeleri için Steam Deck veya Linux sistemine bağlanabilmelerine olanak tanır.
  • SteamOS Devkit Client'ı (SteamOS geliştirici kiti istemcisi) Steam'den yükleyin: Doğrudan yükleme bağlantısı.
  • Araç Steam kütüphanesindeki "Yazılım" kategorisinden başlatılabilir. Komut satırından çalıştırmayı tercih ediyorsanız:
    • Windows'ta windows-client/devkit-gui.exe çalıştırın.
    • Linux'ta linux-client dizininde python3.9 ./devkit-gui-cp39.pyz çalıştırın.

Sunucu Kurulumu (Steam Deck'te)

  • SteamOS geliştirici kiti hizmeti hedef Steam Deck veya Linux sisteminde çalışarak geliştiricilerin yazılım dağıtabilmeleri veya hata ayıklama işlemi yapabilmeleri için başka bir bilgisayardan bağlanabilmelerine olanak tanır.
  • Bir Steam Deck geliştirici kitiniz varsa, SteamOS geliştirici kiti hizmeti önceden yüklü ve çalışır vaziyette gelir. Ek bir şey yapmanız gerekmez.
  • Steam Deck'iniz yoksa ve kendi Linux sisteminizden test ediyorsanız SteamOS Geliştirici Kiti Hizmeti'ni yüklemeniz gerekir. Geliştirici Kiti Hizmeti aracını buradan doğrudan yükleyebilirsiniz. (Bu hizmet sadece burada anlatılan yönergeler doğrultusunda Manjaro kullanan bilgisayarlarda desteklenmektedir.)

Deck'e Bağlanmak

Geliştirme bilgisayarınızdan SteamOS geliştirici kiti istemcisini başlatın. Keşfedilmesi ve listelenmesi için geliştirici kitinin veya Linux sisteminin geliştirme ana bilgisayarı ile Multicast DNS'e izin veren bir yerel ağda olması gerekir. Bu, WiFi veya ethernet (USB-C çoklayıcısı kullanılarak) üzerinden çalışır.

  • Steam Deck'inizin ağa bağlı olduğundan ve tüm güncellemelere sahip olduğundan emin olun (Ayarlar > Sistem).
  • Steam Deck'inizde şu adımları takip edin: Ayarlar > Sistem'e gidin, sonra "Sistem Ayarları" kısmının altından Geliştirici Modunu Etkinleştir'i seçin. Ardından Ayarlar > Geliştirici sekmesinde yer alan "Geliştirici Kiti" kısmının altından Yeni sunucu eşleştir'i seçin.
  • Geliştirme bilgisayarınızda şunu yapın: Geliştirici kiti aracında Linux sisteminizi bulun (EV2 geliştirici kitleri "callistoXXX" olarak, yeni DV aygıtları "Valve Aerith" olarak görünür). Bu geliştirici kitini araçta kaydetmek için sağdaki Kaydet butonuna tıklayın. (Bu, aygıtta bir SSH anahtarı kuracak ve tam kontrol sağlayacaktır.)
  • Steam Deck'inizden: Bilgisayarınızdan eşleşme talebini onaylayın.
  • Geliştirici kiti aracı arayüzünde bir geliştirici kiti görmüyorsanız, geliştirme bilgisayarınızın ve geliştirici kitinizin aynı yerel ağda olduğundan emin olun. Ortamınıza bağlı olarak Add by IP (IP'ye göre ekle) alanını kullanmanız gerekebilir.

dev-kit_landing.png

Yukarıdaki ekran görüntüsünde callisto530, kaydedilmiş bir geliştirici kitidir.

Steam Deck'e Bir Oyun Derlemesi Yüklemek

Geliştirme bilgisayarınızdan Steam Deck geliştirici kitinize bir oyunu yüklemek üzere yapılandırmak için Title Upload (Oyun Yükleme) sekmesine tıklayın. Bu doldurulduğunda ekran şuna benzeyecektir:

title-upload-20211111.png

Bu ekran görüntüsü, bir test oyununun Windows derlemesinin geliştirici kitine yüklenmesinin örneğidir.
  • Local folder (yerel klasör) - Oyununuzun çalışması için gerekli bütün dosyaları içeren ana dizin.
  • Upload filtering (Yükleme filtresi) - Yükleme işlemi SSH üzerinden rsync kullanır ve içerik değişikliği az olan dosyaların hızlı bir şekilde tekrar tekrar yüklenmesine olanak tanır.

    Nelerin yükleneceğini kontrol eden üç seçenek vardır:

    Exclude only (sadece dâhil etme), yüklemeye dâhil edilmeyecek, boşluklarla ayrılmış bir örüntü listesini kullanır.
    Include only (sadece dâhil et), sadece örüntüye uyan dosya ve dizinleri yükler, geri kalan her şeyi yok sayar.
    Rsync args (rsync değişkenleri), gelişmiş kullanıcıların doğrudan rsync komut satırı değişkenleri belirleyebilmesine olanak tanır.

    Filtreleme örüntüleriyle ilgili daha fazla detay için bkz. exclude patterns (dâhil etmeme örüntüleri).

  • Clean upload (temiz yükleme) - Örüntüleri dâhil etmeme uygulandıktan sonra, geliştirici kitinde local folder'da (yerel klasör) bulunmayan tüm dosyaları silmek için bunu etkinleştirin.
  • Start Command (başlatma komutu) - Bunu oyunun ikili yürütülebilir dosyasına (ve eklemek istediğiniz herhangi bir bağımsız değişkene) ayarlayın.
  • Steam Play - Proton kullanılarak Steam Play üzerinden yürütülmesi gereken Windows ikili dosyalarını yüklüyorsanız bunu işaretleyin.
  • Steam Play debug (hata ayıklama) - Hata ayıklama hizmeti kutusu, Visual Studio'da C++ derlemenizde adım adım kontrol yapmanıza olanak sağlar.

Hâlihazırda oyununuza ait bir AppID'niz varsa ve Steamworks API'ını kullanıyorsanız, yürütülebilir dosyanızla birlikte yüklemenizin kök dizininin en üstüne steam_appid.txt dosyasını (sadece AppID'nizi içermelidir) da eklemelisiniz. Bununla ilgili daha fazla bilgiye Steamworks API'ını Başlatmak ve Kapatmak makalesinden ulaşabilirsiniz.

Yüklenmiş Oyun Derlemelerini Çalıştırmak

Steam Deck geliştirici kitinizde kütüphaneye giderek "Devkit Game: OyununuzunAdı" adlı yeni oyunu bulun ve çalıştırın.
Makalenin başlarında da bahsettiğimiz gibi, kendi oyununuzu doğrudan yükleyip çalıştırmadan önce, Steam Deck geliştirici kitine Steam'den, Steam Play (Proton) kullanan farklı bir oyunu yüklemenizi ve çalıştırmanızı tavsiye ediyoruz. Bu, Proton ve bütün gereksinimlerinin düzgün bir biçimde yüklenmesini sağlayacaktır.

Steam İstemcisi Konsolu

Geliştirme sürecinde Steam istemcisi konsolu komutlarını kullanmanız gerekiyorsa bunlara CEF konsolu ile ulaşabilirsiniz.

Geliştirici kiti istemci aracınız çalışırken ve Deck'inize bağlıyken Devkits sekmesine gidin ve Cef Console butonuna tıklayın. Bu, Steam Deck aygıtınızdaki CEF istemcisine bağlanan bir tarayıcı sekmesi açacak. Ana Steam Deck istemcisi arayüzüne özgü bir sekme açmak için açılan sayfadan SP'ye tıklayın. Burada sayfanın sağ tarafında bir CEF hata ayıklama konsolu da yer alır.

CEF hata ayıklama penceresi açıldıktan sonra konsol sekmesinde EnableSteamConsole() komutunu çalıştırarak Steam konsolu çıktısını etkinleştirin. Bu komutu çalıştırdıktan sonra normalde, Steam istemcisinin Konsol sekmesinde (-console ile başlatıldığında çıkar) gösterilen çıktılar burada SteamClient etiketiyle vurgulanır.

Konsol komutlarını çalıştırmak için SteamClient.Console.ExecCommand()'a çağrı yaparken komutun başına ve sonuna çift tırnak işareti koyun. Aşağıdaki örnekte buna benzer iki çağrı vardır. İlkinde 480 AppID'de dinamik bulut senkronizasyonu testi etkinleştiriliyor, diğerinde de bu devre dışı bırakılıyor:

deck_cef_client_console_example.png