Звітувійти
Архів · збережено без змін
Проєкт спільноти зі збереження гри

Найпростіше можливе прохання

Залишено таким, як написано до вимкнення серверів 30 червня 2026 року. Прохання нижче й дедлайни, на які вони розраховують, лишаються такими, якими були.

Найменший набір дій, які Bethesda могла б зробити, щоб спільнота підтримувала Blades на всіх платформах після 30 червня 2026 року — без постійної участі Bethesda чи Microsoft.

Усе, що нижче, зводиться до однієї ідеї: одна остання збірка клієнта, зручна для збереження, плюс короткий технічний документ для передачі. Стратегічне обґрунтування того, чому видавець міг би відгукнутися на це прохання, є на сторінці стратегії; ця сторінка — про технічні подробиці.

Прохання 1

Збірка для iOS без FairPlay.

Одна остання збірка клієнта для iOS без шифрування FairPlay, викладена публічно. Без цього зберегти гру на iOS неможливо.

Бінарники з App Store зашифровано FairPlay; для розшифрування потрібен пристрій із джейлбрейком на відповідній старій версії iOS. Без чистого IPA інструменти для сторонньої інсталяції на кшталт AltStore і Sideloadly не допоможуть. Сама спільнота не має способу отримати чистий бінарник для iOS.

Одна остання збірка, експортована без FairPlay і викладена в надійному місці (сторінка збереження від Bethesda, партнер спільноти, одне архівне посилання), збереже iOS-версію живою після того, як сторінка в App Store зникне.

Витрати для Bethesda
Кілька годин інженерної роботи, одноразово.
Ризик для Bethesda
Майже нульовий. Той самий бінарник уже був на пристроях гравців.
Прохання 2

Налаштовувані адреси серверів у збірці для збереження.

Збірка для збереження під iOS (і відповідна збірка для Android) читає імена серверів із ресурсу, який може перевизначити користувач, — Servers.plist на iOS і аналогічний ресурс на Android.

Невеликий іменований список ендпоінтів (auth, гра, підбір матчів тощо), кожен з яких відповідає імені хоста чи IP-адресі. За замовчуванням у збірці стоять поточні продакшн-хости Bethesda; спільнота, перепідписуючи збірку, замінює їх.

Побічний ефект: кілька незалежних спільнот можуть запускати власні сервери без узгодження між собою, а одну встановлену копію клієнта можна з часом спрямовувати на різні сервери.

На Android: спільнота вже створила модифікований APK, який робить це сьогодні. Тож офіційна Android-збірка з цією функцією — це жест доброї волі (менше юридичної сірої зони, більше довіри користувачів), а не обовʼязкова умова. Збереження на Android можливе й без неї; найбільше це прохання важить для iOS.

Cost до Bethesda
Мінімальні — прапорець збірки й невеликий пошук у ресурсі. Легко поєднується з Проханням 1.
Risk до Bethesda
На iOS жодного (збірки вже немає в App Store). На Android поведінка продакшну не змінюється; перевизначення має значення лише для перепідписаних копій.
Прохання 3

Довіряти встановленим користувачем сертифікатам у збірці для збереження.

Збірка довіряє встановленим користувачем CA, тож клієнт може спілкуватися із сервером спільноти, що використовує TLS-сертифікат, підписаний спільнотою.

iOS: прибрати NSPinnedDomains (або будь-яке власне закріплення сертифікатів) зі збірки для збереження. Без закріплення застосунок використовує стандартне системне сховище довірених сертифікатів, яке в iOS уже враховує встановлені користувачем профілі конфігурації.

Android: додати до продакшн-маніфесту network_security_config, що довіряє CA користувача. Без цього Android 7+ за замовчуванням відхиляє встановлені користувачем CA.

Без цього прохання налаштовувані адреси з Прохання 2 марні — клієнт відхилить TLS-сертифікат сервера спільноти ще до того, як піде будь-який трафік.

Витрати для Bethesda
Запис у маніфесті на Android; вилучений ключ Info.plist на iOS. Дрібниця.
Ризик для Bethesda
Для збірки для збереження — жодного. Поточна продакшн-версія зберігає своє закріплення сертифікатів.
Прохання 4

Короткий технічний документ про неочевидні деталі протоколу.

Документ — кілька сторінок тексту, а не публікація коду, — що описує ті частини системи, які емулятор сервера не може легко відтворити лише зі спостережуваного трафіку.

  • Токени автентифікації й сесій. Формат, термін дії, чи є на боці клієнта щось більше, ніж непрозорий ідентифікатор сесії, які вбудовані в клієнт секрети очікує сервер.
  • Хто головний у стані збережень. Які підсистеми контролює сервер (міста, інвентар, характеристики персонажа), а які — клієнт; правила узгодження; розвʼязання конфліктів.
  • Шифрування UDP на Арені. Виведення ключів, вибір параметрів AEAD у libsodium, нумерація послідовностей, кадрування пакетів. Зараз спільнота витягує ключі через хуки Frida під час роботи гри; документація замінила б це чистою реімплементацією.
  • Підписи захисту від втручання. Будь-яка схема HMAC чи підписування запитів поверх тіл запитів, а також використовувані секрети.
  • Перевірка квитанцій IAP. Як сервери Bethesda перевіряють квитанції Apple/Google і що має робити сервер спільноти з відновленими покупками.
  • Будь-що інше. Усе, що, на думку інженерів Bethesda, інакше пропустить той, хто реімплементує сервер.
Витрати для Bethesda
Кілька інженерних днів на написання. Не публікація коду.
Ризик для Bethesda
Низький. Документ описує інтерфейси, а не реалізацію; жодного пропрієтарного коду чи ресурсів не публікується.
Довгострокова мета. Ідеальним результатом було б відкриття коду клієнта й сервера на GitHub, як це через роки сталося з багатьма старішими іграми (Doom, Quake, вихідний код Command & Conquer Remastered та багато інших). Ми розуміємо, чому сьогодні це неможливо, і чотири прохання вище свідомо обмежено так, щоб їх можна було виконати, не торкаючись цього питання.

Ця сторінка описує найпростіше конкретне прохання до Bethesda. Ширший стратегічний контекст — чому це важливо, чому видавець міг би відгукнутися, які є альтернативи — на сторінці стратегії проєкту. Не повʼязано з Bethesda Softworks, ZeniMax Media чи Microsoft Corporation. The Elder Scrolls — торгова марка ZeniMax Media Inc.