Niezwiązany

Strona główna Dokumentacja i pomoc
Dokumentacja Steamworks
Steam Cloud

Steam Cloud

Usługa Steam Cloud zapewnia łatwe i przejrzyste zdalne przechowywanie plików twojej gry. Pliki określone podczas konfigurowania Auto-Cloud lub nagrane na dysk (utworzone, zmodyfikowane, usunięte itd.) za pomocą Cloud API zostaną automatycznie skopiowane na serwery Steam po opuszczeniu gry.

Jeśli użytkownik zmieni komputer, pliki są automatycznie pobierane na nowy komputer przed uruchomieniem gry. Gra może otrzymać dostęp do plików poprzez Cloud API lub bezpośrednio z dysku, tak jak zawsze. Unikaj specyficznych dla danego komputera konfiguracji takich jak ustawień wideo.

Klient Steam zapewnia, że pliki są zsynchronizowane na wszystkich komputerach, z których korzysta użytkownik.

Użytkownicy mogą wyłączyć tę synchronizację w ustawieniach Steam w zakładce Cloud poprzez odznaczenie „Włącz synchronizację dla produktów Steam, które ją obsługują”.

Użytkownicy mogą również wyłączyć usługę do każdej gry w jej ustawieniach.

Spacewar_Cloud_Properties.png

Wstępna konfiguracja

Aby skonfigurować Steam Cloud, należy ustawić opcje Byte quota per user i Liczba plików na użytkownika na stronie Ustawienia Steam Cloud w panelu admina Steamworks.

Określenie liczby jest zalecane dla każdej gry z obsługą synchronizacji. Zaleca się ustawienie rozsądnych wartości dla gier.

UWAGA: Nie zapomnij kliknąć przycisku Zapisz na dole strony, ani opublikować zaktualizowanych ustawień. Po opublikowaniu ikona chmury będzie widoczna dla każdego posiadacza gry w kliencie Steam.

Jeśli twoja gra została już wydana, możesz zaznaczyć pole o Włącz wsparcie chmury tylko dla deweloperów. W tym przypadku tylko konta, które posiadają licencję „Egzemplarze producenta” dla twojej gry będą widziały ikonę chmury oraz będą w stanie korzystać z usługi Steam Cloud. Jest to przydatne to bezpiecznego testowania integracji usługi Steam Cloud bez powodowania zakłóceń dla użytkowników. Nie ma to wpływu na niewydane gry, ponieważ nikt jeszcze ich nie posiada i nie będzie miał dostępu do konkretnego app ID.

Możliwe jest dzielenie miejsca do przechowywania danych w chmurze pomiędzy dwoma app ID poprzez wypełnienie pola Shared cloud APP ID. Jest to najczęściej używane do udostępniania zapisanych gier między wersją demo, a pełną wersją gry. Wartość 0 wyłącza tę funkcję.

Steam Cloud API i Steam Auto-Cloud

Steam zapewnia dwie różne metody korzystania z usługi Steam Cloud. Przeczytaj czym różnią się te metody i wybierz, która z nich będzie najlepsza dla twojej aplikacji.

Zaczniemy od Steam Cloud API.

Cloud API zawiera wiele funkcji, które pozwalają na bezpośrednią integrację Steam Cloud z twoją grą. Cloud API separuje pliki użytkowników Steam oraz zapewnia większy poziom kontroli nad usługą Steam Cloud.

Steam Cloud API jest dostępny poprzez interfejs ISteamRemoteStorage. Możesz znaleźć przykład zastosowania tutaj: Steamworks API Example Application (SpaceWar).

Następnie Steam Auto-Cloud.

Steam Auto-Cloud został zaprojektowany dla starszych gier, których nie można łatwo zintegrować z Cloud API. Jest to szybkie i proste rozwiązanie do rozpoczęcia pracy, ale nie posiada takiej samej siły i elastyczności, co Steam Cloud API.

Zaleca się aby korzystać z Cloud API, kiedy to możliwe, gdyż pozwala to na głębszą integrację i personalizację oraz umożliwia dostarczenie najlepszej jakości doświadczeń, których oczekują użytkownicy od usługi Steam Cloud.

