O mais simples dos pedidos
Mantido como foi escrito antes de os servidores serem desligados, em 30 de junho de 2026. Os pedidos abaixo, e os prazos que eles pressupõem, ficaram como estavam.
O menor conjunto de coisas que a Bethesda poderia fazer pela comunidade para manter Blades funcionando em todas as plataformas depois de 30 de junho de 2026 — sem envolvimento contínuo da Bethesda ou da Microsoft.
Tudo abaixo se resume a uma ideia: uma última versão do cliente favorável à preservação, mais um breve documento técnico de transferência. O enquadramento estratégico de por que uma publisher poderia aceitar este pedido está na página Estratégia; esta página traz os detalhes técnicos.
Uma versão para iOS sem FairPlay.
Uma última versão do cliente iOS sem a criptografia FairPlay, publicada abertamente. Sem isso, preservar o iOS é impossível.
Os binários da App Store são criptografados com FairPlay; descriptografá-los exige um aparelho com jailbreak na versão certa do iOS. Sem um IPA limpo, ferramentas de sideload como AltStore e Sideloadly não ajudam. A comunidade não tem como obter sozinha um binário limpo para iOS.
Uma última versão, exportada sem FairPlay e publicada em algum lugar duradouro (uma página de preservação da Bethesda, um parceiro da comunidade, um único link de arquivo), mantém o iOS vivo depois que a página na App Store sumir.
Endpoints de servidor configuráveis na versão de preservação.
A versão de preservação para iOS (e a versão equivalente para Android) lê os hostnames dos servidores de um recurso que o usuário pode substituir — Servers.plist no iOS, um recurso equivalente no Android.
Uma pequena lista nomeada de endpoints (autenticação, jogo, matchmaking etc.), cada um apontando para um hostname ou IP. Os padrões vêm com os hosts de produção atuais da Bethesda; quem reassinar o app na comunidade os troca no momento da reassinatura.
Efeito colateral: várias comunidades independentes podem rodar seus próprios servidores sem precisar se coordenar, e uma mesma instalação do cliente pode ser apontada para servidores diferentes ao longo do tempo.
No Android: a comunidade já produziu um APK modificado que faz isso hoje. Uma versão Android oficial com esse recurso seria uma cortesia — menos zona cinzenta jurídica, mais confiança dos usuários —, não um impedimento. A preservação no Android funciona sem ela; é no iOS que este pedido mais importa.
Confiar em certificados instalados pelo usuário na versão de preservação.
A versão confia em CAs instaladas pelo usuário, então o cliente pode falar com um servidor da comunidade usando um certificado TLS assinado pela comunidade.
iOS: remover NSPinnedDomains (ou qualquer pinning de certificado personalizado) da versão de preservação. Sem pinning, o app usa o repositório de confiança padrão do sistema, que no iOS já inclui perfis de configuração instalados pelo usuário.
Android: incluir no manifesto de produção um network_security_config que confie em CAs do usuário. Sem isso, o Android 7+ rejeita por padrão CAs instaladas pelo usuário.
Sem este pedido, os endpoints configuráveis do Pedido 2 não servem para nada — o cliente rejeita o certificado TLS do servidor da comunidade antes de qualquer tráfego passar.
Um breve documento técnico de transferência sobre detalhes não óbvios do protocolo.
Um documento — algumas páginas de texto, não uma liberação de código — cobrindo as partes do sistema que um emulador de servidor não consegue reconstruir facilmente só a partir do tráfego observado.
- Tokens de autenticação e de sessão. Formato, validade, se algo no lado do cliente é mais do que um ID de sessão opaco, quaisquer segredos embutidos no cliente que o servidor espera.
- Autoridade sobre o estado salvo. Quais subsistemas têm autoridade no servidor (cidades, inventário, atributos do personagem) e quais no cliente; regras de reconciliação; resolução de conflitos.
- Criptografia do UDP da Arena. Derivação de chaves, escolhas de parâmetros do AEAD da libsodium, numeração de sequência, enquadramento de pacotes. Hoje a comunidade extrai as chaves com hooks do Frida em tempo de execução; uma documentação substituiria isso por uma reimplementação limpa.
- Assinaturas antiadulteração. Qualquer esquema de HMAC ou de assinatura de requisições sobre o corpo das requisições, e os segredos usados.
- Validação de recibos de compras no app. O fluxo que os servidores da Bethesda usam para validar recibos da Apple/Google, e o que um servidor da comunidade deveria fazer com compras restauradas.
- Qualquer outra coisa que os engenheiros da Bethesda achem que alguém reimplementando o servidor deixaria passar.
Esta página descreve o pedido concreto mais simples à Bethesda. O contexto estratégico mais amplo — por que isso importa, por que uma publisher poderia se envolver, que alternativas existem — está na página Estratégia deste site. Sem afiliação com a Bethesda Softworks, a ZeniMax Media ou a Microsoft Corporation. The Elder Scrolls é uma marca registrada da ZeniMax Media Inc.