Skip to content

0.97.41

Choose a tag to compare

@EmanuelCatania EmanuelCatania released this 08 Nov 15:52
· 148 commits to main since this release
c023ea3

Las releases anteriores (hasta la 0.97.40) son solo del server. Las del cliente, de la 0.97.00 a la 0.97.40, están en Mu-97k-Client-Source (repositorio archivado).

Earlier releases (up to 0.97.40) are server only. The client releases, 0.97.00 to 0.97.40, are in Mu-97k-Client-Source (archived repository).

As releases anteriores (até a 0.97.40) são somente do server. As do cliente, da 0.97.00 à 0.97.40, estão em Mu-97k-Client-Source (repositório arquivado).

Español

Primera Release del monorepo: cliente y server salen del mismo repositorio. Esta versión trae cambios del cliente, del panel web y del compose; el server sigue siendo el 0.97.40.

  • WebGPU, el doble de FPS con muchos personajes. Con 100 personajes lanzando skills, el cliente pasa de 40 a unos 80 FPS, y en zona segura llega a ~100.
    • El brillo de los items (pasadas chrome) se calcula en la GPU, en lugar de armar cada malla vértice por vértice.
    • Los datos de cada dibujo van en tablas indexadas, así cambian menos estados por cuadro.
    • Las subidas de cada cuadro pasan por un buffer de staging propio que se reusa.
    • En Release, Dawn ya no valida cada comando.
  • Diagnóstico de errores gráficos. Los errores de WebGPU quedan en debug.log con un código fijo: [WGPU-E1] validación, [WGPU-E2] sin memoria, [WGPU-E3] interno, [WGPU-E9] otro, [WGPU-L1] dispositivo perdido, [WGPU-L2] no se pudo crear el dispositivo. Para reportar un error de dibujo, poné GraphicsValidation=1 en la sección [Window] de Config.ini, reproducilo y mandá el debug.log.
  • Panel web sin vulnerabilidades conocidas. Se actualizan sanitize-html, body-parser, mysql2 e ip-address, lo que cierra 15 alertas de seguridad (XSS en el saneado de HTML, denegación de servicio y filtración de credenciales de MySQL). El panel pasa a Node 24: Node 18 y 20 ya no tienen soporte.
  • Compose: los scripts que inicializan la base se montaban desde la ruta anterior al monorepo. En una instalación nueva, la base quedaba sin tablas.

Compatibilidad: usar con el server 0.97.40. El protocolo no cambia: el cliente 0.97.41 le sigue informando la versión 0.97.40 al server. La imagen del panel pasa a emapupi/mu-linux-97k-web:0.97.41 (también latest), para amd64 y arm64; el resto de las imágenes sigue en 0.97.40. Pterodactyl: en el servidor del panel, elegí 0.97.41 en MU_RELEASE_TAG, cambiá la imagen a Node.js 24 y reinstalá; el servidor del juego sigue en 0.97.40.

Linux: el paquete adjunto trae main, Data, licencias, README y launch.sh, junto con su SHA256 y el inventario de bibliotecas. Para WebGPU hace falta el loader de Vulkan (libvulkan1 en Debian/Ubuntu, vulkan-icd-loader en Arch). Windows: se compila con cmake --preset windows-sdl3-x64-release y cmake --build --preset windows-sdl3-x64-release. El pack HD de ejemplo es el de la 0.97.40 del cliente.


English

First Release from the monorepo: client and server now ship from the same repository. This version brings client, web panel and compose changes; the server is still 0.97.40.

  • WebGPU, twice the FPS with many characters. With 100 characters casting skills, the client goes from 40 to about 80 FPS, and reaches ~100 in a safe zone.
    • Item shine (chrome passes) is computed on the GPU instead of building each mesh vertex by vertex.
    • Per-draw data goes in indexed tables, so less state changes per frame.
    • Each frame's uploads go through a reused staging buffer of our own.
    • In Release, Dawn no longer validates every command.
  • Graphics error diagnostics. WebGPU errors go to debug.log with a fixed code: [WGPU-E1] validation, [WGPU-E2] out of memory, [WGPU-E3] internal, [WGPU-E9] other, [WGPU-L1] device lost, [WGPU-L2] device could not be created. To report a rendering error, set GraphicsValidation=1 in the [Window] section of Config.ini, reproduce it and send the debug.log.
  • Web panel with no known vulnerabilities. sanitize-html, body-parser, mysql2 and ip-address are updated, closing 15 security alerts (XSS in HTML sanitizing, denial of service and MySQL credential leaks). The panel moves to Node 24: Node 18 and 20 are no longer supported.
  • Compose: the scripts that initialize the database were mounted from the pre-monorepo path. On a fresh install, the database ended up without tables.

