# scoreko-dev NodeCG bundle for producing fighting game overlays. ## Project - Repository: https://github.com/Pandipipas/scoreko-dev - Stack: NodeCG, Vue 3, TypeScript, Quasar, and Vite. ## Requirements - Node.js 24.14.0+ ## Scripts - `npm run autofix`: automatically fixes lint errors. - `npm run build`: builds dashboard/graphics and extension. - `npm run lint`: validates project linting. - `npm run schema-types`: generates types from schemas. - `npm run start`: starts NodeCG using the local dependency (`nodecg start`). - `npm run watch`: development mode with watch. ## Usage - `npm install` - `npm run build` - `npm run start` (equivalent to `npx nodecg start`) ## Version Initial project version: `0.1.0`. ## Assets por HTTP (sin GitHub API) La descarga de assets usa **únicamente HTTP**. Debes configurar un servidor propio. 1. En `cfg/scoreko-dev.json`, configura `assetsBaseUrl` (opcional, por defecto `http://localhost`): ```json { "scoreko-dev": { "assetsBaseUrl": "http://localhost" } } ``` 2. Sirve por HTTP esta estructura: ```text games/ street-fighter-6/ street-fighter-6.png manifest.json fighting-characters.json characters/... tekken-8/ tekken-8.png manifest.json ... ``` ## Logos en servidor HTTP (sin logos locales en el bundle) La vista de "Game Assets" carga los logos directamente desde: ```text {assetsBaseUrl}/games/{repoFolder}/{logoFile} ``` Ejemplos: - `http://TU_SERVIDOR/games/street-fighter-6/street-fighter-6.png` - `http://TU_SERVIDOR/games/tekken-8/tekken-8.png` ### Cómo guardarlos en la carpeta HTTP 1. Crea la carpeta del juego en tu web root (si no existe). 2. Copia el logo con el nombre esperado (`logoFile` de `src/shared/fighting-games.ts`). 3. Verifica desde navegador o `curl` que responde `200`. Ejemplo rápido en Linux (Nginx/Apache): ```bash sudo mkdir -p /var/www/assets/games/street-fighter-6 sudo cp ./street-fighter-6.png /var/www/assets/games/street-fighter-6/street-fighter-6.png curl -I http://TU_SERVIDOR/games/street-fighter-6/street-fighter-6.png ``` Opcional (recomendado): añade cache HTTP (`Cache-Control`, `ETag`) en tu servidor para que el navegador no los vuelva a descargar en cada visita. 3. Cada `manifest.json` debe ser un array con rutas relativas, o con objetos `{ "path", "size", "url" }`. Ejemplo mínimo: ```json [ "fighting-characters.json", "characters/ryu.png" ] ```