forked from dcatanzaro/aoweb
-
Notifications
You must be signed in to change notification settings - Fork 40
El build de Docker produce un frontend sin mapas: el mundo no se dibuja #19
Copy link
Copy link
Open
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignCampaign: Third CampaignbountyIssue con recompensa asignadaIssue con recompensa asignadabugSomething isn't workingSomething isn't workingdeployDespliegue, Docker e infraestructuraDespliegue, Docker e infraestructuragrantfoxPublicada en la campana de GrantFoxPublicada en la campana de GrantFoxreward-50-usdRecompensa 50 USD - complejidad mediaRecompensa 50 USD - complejidad media
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignCampaign: Third CampaignbountyIssue con recompensa asignadaIssue con recompensa asignadabugSomething isn't workingSomething isn't workingdeployDespliegue, Docker e infraestructuraDespliegue, Docker e infraestructuragrantfoxPublicada en la campana de GrantFoxPublicada en la campana de GrantFoxreward-50-usdRecompensa 50 USD - complejidad mediaRecompensa 50 USD - complejidad media
Síntoma
Se despliega el juego con Docker siguiendo el repo, el jugador entra, y el mundo no se dibuja. El personaje y el HUD aparecen, pero el terreno queda vacío. En la consola del navegador:
Causa
frontend/public/maps_optimized/no está en el repo (está en.gitignore). Se genera con:Ese script lee los 294 mapas de
server/mapas_source/y escribe los optimizados enfrontend/public/maps_optimized/.El problema es que el Dockerfile del frontend no ejecuta ese paso. Hace
pnpm buildde Next, que copiapublic/tal como esté. Si la carpeta no fue generada antes, la imagen queda sin los mapas y el cliente pide archivos que no existen.Es un fallo silencioso: el build termina bien, el contenedor arranca bien, la página carga bien. Falla recién cuando un jugador entra al mundo.
Cómo reproducir
Clonar limpio y construir el frontend con Docker sin generar los mapas antes. Entrar al juego y mirar la consola.
Propuesta
Cualquiera de estas, en orden de preferencia:
pnpm build. Requiere queserver/mapas_source/esté disponible en el contexto de build, así que hay que pensar el contexto o hacerlo multi stage.Mínimo aceptable: que el build falle ruidosamente en vez de producir una imagen rota.
Criterios de aceptación
Archivos relevantes
frontend/Dockerfileserver/src/scripts/exportFrontendOptimizedMaps.tsfrontend/.gitignore(excluyemaps_optimized)