Repository navigation
Español
Arregla los textos traducidos en UTF-8, pasa las contraseñas a bcrypt y suma controles del server, datos por mapa, avisos de invasión, emotes y soporte de MinGW. Cambian el server, el panel, el cliente y los eggs.
- Textos traducidos (Unicode). Los
.bmddeData/Local(Text, ítems, skills, quests, diálogos y filtros) se convertían siempre desde Windows-1252, así que una traducción en UTF-8 (por ejemplo, en chino) salía con caracteres rotos y cortada. Ahora el UTF-8 se respeta; los textos en español, portugués e inglés que trae el cliente se ven igual que antes (#48). - Contraseñas con bcrypt. Las cuentas nuevas y las que cambian de contraseña se guardan con bcrypt. Las viejas (texto o MD5) siguen entrando y se convierten solas en el próximo login, desde el juego o desde el panel.
GlobalPasswordvenía con un valor público que entraba a cualquier cuenta: ahora viene vacía, y vacía queda apagada. - Más controles del server.
- Las ventanas de NPC (comprar, vender, baúl, chaos) se rechazan si el NPC quedó a más de 8 tiles o en otro mapa.
- Reparar al precio del NPC exige tener abierta la tienda de un herrero y estar cerca.
- Tirar un item solo vale dentro del rango de visión del mapa.
- Confirmar un trade vuelve a chequear que los dos estén cerca.
- El camino que manda el cliente se valida contra la posición del server, sin atravesar paredes, y el ataque normal tiene un intervalo mínimo según la velocidad de ataque. Estos dos están en modo observar: por defecto solo se registran en la traza (
mu-trace), no se rechazan.
- Spawns por mapa (opcional). Los spawns se pueden tener en
Data/Maps/NN-Nombre/Spawns.toml, con las invasiones enData/Events/Invasions/Spawns.toml, y se editan desde el panel. Si no hay ningún TOML, el server sigue usandoMonsterSetBase.txt. Si existe aunque sea uno, deja de leer el.txty usa solo los TOML: conviene generarlos todos conmu-data import-spawns. - Invasiones.
- Cada monstruo de una invasión que muere se avisa en el chat con la cuenta de su clase, por ejemplo "'Jugador' derrotó a 'Golden Titan' (1/5)". Los jefes siguen con su aviso. Se apaga con
InvasionKillNoticeenGameServerInfo - Event.dat. - En el panel de eventos (H), al pasar el mouse por una invasión en curso se ven los monstruos vivos por mapa. Hace falta el cliente 0.97.43; los anteriores ignoran el paquete nuevo.
- Las bolsas de los dorados (Box of Kundun,
EventItemBag023-031) estaban mal configuradas; arregladas.
- Cada monstruo de una invasión que muere se avisa en el chat con la cuenta de su clase, por ejemplo "'Jugador' derrotó a 'Golden Titan' (1/5)". Los jefes siguen con su aviso. Se apaga con
- Emotes. Los gestos de la 5.2 y el comando
/fortnite, con sonido. mu-trace. Herramienta para ver los paquetes y las decisiones del GameServer (solo Linux).- MinGW. El server (x64 y x86) y el cliente (x64) también compilan con MinGW-w64. El cliente de MinGW tiene WebGPU solo sobre Vulkan (sin DirectX 11/12) y necesita MinGW-w64 12 o más nuevo para ese preset (#23).
- Server: avisos de GCC corregidos (zen de quests, reparto en party, escrituras fuera de rango).
Compatibilidad: el protocolo no cambia (ClientVersion sigue en 0.97.40), así que los clientes anteriores entran a este server. El tooltip de vivos por mapa, los emotes y el arreglo de los textos UTF-8 necesitan el cliente 0.97.43.
Si actualizás un server existente:
- Los archivos que viven en un volumen (
Data/y los.ini, por ejemplo en Pterodactyl) no se actualizan solos. EnJoinServer.ini, borráGlobalPassword=XwefDastoDsi la tenés. - La columna
memb__pwdpasa de 16 a 60 bytes. El panel la agranda al arrancar; sin panel, corréMigrate-password-hash.sql. Mientras siga en 16, el JoinServer lo avisa y no migra ninguna contraseña.
Docker: emapupi/mu-linux-97k:0.97.43 y emapupi/mu-linux-97k-web:0.97.43 (también latest), para amd64 y arm64.
Pterodactyl: elegí 0.97.43 en MU_RELEASE_TAG y reinstalá.
Cliente: esta Release no trae binarios del cliente. Se compila desde el código del tag:
- Windows:
cmake --preset windows-sdl3-x64-releaseycmake --build --preset windows-sdl3-x64-release. - Linux:
cmake --preset linux-x64-releaseycmake --build --preset linux-x64-release. - MinGW (desde Linux):
cmake --preset mingw-x64-webgpu-releaseycmake --build --preset mingw-x64-webgpu-release --target mu97k.
English
Fixes UTF-8 translated texts, moves account passwords to bcrypt, and adds server checks, per-map data, invasion notices, emotes and MinGW support. The server, the panel, the client and the eggs change.
- Translated texts (Unicode). The
.bmdfiles inData/Local(Text, items, skills, quests, dialogs and filters) were always converted from Windows-1252, so a UTF-8 translation (Chinese, for example) came out garbled and cut. UTF-8 is now kept as is; the Spanish, Portuguese and English texts shipped with the client look the same as before (#48). - bcrypt passwords. New accounts and changed passwords are stored with bcrypt. Old ones (plain text or MD5) still log in and are converted on the next login, from the game or from the panel.
GlobalPasswordshipped with a public value that opened any account: it now defaults to empty, and empty means off. - More server checks.
- NPC windows (buy, sell, vault, chaos) are rejected if the NPC is more than 8 tiles away or on another map.
- Repairing at the NPC price requires a blacksmith's shop to be open and the player to be close.
- Dropping an item only works within the map's view range.
- Confirming a trade checks again that both players are close.
- The path sent by the client is checked against the server position, with no walking through walls, and normal attacks have a minimum interval based on attack speed. These two run in observe mode: by default they are only recorded in the trace (
mu-trace), not rejected.
- Per-map spawns (optional). Spawns can live in
Data/Maps/NN-Name/Spawns.toml, with invasions inData/Events/Invasions/Spawns.toml, and are edited from the panel. With no TOML at all, the server keeps usingMonsterSetBase.txt. If even one exists, it stops reading the.txtand uses only the TOML files, so generate them all withmu-data import-spawns. - Invasions.
- Every invasion monster that dies is announced in chat with the count for its class, e.g. "'Player' defeated 'Golden Titan' (1/5)". Bosses keep their own notice. Turn it off with
InvasionKillNoticeinGameServerInfo - Event.dat. - In the events panel (H), hovering an ongoing invasion shows the monsters alive per map. This needs the 0.97.43 client; older ones ignore the new packet.
- The golden monsters' bags (Box of Kundun,
EventItemBag023-031) were misconfigured; fixed.
- Every invasion monster that dies is announced in chat with the count for its class, e.g. "'Player' defeated 'Golden Titan' (1/5)". Bosses keep their own notice. Turn it off with
- Emotes. The 5.2 gestures and the
/fortnitecommand, with sound. mu-trace. A tool to inspect the GameServer's packets and decisions (Linux only).- MinGW. The server (x64 and x86) and the client (x64) also build with MinGW-w64. The MinGW client has WebGPU on Vulkan only (no DirectX 11/12), and that preset needs MinGW-w64 12 or newer (#23).
- Server: GCC warnings fixed (quest zen, party share, out-of-range writes).
Compatibility: the protocol doesn't change (ClientVersion stays at 0.97.40), so older clients can join this server. The per-map tooltip, the emotes and the UTF-8 text fix need the 0.97.43 client.
If you update an existing server:
- Files that live in a volume (
Data/and the.inifiles, for example on Pterodactyl) are not updated automatically. InJoinServer.ini, deleteGlobalPassword=XwefDastoDif you have it. - The
memb__pwdcolumn grows from 16 to 60 bytes. The panel widens it on startup; without the panel, runMigrate-password-hash.sql. While it stays at 16, the JoinServer warns about it and migrates no passwords.
Docker: emapupi/mu-linux-97k:0.97.43 and emapupi/mu-linux-97k-web:0.97.43 (also latest), for amd64 and arm64.
Pterodactyl: pick 0.97.43 in MU_RELEASE_TAG and reinstall.
Client: this Release has no client binaries. Build it from the tag's source:
- Windows:
cmake --preset windows-sdl3-x64-releaseandcmake --build --preset windows-sdl3-x64-release. - Linux:
cmake --preset linux-x64-releaseandcmake --build --preset linux-x64-release. - MinGW (from Linux):
cmake --preset mingw-x64-webgpu-releaseandcmake --build --preset mingw-x64-webgpu-release --target mu97k.
Português
Corrige os textos traduzidos em UTF-8, passa as senhas para bcrypt e acrescenta verificações do servidor, dados por mapa, avisos de invasão, emotes e suporte a MinGW. Mudam o servidor, o painel, o cliente e os eggs.
- Textos traduzidos (Unicode). Os
.bmddeData/Local(Text, itens, skills, quests, diálogos e filtros) eram sempre convertidos de Windows-1252, então uma tradução em UTF-8 (em chinês, por exemplo) saía com caracteres quebrados e cortada. Agora o UTF-8 é mantido; os textos em espanhol, português e inglês do cliente aparecem como antes (#48). - Senhas com bcrypt. Contas novas e senhas alteradas são salvas com bcrypt. As antigas (texto ou MD5) continuam entrando e são convertidas no próximo login, pelo jogo ou pelo painel.
GlobalPasswordvinha com um valor público que entrava em qualquer conta: agora vem vazia, e vazia fica desligada. - Mais verificações do servidor.
- As janelas de NPC (comprar, vender, baú, chaos) são recusadas se o NPC ficou a mais de 8 tiles ou em outro mapa.
- Reparar pelo preço do NPC exige a loja de um ferreiro aberta e estar perto.
- Soltar um item só vale dentro do alcance de visão do mapa.
- Confirmar um trade volta a verificar que os dois estão perto.
- O caminho enviado pelo cliente é validado contra a posição do servidor, sem atravessar paredes, e o ataque normal tem um intervalo mínimo conforme a velocidade de ataque. Estes dois estão em modo observar: por padrão só ficam registrados no trace (
mu-trace), sem recusar.
- Spawns por mapa (opcional). Os spawns podem ficar em
Data/Maps/NN-Nome/Spawns.toml, com as invasões emData/Events/Invasions/Spawns.toml, e são editados pelo painel. Sem nenhum TOML, o servidor continua usandoMonsterSetBase.txt. Se existir pelo menos um, ele deixa de ler o.txte usa só os TOML: gere todos commu-data import-spawns. - Invasões.
- Cada monstro de uma invasão que morre é anunciado no chat com a contagem da sua classe, por exemplo "'Jogador' derrotou 'Golden Titan' (1/5)". Os chefes mantêm o próprio aviso. Desliga com
InvasionKillNoticeemGameServerInfo - Event.dat. - No painel de eventos (H), ao passar o mouse por uma invasão em andamento aparecem os monstros vivos por mapa. Precisa do cliente 0.97.43; os anteriores ignoram o pacote novo.
- As bolsas dos dourados (Box of Kundun,
EventItemBag023-031) estavam mal configuradas; corrigidas.
- Cada monstro de uma invasão que morre é anunciado no chat com a contagem da sua classe, por exemplo "'Jogador' derrotou 'Golden Titan' (1/5)". Os chefes mantêm o próprio aviso. Desliga com
- Emotes. Os gestos da 5.2 e o comando
/fortnite, com som. mu-trace. Ferramenta para ver os pacotes e as decisões do GameServer (só Linux).- MinGW. O servidor (x64 e x86) e o cliente (x64) também compilam com MinGW-w64. O cliente de MinGW tem WebGPU só sobre Vulkan (sem DirectX 11/12), e esse preset precisa de MinGW-w64 12 ou mais novo (#23).
- Servidor: avisos do GCC corrigidos (zen de quests, divisão em party, escritas fora do limite).
Compatibilidade: o protocolo não muda (ClientVersion continua em 0.97.40), então os clientes anteriores entram neste servidor. O tooltip de vivos por mapa, os emotes e a correção dos textos UTF-8 precisam do cliente 0.97.43.
Se você atualiza um servidor existente:
- Os arquivos que ficam em um volume (
Data/e os.ini, por exemplo no Pterodactyl) não se atualizam sozinhos. NoJoinServer.ini, apagueGlobalPassword=XwefDastoDse tiver. - A coluna
memb__pwdpassa de 16 para 60 bytes. O painel a aumenta ao iniciar; sem o painel, rodeMigrate-password-hash.sql. Enquanto continuar em 16, o JoinServer avisa e não migra nenhuma senha.
Docker: emapupi/mu-linux-97k:0.97.43 e emapupi/mu-linux-97k-web:0.97.43 (também latest), para amd64 e arm64.
Pterodactyl: selecione 0.97.43 em MU_RELEASE_TAG e reinstale.
Cliente: esta Release não traz binários do cliente. Compile a partir do código do tag:
- Windows:
cmake --preset windows-sdl3-x64-releaseecmake --build --preset windows-sdl3-x64-release. - Linux:
cmake --preset linux-x64-releaseecmake --build --preset linux-x64-release. - MinGW (a partir do Linux):
cmake --preset mingw-x64-webgpu-releaseecmake --build --preset mingw-x64-webgpu-release --target mu97k.