Найпростіше можливе прохання
Залишено таким, як написано до вимкнення серверів 30 червня 2026 року. Прохання нижче й дедлайни, на які вони розраховують, лишаються такими, якими були.
Найменший набір дій, які Bethesda могла б зробити, щоб спільнота підтримувала Blades на всіх платформах після 30 червня 2026 року — без постійної участі Bethesda чи Microsoft.
Усе, що нижче, зводиться до однієї ідеї: одна остання збірка клієнта, зручна для збереження, плюс короткий технічний документ для передачі. Стратегічне обґрунтування того, чому видавець міг би відгукнутися на це прохання, є на сторінці стратегії; ця сторінка — про технічні подробиці.
Збірка для iOS без FairPlay.
Одна остання збірка клієнта для iOS без шифрування FairPlay, викладена публічно. Без цього зберегти гру на iOS неможливо.
Бінарники з App Store зашифровано FairPlay; для розшифрування потрібен пристрій із джейлбрейком на відповідній старій версії iOS. Без чистого IPA інструменти для сторонньої інсталяції на кшталт AltStore і Sideloadly не допоможуть. Сама спільнота не має способу отримати чистий бінарник для iOS.
Одна остання збірка, експортована без FairPlay і викладена в надійному місці (сторінка збереження від Bethesda, партнер спільноти, одне архівне посилання), збереже iOS-версію живою після того, як сторінка в App Store зникне.
Налаштовувані адреси серверів у збірці для збереження.
Збірка для збереження під iOS (і відповідна збірка для Android) читає імена серверів із ресурсу, який може перевизначити користувач, — Servers.plist на iOS і аналогічний ресурс на Android.
Невеликий іменований список ендпоінтів (auth, гра, підбір матчів тощо), кожен з яких відповідає імені хоста чи IP-адресі. За замовчуванням у збірці стоять поточні продакшн-хости Bethesda; спільнота, перепідписуючи збірку, замінює їх.
Побічний ефект: кілька незалежних спільнот можуть запускати власні сервери без узгодження між собою, а одну встановлену копію клієнта можна з часом спрямовувати на різні сервери.
На Android: спільнота вже створила модифікований APK, який робить це сьогодні. Тож офіційна Android-збірка з цією функцією — це жест доброї волі (менше юридичної сірої зони, більше довіри користувачів), а не обовʼязкова умова. Збереження на Android можливе й без неї; найбільше це прохання важить для iOS.
Довіряти встановленим користувачем сертифікатам у збірці для збереження.
Збірка довіряє встановленим користувачем CA, тож клієнт може спілкуватися із сервером спільноти, що використовує TLS-сертифікат, підписаний спільнотою.
iOS: прибрати NSPinnedDomains (або будь-яке власне закріплення сертифікатів) зі збірки для збереження. Без закріплення застосунок використовує стандартне системне сховище довірених сертифікатів, яке в iOS уже враховує встановлені користувачем профілі конфігурації.
Android: додати до продакшн-маніфесту network_security_config, що довіряє CA користувача. Без цього Android 7+ за замовчуванням відхиляє встановлені користувачем CA.
Без цього прохання налаштовувані адреси з Прохання 2 марні — клієнт відхилить TLS-сертифікат сервера спільноти ще до того, як піде будь-який трафік.
Короткий технічний документ про неочевидні деталі протоколу.
Документ — кілька сторінок тексту, а не публікація коду, — що описує ті частини системи, які емулятор сервера не може легко відтворити лише зі спостережуваного трафіку.
- Токени автентифікації й сесій. Формат, термін дії, чи є на боці клієнта щось більше, ніж непрозорий ідентифікатор сесії, які вбудовані в клієнт секрети очікує сервер.
- Хто головний у стані збережень. Які підсистеми контролює сервер (міста, інвентар, характеристики персонажа), а які — клієнт; правила узгодження; розвʼязання конфліктів.
- Шифрування UDP на Арені. Виведення ключів, вибір параметрів AEAD у libsodium, нумерація послідовностей, кадрування пакетів. Зараз спільнота витягує ключі через хуки Frida під час роботи гри; документація замінила б це чистою реімплементацією.
- Підписи захисту від втручання. Будь-яка схема HMAC чи підписування запитів поверх тіл запитів, а також використовувані секрети.
- Перевірка квитанцій IAP. Як сервери Bethesda перевіряють квитанції Apple/Google і що має робити сервер спільноти з відновленими покупками.
- Будь-що інше. Усе, що, на думку інженерів Bethesda, інакше пропустить той, хто реімплементує сервер.
Ця сторінка описує найпростіше конкретне прохання до Bethesda. Ширший стратегічний контекст — чому це важливо, чому видавець міг би відгукнутися, які є альтернативи — на сторінці стратегії проєкту. Не повʼязано з Bethesda Softworks, ZeniMax Media чи Microsoft Corporation. The Elder Scrolls — торгова марка ZeniMax Media Inc.