Steam Auto-Cloud

Steam Auto-Cloud jest alternatywą dla Steam Cloud API, które pozwala aplikacjom na używanie Steam Cloud bez pisania kodu lub modyfikowania gry w jakikolwiek sposób. Wymaga to tylko określenia grup plików, które chcesz zachować w chmurze. Steam będzie automatycznie synchronizował grupy plików, gdy aplikacja zostanie uruchomiona oraz wyłączona. Unikaj synchronizowania plików konfiguracyjnych dla konkretnych komputerów, np. plików zawierających ustawienia jakości obrazu.

Ustawienie

Po zakończeniu Wstępna konfiguracja, konfiguracja Steam Auto-Cloud zostanie odblokowana na stronie Ustawienia Steam Cloud.

Ścieżki główne opisują grupy plików, które zostaną zachowane w usłudze Steam Cloud. Każda ścieżka katalogu głównego może być tak dokładna, jak pojedynczy plik lub szeroka jak wszystkie pliki w danym podfolderze. Użyj nowej ścieżki dla synchronizacji każdej grupy plików.

Ścieżka główna składa się z 5 części:
  1. Root

    Jest to ustalona lista ścieżek, w których zwykle są zapisywane gry.
    RootWspierane OSŚcieżka
    App Install DirectoryWszystkie[Steam Install]/SteamApps/common/[Game Folder]/
    SteamCloudDocumentsWszystkieŚcieżka dla określonej platformy, np. dla systemu Linux: ~/.SteamCloud/[username]/[Game Folder]/
    WinMyDocumentsWindows%USERPROFILE%/My Documents/
    WinAppDataLocalWindows%USERPROFILE%/AppData/Local/
    WinAppDataLocalLowWindows%USERPROFILE%/AppData/LocalLow/
    WinAppDataRoamingWindows%USERPROFILE%/AppData/Roaming/
    WinSavedGamesWindows%USERPROFILE%/Saved Games/
    MacHomemacOS~/
    MacAppSupportmacOS~/Library/Application Support/
    MacDocumentsmacOS~/Documents/
    LinuxHomeLinux~/
    LinuxXdgDataHomeLinux$XDG\_DATA\_HOME/
  2. Podkatalog

    Ścieżka podkatalogu plików w chmurze względem katalogu głównego. Użyj „.” jeśli nie ma podkatalogu.

    Wartości specjalne w Auto-Cloud
    Auto-Cloud pozwala na użycie unikalnych identyfikatorów użytkownika Steam w podkatalogu ścieżki. Pozwala to na przechowywanie zapisanych plików dla każdego użytkownika Steam na jednym komputerze oddzielnie. Aby uzyskać SteamID lub AccountID bieżącego użytkownika podczas zapisywania i odczytywania plików, użyj ISteamUser::GetSteamID.
    • {64BitSteamID} — użyj tej zmiennej w ścieżce, aby wstawić 64-bitowy Steam ID użytkownika. 64-bitowy Steam ID wygląda następująco: 76561198027391269
    • {Steam3AccountID} — użyj tej zmiennej w ścieżce, aby wstawić Steam 3 Account ID użytkownika. Account ID wygląda następująco: 67125541
    Przykład: SavesDir{64BitSteamID}
  3. Wzór

    Wzorzec maski pliku dopasowania. Możesz użyć * jako dzikiej karty. Jeśli potrzebujesz wszystkich plików w katalogu, użyj *.

    Przykład:*.sav
  4. System operacyjny

    Ustawia system operacyjny z/do którego pliki zostaną zsynchronizowane. Jest to wymagane tylko w przypadku, kiedy pliki są specyficzne dla danego systemu operacyjnego, co miejmy nadzieję, nie ma miejsca!
  5. Rekurencyjny

    Dołącz podkatalogi podczas szukania pasujących plików. Jest to przydatne dla podkatalogów, dla których nazwy nie zostały przydzielone, np. ID użytkowników lub nazwy użytkowników spoza Steam. Jeśli jest to Steam ID, zaleca się użycie specjalnej wartości ścieżki w polu podkatalog.

Obejścia roota

