Najprostsza możliwa prośba
Zachowane w wersji sprzed wyłączenia serwerów 30 czerwca 2026 roku. Prośby poniżej i terminy, które zakładają, pozostawiono bez zmian.
Najmniejszy zestaw rzeczy, które Bethesda mogłaby zrobić dla społeczności, by Blades działało na każdej platformie po 30 czerwca 2026 roku — bez stałego zaangażowania Bethesdy czy Microsoftu.
Wszystko poniżej sprowadza się do jednej idei: jednej ostatniej wersji klienta przyjaznej ochronie gry oraz krótkiego technicznego dokumentu przekazania. Strategiczne uzasadnienie, dlaczego wydawca mógłby zająć się tą prośbą, znajduje się na stronie strategii; ta strona to szczegóły techniczne.
Wersja na iOS bez FairPlay.
Jedna ostatnia wersja klienta na iOS z usuniętym szyfrowaniem FairPlay, opublikowana publicznie. Bez tego ochrona wersji na iOS jest niemożliwa.
Pliki binarne z App Store są zaszyfrowane FairPlay; odszyfrowanie wymaga urządzenia z jailbreakiem i odpowiednią wersją iOS. Bez czystego pliku IPA narzędzia do sideloadingu, takie jak AltStore i Sideloadly, nie pomogą. Społeczność nie ma sama żadnej drogi do czystego pliku binarnego na iOS.
Jedna ostatnia wersja, wyeksportowana bez FairPlay i opublikowana w trwałym miejscu (strona Bethesdy poświęcona ochronie gier, partner społeczności, pojedynczy link do archiwum), utrzyma iOS przy życiu po zniknięciu gry z App Store.
Konfigurowalne adresy serwerów w wersji ochronnej.
Wersja ochronna na iOS (i odpowiednia wersja na Androida) odczytuje nazwy hostów serwerów z zasobu, który użytkownik może nadpisać — Servers.plist na iOS, odpowiedni zasób na Androidzie.
Krótka lista nazwanych punktów końcowych (uwierzytelnianie, gra, dobieranie przeciwników itd.), z których każdy wskazuje na nazwę hosta lub IP. Domyślnie zawiera obecne produkcyjne hosty Bethesdy; osoby ponownie podpisujące aplikację w społeczności podmieniają je przy podpisywaniu.
Efekt uboczny: wiele niezależnych społeczności może prowadzić własne serwery bez koordynacji, a jedną instalację klienta można w czasie jej życia kierować na różne serwery.
Na Androidzie: społeczność już dziś ma zmodyfikowany APK, który to robi. Oficjalna wersja na Androida z tą funkcją byłaby uprzejmością — mniej prawnej szarej strefy, więcej zaufania użytkowników — a nie warunkiem koniecznym. Ochrona Androida działa i bez niej; ta prośba najbardziej liczy się w przypadku iOS.
Zaufanie do certyfikatów instalowanych przez użytkownika w wersji ochronnej.
Wersja ufa urzędom certyfikacji instalowanym przez użytkownika, więc klient może łączyć się z serwerem społeczności używającym certyfikatu TLS podpisanego przez społeczność.
iOS: usunąć NSPinnedDomains (lub inne własne przypinanie certyfikatów) z wersji ochronnej. Bez przypinania aplikacja korzysta ze standardowego systemowego magazynu zaufanych certyfikatów, który na iOS obejmuje już profile konfiguracji instalowane przez użytkownika.
Android: dodać do manifestu produkcyjnego network_security_config, który ufa urzędom certyfikacji użytkownika. Bez tego Android 7+ domyślnie odrzuca urzędy certyfikacji instalowane przez użytkownika.
Bez tej prośby konfigurowalne adresy z Prośby 2 są bezużyteczne — klient odrzuci certyfikat TLS serwera społeczności, zanim popłynie jakikolwiek ruch.
Krótki techniczny dokument przekazania nieoczywistych szczegółów protokołu.
Dokument — kilka stron tekstu, a nie udostępnienie kodu — opisujący te części systemu, których emulator serwera nie odtworzy łatwo na podstawie samego obserwowanego ruchu.
- Tokeny uwierzytelniania i sesji. Format, czas życia, czy cokolwiek po stronie klienta jest czymś więcej niż nieprzezroczystym identyfikatorem sesji, wszelkie wbudowane w klienta sekrety, których oczekuje serwer.
- Nadrzędność stanu zapisu. Które podsystemy są nadrzędne po stronie serwera (miasta, ekwipunek, statystyki postaci), a które po stronie klienta; zasady uzgadniania; rozwiązywanie konfliktów.
- Szyfrowanie UDP areny. Wyprowadzanie kluczy, wybór parametrów AEAD z libsodium, numeracja sekwencji, ramkowanie pakietów. Społeczność obecnie wyciąga klucze w czasie działania przez hooki Frida; dokumentacja zastąpiłaby to czystą reimplementacją.
- Podpisy zabezpieczające przed modyfikacją. Wszelkie HMAC lub schematy podpisywania treści żądań oraz używane sekrety.
- Weryfikacja paragonów zakupów w aplikacji. Proces, którym serwery Bethesdy weryfikowały paragony Apple/Google, i co serwer społeczności powinien robić z przywróconymi zakupami.
- Wszystko inne, co według inżynierów Bethesdy osoba reimplementująca serwer mogłaby w przeciwnym razie przeoczyć.
Ta strona opisuje najprostszą konkretną prośbę do Bethesdy. Szerszy kontekst strategiczny — dlaczego to ważne, dlaczego wydawca mógłby się zaangażować, jakie istnieją alternatywy — znajdziesz na stronie strategii projektu. Bez powiązań z Bethesda Softworks, ZeniMax Media ani Microsoft Corporation. The Elder Scrolls jest znakiem towarowym ZeniMax Media Inc.