# Matriz de compatibilidade — Servidor + Web Legenda: ✅ funcionando · ⚠️ parcial · ❌ não implementado · 🐛 bug upstream · 🚧 nosso backlog · ❔ não verificado > **Regra do projeto (D15):** só o cliente web é suportado. Uma feature está "pronta" quando > **Server e Web** estão ✅. O cliente desktop foi removido do projeto (D15). Colunas: - **Server (OpenMU)** / **Web (Babylon + nossos patches)**: o que o código declara/implementa. - **Verificado por nós**: testado de verdade contra a stack Docker, e como. Protocolo do web: **estendido** (versão `season6x`, cliente 106.3, CS 44406, GS 55902/04/06 — D16). ## Base Season 6 E3 | Feature | Server | Web | Verificado por nós (2026-10-03) | Status | |---|---|---|---|---| | Lista de servidores / mundo único "MU INFERNUS" (1 canal) | ✅ | ✅ | ✅ Chrome: um só mundo (S6EP3X) → seleção de servidor via CS 44406 | ✅ | | Login | ✅ | ✅ senha até 20 (`LoginLongPassword`) | ✅ Chrome `test0`; ✅ smoke `ws-login-probe` versão 20404 | ✅ (senha > 10 ainda não testada em conta real) | | Seleção de personagem | ✅ | ✅ (aparência estendida 27 bytes) | ✅ Chrome: 4 personagens com equipamento; bytes conferidos com dump do servidor | ✅ | | Criação de personagem | ✅ | ✅ | ❔ | ❔ | | Entrar no mundo / HUD | ✅ | ✅ (`CharacterInformationExtended`, stats 32-bit) | ✅ Chrome: Noria, HP/MP/HUD, minimapa | ✅ | | Movimento | ✅ | ✅ (`ObjectWalkedExtended`) | ✅ Chrome (176,109 → 175,110, gravado no banco) | ✅ | | Inventário (itens de tamanho variável) | ✅ | ✅ (leitor por tamanho real) | ✅ Chrome: equipamento, joias, poções, zen | ✅ | | Mover item (`ItemMoveRequestExtended`) | ✅ | ✅ | ✅ Chrome: Joia da Bênção slot 22 → 21, **gravado no banco** após logout | ✅ | | Outros jogadores no campo de visão | ✅ | ✅ (`AddCharacterToScopeExtended`) | ✅ `test1Elf` (probe) aparece no Chrome (`[scope] … local=false`) e vice-versa | ✅ | | Plugin custom em jogo (`/serverinfo`) | ✅ | ✅ | ✅ (sessão clássica; comando é texto, independe do protocolo) | ✅ | | Persistência (logout/relogin) | ✅ | ✅ | ✅ posição e inventário gravados ao "Trocar de personagem" | ✅ | | Combate / skills | ✅ | ✅ (`ObjectHitExtended`, dano 32-bit) | ✅ Chrome: goblins mortos em Noria; `game-test.sh`: monstro criado e morto pelo bot | ✅ (skills não exercitadas) | | EXP / level up / master | ✅ | ✅ (EXP master separada da normal — corrigido) | ✅ EXP 1594 → 1774 gravada; `game-test.sh` confere o pacote de EXP do monstro | ✅ (level up/master não exercitados) | | Morte / respawn | ✅ | ✅ (`RespawnAfterDeathExtended`, corrigido no patch 0005) | ✅ Chrome: morreu em Noria, voltou à cidade sem erro | ✅ | | Drop / pegar item | ✅ | ✅ (`ItemsDropped` estendido, `MoneyDroppedExtended`; patch 0006) | ✅ Chrome: joia largada aparece e é recolhida; bot vê `MoneyDroppedExtended` | ✅ | | Baú / loja NPC / Chaos Machine (`StoreItemList`) | ✅ | ✅ (leitor por tamanho real) | ❔ | ❔ | | Loja pessoal | ✅ | ⚠️ (`PlayerShopItemListExtended`; ofertas por item ainda não exibidas) | ❔ | ⚠️ | | Trade | ✅ | ✅ | ❔ | ❔ | | Party / Guild / Amigos / Cartas / Chat | ✅ | ✅ (`OpenLetterExtended`) | ❔ | ❔ | | Pets / Wings | ✅ | ✅ (aparência estendida: grupo + número reais) | ❔ | ❔ | | Master Skill Tree / MU Helper | ✅ | ✅ (`MasterStatsUpdateExtended`) | ❔ | ❔ | | Quests | ✅ | ✅ (`QuestState/ProgressExtended`) | ❔ | ❔ | | Blood Castle / Devil Square / Chaos Castle | ✅ | ✅ | ❔ | ❔ | | Personagem transformado (anel / `/skin`) | ✅ | ✅ (patch 0005) | ✅ 2 abas: dragão e esqueleto vistos pelo outro jogador | ✅ | | Lista de comandos de chat (`C2 F5 01`) | ✅ (só 106) | ✅ autocompletar do chat (patch 0005) | ✅ Chrome: `/serv` → `/serverinfo` | ✅ | | Illusion Temple / Duel / Castle Siege / Crywolf / Kanturu | ⚠️ (em evolução) | ❌ | — | ❌ | | Gens | ⚠️ ~70% | ❔ | — | ⚠️ | | Cash Shop | ❌ | ⚠️ (serviço próprio `cashshop/`, fora do OpenMU) | — | 🚧 | | Login único site → jogo | ❌ | ❌ | — | 🚧 M11 | ## Conteúdo custom | Item | Server | Web | Pronto? | |---|---|---|---| | `/serverinfo` (MuCustom.Gameplay) | ✅ | ✅ (executado no Chrome) | ✅ | | Zoom com a roda do mouse (opção `wheelZoom`, patch 0001) | — | ✅ verificado em jogo | ✅ | | Rates (EXP 10x, master 5x, zen 2x, drop 1,5x — `.env` + `apply-game-config.sh`) | ✅ | — (só servidor) | ✅ aplicado; EXP 10x visível no jogo ainda não medida | | Reset (`/reset`, `/resetinfo`) | ✅ (plugin do OpenMU, configurado) | ✅ (comando de texto) | ✅ bot: `/resetinfo` responde; `/reset` de `testgmMg`: nível 400 → 1, resets 0 → 1 | | Ranking público (`/ranking`) | ✅ (job `ranking`, JSON estático) | ✅ página no site do jogo | ✅ `ranking.json` gerado; página renderizada | | Wings/itens custom (IDs até 4095 por grupo) | ✅ update `MuCustom.Items` (D24) | ✅ alias para um item conhecido (`customItems.ts`) | ⚠️ funciona com o modelo do item copiado; modelos próprios em `pending_arts.md` | | 12/300 Asas do Guardião | ✅ instalado | ✅ patch 0009 | ⚠️ modelo da Wing of Storm | | Selos de EXP / Riqueza (14/200, 14/201) | ✅ instalados; consumo verificado pelo bot | ✅ alias 14/46 (patch 0011) | ⚠️ sem ícone de buff; ganho de EXP não medido | | Muuns (13/200, 13/201), brincos (13/210, 13/211), pentagrama (13/220), set de maestria (7..11/300) | ✅ instalados | ✅ alias (patch 0011) | ⚠️ recolor pendente; não equipados/testados em jogo ainda | | Painel de quests disponíveis (0xFC 01/02) | ✅ `MuCustom.Systems` | ✅ patch 0010 | ✅ bot: lista e warp; navegador: painel visível com as quests liberadas | | Janela de sistemas (tecla B): diárias, registro de caça, Gremory Case, banco de joias, loja de Ruud (0xFC 10-41) | ✅ `MuCustom.Systems` (D25), verificado pelo bot (`docs/audit/sistemas.md`) | ✅ patch 0011 (tsc + testes do parser) | ✅ navegador: janela B, abas Diárias e Loja de Ruud (Gremory/Joias só pelo bot) | | Tema MU INFERNUS (tela de entrada) | — | ✅ patch 0012 | ✅ navegador: tela inicial, lista de servidores e login | | Foto de perfil no chat (0xFC 50-52) | ✅ bot | ✅ patch 0013 (testes do protocolo) | ⚠️ não vista em jogo | | Foto da guilda (0xFC 53-55) | ✅ bot | ✅ patch 0018 | ⚠️ não vista em jogo | | Slots de brinco (0xFC 60-62) | ✅ bot | ✅ patch 0016 | ✅ visto em jogo: arrastar para o slot do inventário, HP sobe, "Tirar" na aba | | Login diário (0xFC 70 / F0, F1) | ✅ bot | ✅ patch 0023 | ⚠️ não visto em jogo | | Dungeons (0xFC 08-0C / 88-8A) | ✅ bot (D1 com 4 bots) | ✅ patch 0024 | ✅ visto em jogo (Chrome): sala, convite aos bots, mapa do templo, HUD de ondas e conclusão com recompensa | | Quests de NPC (0xFC 04 / 84) | ✅ bot | ✅ patch 0025 | ✅ visto em jogo (Leo The Helper: aceitar); quebra de linha no 0027 | | Mapa detalhado (0xFC 05 / 85) | ✅ bot | ✅ patch 0026 | ✅ visto em jogo (Chrome); cores corrigidas no 0027 | | Chefe mundial com fases | ✅ bot | ✅ (aviso global) | ⚠️ sem visual próprio | | Selos com ícone (efeitos 40/41) | ✅ bot | ✅ (ícone original do cliente) | ⚠️ ícone não visto em jogo | | Quests em pt-BR (342 textos) e Aceitar visível | — | ✅ patch 0017 | ⚠️ não vista em jogo | | Ataque automático (só monstros) | — | ✅ patch 0019 | ⚠️ não testado em jogo | | Andar com as setas | — | ✅ patch 0015 | ⚠️ não testado em jogo | Toda entrada nova (item, wing, mapa, monstro) entra nesta tabela com Server e Web. | Limite de 65535 por stat | ✅ `GAME_MAX_STAT` (D45) | ✅ (janela de status do upstream) | ✅ bot: `/add str` para em 65535; ⚠️ janela não vista | ⚠️ | | Inventário: itens de 1x1 a 3x2 sem sobreposição; largar/pegar | ✅ | ✅ (upstream) | ✅ `scripts/inventory-test.sh` (protocolo); ⚠️ arrasto na UI não visto nesta sessão | ⚠️ | | Item sob o mouse girando em 3D | — | ✅ patch 0030 (D46) | ⚠️ NÃO VALIDADO VISUALMENTE (tsc, Vitest, build OK) | ⚠️ | | Ângulo da câmera (opção) | — | ✅ patch 0030 | ⚠️ NÃO VALIDADO VISUALMENTE | ⚠️ | | Foto do autor como avatar quadrado no chat | ✅ (0xFC 52) | ✅ patch 0029 | ⚠️ NÃO VALIDADO VISUALMENTE | ⚠️ |