Jeśli twoja aplikacja jest wieloplatfromowa i wymaga różnych katalogów dla każdego systemu operacyjnego, korzystając z funkcjonalności Root Overrides, możesz określić obejście wcześniej ustawionych ścieżek.

Ścieżki roota można obejść, by odpowiadały różnym ścieżkom na innym systemie operacyjnym. Jeżeli używasz tych wartości, musisz podać wszystkie systemy operacyjne w powyższej liście rozwijanej.

Root Override składa się z 5 części.
  1. Oryginalny root

    Odpowiada to jednej z wartości ustawionej powyżej.
  2. System operacyjny

    System operacyjny, w którym zostaną zastosowane zmiany.
  3. Nowy root

    Nowa ścieżka, która jest używana zamiast źródła w systemie operacyjnym zdefiniowanym powyżej.
  4. Dodaj/zmień ścieżkę

    To ustawienie pozwala, w razie potrzeby, dodać ścieżkę podkatalogu wstawioną między nową ścieżką a oryginalnym podkatalogiem.
  5. Zamień ścieżkę

    Po włączeniu podkatalog zdefiniowany w polu „Dodaj lub zamień ścieżkę” zastąpi podkatalog główny.

Przykład: Konfiguracja Auto-Cloud dla aplikacji Unity

Poniżej przedstawiono przykład konfiguracji aplikacji Auto-Cloud z Unity, w której wartość właściwości Application.persistentDataPath jest różna dla różnych systemów operacyjnych. Wersja systemu Windows jest skonfigurowana jako ścieżka katalogu głównego, podczas gdy w tym przykładzie Unity używa wartości DefaultCompany, a projekt nazywa się AutocloudSample. W przypadku systemów MacOS i Linux/SteamOS alternatywne ścieżki określone w Application.persistentDataPath są ustawione w polu Dodaj lub Zamień ścieżkę, a opcja Zamień ścieżkę jest włączona.

Dzięki tym ustawieniom Auto-Cloud będzie zsynchronizowany między trzema folderami, jak pokazano w przykładzie.

Cloud_Unity_Auto-Cloud_Example.png

Testowanie przed opublikowaniem

Jeśli dodasz Steam Auto-Cloud do już wydanej gry, a podczas wstępnego ustawienia Wstępna konfiguracja włączony jest tryb „tylko dla programistów” będziesz musiał wykonać dodatkowe kroki, aby przetestować funkcjonalność.
  1. Zaloguj się do Steam za pomocą konta, które posiada licencję Developer Comp dla testowanej aplikacji.
  2. Uruchom konsolę Steam steam://open/console w przeglądarce.
  3. Wprowadź do konsoli testappcloudpaths <AppId>, gdzie identyfikator aplikacji jest numerem testowanej aplikacji. Na przykład: testappcloudpaths 480
  4. Wprowadź do konsoli set_spew_level 4 4.
  5. Uruchom aplikację na Steam.
  6. Jeśli istnieją już pliki w katalogach używanych przez funkcję Auto-Cloud, zobaczysz ich pobieranie w konsoli. W przeciwnym razie zapisz niektóre pliki dla tej aplikacji, a następnie zamknij je, aby rozpocząć synchronizację.
  7. Zaloguj się na innym komputerze i powtórz powyższe kroki, aby sprawdzić, czy pobieranie z Auto-Cloud działa poprawnie.
  8. Pamiętaj, aby przetestować to na wszystkich obsługiwanych systemach operacyjnych.
  9. Aby zakończyć test, wprowadź testcloudapppaths 0 i set_spew_level 0 0. Aby zamknąć konsolę, zrestartuj klienta Steam.

Nie zapomnij o wyłączeniu trybu dewelopera oraz o opublikowaniu zmian po zakończeniu testowania.

Debuggowanie

Po pierwsze, zawsze upewnij się, że opublikowałeś zmiany na stronie partnera i odczekałeś 10 minut lub zrestartowałeś swojego klienta Steam, aby je zobaczyć.

Jeśli masz problemy z uruchomieniem Steam Cloud, sprawdź plik %Steam Install%\logs\cloud_log.txt.

Zajrzyj tutaj: Debugging the Steamworks API, aby uzyskać więcej informacji.