Dokumentacja Steamworks
Jak przesyłać gry i uruchamiać je na Steam Decku

Wprowadzenie

Aby pomóc producentom w pracy ze Steam Deckiem, udostępniliśmy dwa narzędzia: klienta zestawu deweloperskiego SteamOS (ang. SteamOS Devkit Client) oraz usługę zestawu deweloperskiego SteamOS (ang. SteamOS Devkit Service). Narzędzia te umożliwiają przesyłanie kompilacji gier bezpośrednio z komputera deweloperskiego do zestawu deweloperskiego Steam Decka (lub komputera z systemem Linux), a także wykonywanie innych czynności rozwojowych.
Ważne:
przed przesłaniem i przetestowaniem własnego tytułu przy wykorzystaniu poniższych instrukcji zalecamy zainstalowanie i uruchomienie innego tytułu ze Steam, który korzysta ze Steam Play (Protona) na zestawie deweloperskim Steam Decka. Dzięki temu będziesz mieć pewność, że Proton i wszelkie jego zależności są zainstalowane.

Instalacja narzędzi

Konfiguracja klienta (na komputerze deweloperskim)

  • SteamOS Devkit Client działa na komputerze deweloperskim i umożliwia producentom łączenie się ze Steam Deckiem lub systemem Linux w celu wdrażania lub debugowania oprogramowania.
  • Zainstaluj SteamOS Devkit Client ze Steam – oto link do bezpośredniej instalacji.
  • Możesz uruchomić narzędzie ze swojej biblioteki Steam. Znajdziesz je w kategorii „Programy”. Jeżeli wolisz skorzystać z wiersza poleceń, użyj następujących poleceń:
    • w przypadku systemu Windows: windows-client/devkit-gui.exe
    • w przypadku systemu Linux: python3.9 ./devkit-gui-cp39.pyz w katalogu linux-client

Konfiguracja serwera (na Steam Decku)

  • SteamOS Devkit Service działa na docelowym Steam Decku lub komputerze z systemem Linux i umożliwia producentom łączenie się z innego komputera w celu wdrażania lub debugowania oprogramowania.
  • Jeśli posiadasz zestaw deweloperski Steam Decka, to narzędzie SteamOS Devkit Service jest już na nim zainstalowane i nie są wymagane żadne dalsze działania.
  • Jeśli nie masz Steam Decka i przeprowadzasz testy za pomocą własnego komputera z Linuksem, to musisz zainstalować usługę SteamOS Devkit Service. Oto link do bezpośredniej instalacji do narzędzia Devkit Service. Ta usługa jest obsługiwana tylko na PC z systemem Linux w dystrybucji Manjaro, tak jak wskazano w instrukcjach tutaj.

Łączenie ze Steam Deckiem

Na komputerze deweloperskim uruchom SteamOS Devkit Client. Zestaw deweloperski lub komputer z systemem Linux musi znajdować się w sieci lokalnej, która umożliwia korzystanie z Multicast DNS z hostem deweloperskim, aby można było go wykryć i wyświetlić. Możesz użyć połączenia Wi-Fi lub kabla Ethernet (z zastosowaniem rozdzielacza USB-C).

  • Upewnij się, że twój Steam Deck jest połączony z siecią oraz że wszystkie aktualizacje zostały zastosowane (Ustawienia > System).
  • Na twoim Steam Decku: przejdź do menu Ustawienia > System i wybierz Włącz tryb deweloperski w dziale ustawień systemu. Następnie z menu „Ustawienia” > „Deweloper” wybierz Sparuj nowego hosta w dziale „Zestaw deweloperski”.
  • Na komputerze deweloperskim: w narzędziu SteamOS Devkit znajdź swój komputer z systemem Linux. Zestawy EV2 zostaną wyświetlone jako „callistoXXX”, nowsze jako „Valve Aerith”. Kliknij znajdujący się po prawej przycisk Register, by powiązać ten zestaw deweloperski z narzędziem (spowoduje to wygenerowanie klucza SSH na urządzeniu i zapewni nad nim pełną kontrolę).
  • Na twoim Steam Decku: zatwierdź prośbę o sparowanie przesłaną za pomocą komputera.
  • Jeśli w interfejsie użytkownika zestawu deweloperskiego nic się nie wyświetla, upewnij się, że komputer deweloperski i zestaw deweloperski są podłączone do tej samej sieci LAN. W zależności od środowiska może być konieczne użycie pola Add by IP.

dev-kit_landing.png

