NNosGM
ACTUALIZACIÓN SEMANAL VERIFICADA

La semana que
cambió NosGM.

Del 19 al 25 de julio de 2026 fusionamos 78 pull requests en la rama principal. Esta es la historia completa del trabajo: qué cambió, por qué importa y cuál es el siguiente objetivo.

78PR fusionados
10idiomas compatibles
690claves del servidor
4.8.1Release / Any CPU
CONTENIDO DE LA ENTREGA19.07 — 25.07.2026
01
PR #1–#6

Mundos, SP e idiomas

Se creó la base de modos de mundo —incluido el canal con 0 EXP normal y heroica— y la auditoría SP1–SP12 usando datos SQL reales. La localización por cuenta llegó a diez idiomas con alias regionales, persistencia y fallback seguro; luego se repararon los RESX y se añadió una puerta CI real.

  • PvE/PvP y canal cero EXP
  • Auditoría SP con datos vivos
  • 10 idiomas por cuenta
  • MSBuild y ResGen en Windows
02
PR #7–#16

Rendimiento, economía y protección

Nació $Perf y evolucionó hacia un diagnóstico profesional. Correo, recompensas, intercambios y operaciones de Bazaar pasaron a flujos idempotentes o transaccionales. ItemTrace y el detector de seriales duplicados permiten seguir objetos, mientras los límites de paquetes protegen el World.

  • $Perf runtime y paquetes
  • Mail/recompensas idempotentes
  • Trades y Bazaar atómicos
  • Protección contra packet flood
03
PR #17–#21

Gobernanza GM auditable

Los comandos staff ahora tienen permisos por categoría, un ledger persistente y casos de investigación enlazados a sanciones confirmadas. El inspector de jugadores concentra evidencia y las credenciales del webhook dejaron de existir dentro del código fuente.

  • Permisos granulares
  • Auditoría persistente
  • Casos e inspector
  • Sanciones confirmadas
04
PR #22–#37

NosBazaar recuperado de extremo a extremo

Se instrumentó el Bazaar y se corrigió toda la cadena: paquetes actuales, publicación, stacks, información de hadas, búsqueda global, cobro de ventas, recollection, seriales heredados y pagos con autoridad SQL. Las operaciones críticas preservan ItemInstanceId y EquipmentSerialId.

  • Publicación y búsqueda global
  • Cobro de ventas completas
  • Recollection SQL-authoritative
  • Trazabilidad de seriales
05
PR #38–#49

SP12 y motor de combate estructurado

SP12 recibió registro BCard, auditoría, gauge de sincronización y reglas autoritativas. El motor de daño adoptó contextos y resultados estructurados para PvE y PvP, propagó el contexto de golpe y aplicó bonus de sincronización, distancia de Aquiles y ultimate.

  • Gauge una vez por skill
  • Bonus de sincronización
  • Daño PvE/PvP estructurado
  • Aquiles y ultimate
06
PR #50–#55

Identidad NosGM y base mantenible

La identidad Frostvein fue migrada de forma completa a NosGM, se unificó el grafo de proyectos en .NET Framework 4.8.1 y se restauraron atribuciones, licencias y salvaguardas de cumplimiento. La compilación Release / Any CPU quedó validada.

  • Identidad NosGM completa
  • .NET Framework 4.8.1
  • Créditos OpenNos correctos
  • Salvaguardas de licencias
07
PR #56–#62

Suite de herramientas para desarrolladores

NosGM.DataUpdater procesa BCard.dat y genera JSON, manifiesto e informe de cambios. Time-Space Parser ofrece parse, batch, validate y self-test. Se añadieron Client Enhancements, Resource Explorer, Packet Catalog determinista y un editor de temas con aplicación protegida.

  • DataUpdater multilingüe
  • Time-Space Parser .NET 9
  • Resource Explorer read-only
  • Packet Catalog y Theme Editor
08
PR #64–#69

Launcher, portal y API pública

El launcher obtuvo base segura, recuperación, importación explícita, diez idiomas, selección de carpeta y pipeline de paquetes firmados. Al mismo tiempo se creó la base segura del portal y una API pública versionada y firmada con datos vivos de NosGM.

  • Launcher en 10 idiomas
  • Recuperación e importación
  • Releases firmadas
  • Portal y API versionada
09
PR #70–#76

World Server más ligero y observable

GeneralLog dejó de escanear historiales y empezó a escribir por lotes. Se eliminaron consultas N+1 del Bazaar y ShellEffects. CharacterLife usa un scheduler central, el ingress despierta por eventos y limita sus colas, Guri tiene diagnóstico por tipo y los logs Release son compactos y rotativos.

  • GeneralLog por lotes
  • N+1 eliminados
  • Scheduler central
  • Ingress por eventos y logs limitados
10
PR #77–#82

BCards correctas, visibles y defensivas

La registry BCard se inicializa antes de ejecutar datos y evita falsos missing handlers. $BCardPerf muestra resumen, handlers y firmas faltantes; las muestras incorporan nombres semánticos. Reglas no letales quedaron clasificadas como pasivas y DealDamageAround obtuvo una implementación defensiva.

  • Inicialización idempotente
  • $BCardPerf
  • Diagnóstico semántico
  • DealDamageAround defensivo
VALIDACIÓN Y CALIDAD

Cambios grandes, con puertas de seguridad.

La modernización no se apoyó solo en revisiones visuales. El proyecto recibió compilación real de Windows, validación de recursos, controles de licencias, pruebas sintéticas y diagnósticos que permanecen disponibles durante el runtime.

  • 01Windows MSBuild + ResGen
  • 02.NET Framework 4.8.1 Release
  • 03Catálogos RESX verificados
  • 04Seguridad, identidad y licencias
  • 05Self-tests de herramientas
  • 06Métricas de runtime reset-safe
LO QUE SIGUE

De la infraestructura a la jugabilidad verificada.

La prioridad inmediata es completar formas BCard ejecutables y handlers de objetos realmente faltantes. Después continuaremos con pruebas prolongadas del World Server y la validación mecánica de SP1–SP12, buffs, debuffs, +20, PvE, PvP y el canal cero EXP.

Ayúdanos a probar