Files
scoreko-dev/README.md
T

2.7 KiB

scoreko-dev

NodeCG bundle for producing fighting game overlays.

Project

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):
{
  "scoreko-dev": {
    "assetsBaseUrl": "http://localhost"
  }
}
  1. Sirve por HTTP esta estructura:
games/
  games.json (opcional, para nombres visibles personalizados)
  street-fighter-6/
    street-fighter-6.png
    manifest.json
    fighting-characters.json
    characters/...
  tekken-8/
    tekken-8.png
    manifest.json
    ...

games/games.json es opcional y permite mapear slug -> nombre visible.

Formato objeto:

{
  "2xko": "2XKO",
  "tekken-8": "Tekken 8"
}

También se acepta array de objetos:

[
  { "slug": "2xko", "title": "2XKO" },
  { "slug": "tekken-8", "title": "Tekken 8" }
]

Logos en servidor HTTP (sin logos locales en el bundle)

La vista de "Game Assets" carga los logos directamente desde:

{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):

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.

  1. Cada manifest.json debe ser un array con rutas relativas, o con objetos { "path", "size", "url" }.

Ejemplo mínimo:

[
  "fighting-characters.json",
  "characters/ryu.png"
]