W przedstawionym wyżej zrzucie ekranu callisto530 jest zarejestrowanym zestawem deweloperskim.

Przesyłanie kompilacji gry na Steam Decka

Kliknij zakładkę Title Upload, by skonfigurować grę celem przygotowania do przesłania z komputera deweloperskiego na zestaw deweloperski Steam Decka. Po uzupełnieniu ekran wygląda mniej więcej tak:

title-upload-20211111.png

Ten zrzut ekranu jest przykładem tego, jak wygląda przesłanie kompilacji testowej gry systemu Windows do zestawu deweloperskiego.
  • Local Folder – katalog podstawowy zawierający wszystkie pliki niezbędne do uruchomienia gry.
  • Upload filtering – proces przesyłania używa rsync poprzez SSH i jego przeznaczeniem jest szybkie działanie dla powtarzającego się procesu przesyłania plików z niewielką liczbą zmian w treści.

    Istnieją trzy opcje sterujące, co jest przesyłane:

    Exclude only przyjmuje oddzielaną spacjami listę wzorców do wykluczenia z przesyłania plików.
    Include only prześle tylko pliki i katalogi pasujące do wzorców, ignorując wszystko pozostałe.
    Rsync args umożliwia użytkownikom zaawansowanym bezpośrednie sprecyzowanie argumentów wiersza poleceń rsync.

    Aby dowiedzieć się więcej o wzorcach filtrowania, przejdź do wzorców wykluczania..

  • Clean upload – włącz tę opcję, by usunąć wszystkie pliki z zestawu deweloperskiego, których nie ma w Local Folder po zastosowaniu zasad wykluczania.
  • Start Command – wskaż binarny plik wykonywalny gry (oraz wszelkie argumenty, które chcesz dodać).
  • Steam Play – zaznacz tę opcję, jeśli przesyłasz pliki binarne systemu Windows, które muszą być wykonywane przez Steam Play przy użyciu Protona.
  • Steam Play debug – zaznacz to pole, aby uruchomić usługę debugowania i przeanalizować kompilację C++ w programie Visual Studio.

Jeśli masz już ID aplikacji dla swojej gry i korzystasz z API Steamworks, dołącz plik steam_appid.txt (który powinien zawierać tylko twoje ID aplikacji) znajdujący się wraz z plikiem wykonywalnym w folderze głównym. Więcej informacji na ten temat można znaleźć w artykule o inicjowaniu i wyłączaniu API Steamworks.

Uruchamianie przesłanych kompilacji gry

Na zestawie deweloperskim Steam Decka przejdź do biblioteki, by znaleźć nowy tytuł o nazwie „Devkit Game: TwojaGra” i uruchom go.
Jak wspomniano na początku artykułu, przed bezpośrednim przesłaniem i przetestowaniem własnego tytułu zalecamy zainstalowanie innego tytułu ze Steam, który korzysta ze Steam Play (Protona) na zestawie deweloperskim Steam Decka i uruchomienie go w pierwszej kolejności. Dzięki temu będziesz mieć pewność, że Proton i wszelkie jego zależności są zainstalowane.

Konsola klienta Steam

Jeśli twoje prace rozwojowe wymagają użycia poleceń konsoli klienta Steam, są one dostępne poprzez konsolę CEF.

Po uruchomieniu narzędzia SteamOS Devkit Client i połączeniu go z twoim Deckiem przejdź do karty Devkits i kliknij przycisk CEF Console. Powinno to otworzyć kartę przeglądarki, która połączy się z klientem CEF na twoim Steam Decku. Na tej stronie kliknij SP, by otworzyć konkretną kartę dla głównego interfejsu użytkownika klienta Steam Decka. Będzie ona zawierała konsolę debugowania CEF po prawej stronie.

Następnie, po otwarciu okna debugowania CEF, w karcie Console włącz wyświetlanie danych wyjściowych konsoli Steam poprzez wykonanie polecenia EnableSteamConsole(). Po wykonaniu tego polecenia dane wyjściowe, które normalnie są wyświetlane w kliencie Steam w karcie Console (po uruchomieniu klienta z parametrem -console), będą wyświetlane w tym miejscu i oznaczone jako SteamClient.

Aby wykonywać polecenia konsoli, dodaj cudzysłów z przodu i z tyłu polecenia w wywołaniu SteamClient.Console.ExecCommand(). Poniższy przykład pokazuje dwa takie wywołania, jedno umożliwiające testowanie dynamicznej synchronizacji z chmurą dla aplikacji 480, i drugie do jej wyłączenia.

deck_cef_client_console_example.png