Compatibility: use with server 0.97.40. The protocol is unchanged: the 0.97.41 client still reports version 0.97.40 to the server. The panel image moves to emapupi/mu-linux-97k-web:0.97.41 (also latest), for amd64 and arm64; the other images stay at 0.97.40. Pterodactyl: on the panel server, select 0.97.41 in MU_RELEASE_TAG, switch the image to Node.js 24 and reinstall; the game server stays at 0.97.40.

Linux: the attached package contains main, Data, licenses, README and launch.sh, along with its SHA256 and the library inventory. WebGPU needs the Vulkan loader (libvulkan1 on Debian/Ubuntu, vulkan-icd-loader on Arch). Windows: build with cmake --preset windows-sdl3-x64-release and cmake --build --preset windows-sdl3-x64-release. The example HD pack is the one from client 0.97.40.


Português

Primeira Release do monorepo: cliente e servidor saem do mesmo repositório. Esta versão traz mudanças do cliente, do painel web e do compose; o servidor continua sendo o 0.97.40.

  • WebGPU, o dobro de FPS com muitos personagens. Com 100 personagens lançando skills, o cliente passa de 40 para cerca de 80 FPS, e chega a ~100 na zona segura.
    • O brilho dos itens (passadas chrome) é calculado na GPU, em vez de montar cada malha vértice por vértice.
    • Os dados de cada desenho vão em tabelas indexadas, então menos estados mudam por quadro.
    • Os envios de cada quadro passam por um buffer de staging próprio que é reutilizado.
    • Em Release, o Dawn não valida mais cada comando.
  • Diagnóstico de erros gráficos. Os erros de WebGPU ficam no debug.log com um código fixo: [WGPU-E1] validação, [WGPU-E2] sem memória, [WGPU-E3] interno, [WGPU-E9] outro, [WGPU-L1] dispositivo perdido, [WGPU-L2] não foi possível criar o dispositivo. Para reportar um erro de desenho, coloque GraphicsValidation=1 na seção [Window] do Config.ini, reproduza e envie o debug.log.
  • Painel web sem vulnerabilidades conhecidas. São atualizados sanitize-html, body-parser, mysql2 e ip-address, o que fecha 15 alertas de segurança (XSS na sanitização de HTML, negação de serviço e vazamento de credenciais do MySQL). O painel passa para o Node 24: Node 18 e 20 não têm mais suporte.
  • Compose: os scripts que inicializam o banco eram montados a partir do caminho anterior ao monorepo. Numa instalação nova, o banco ficava sem tabelas.

Compatibilidade: usar com o servidor 0.97.40. O protocolo não muda: o cliente 0.97.41 continua informando a versão 0.97.40 ao servidor. A imagem do painel passa para emapupi/mu-linux-97k-web:0.97.41 (também latest), para amd64 e arm64; as demais imagens continuam em 0.97.40. Pterodactyl: no servidor do painel, selecione 0.97.41 em MU_RELEASE_TAG, troque a imagem para Node.js 24 e reinstale; o servidor do jogo continua em 0.97.40.

Linux: o pacote anexo traz main, Data, licenças, README e launch.sh, junto com o SHA256 e o inventário de bibliotecas. Para WebGPU é preciso o loader do Vulkan (libvulkan1 no Debian/Ubuntu, vulkan-icd-loader no Arch). Windows: compile com cmake --preset windows-sdl3-x64-release e cmake --build --preset windows-sdl3-x64-release. O pacote HD de exemplo é o do cliente 0.97.40.