BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기MapleChess ¿Contra quién juegas?
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Saber contra quién te toca en la próxima ronda, ver qué aperturas juega y dónde se separan de las tuyas, si suele apurarse de tiempo, repasar sus partidas con un motor y descargarlas en PGN. Sin registro y sin anuncios.
| Busca | Unos 98.000 jugadores españoles de la lista FIDE, unos 8.500 torneos de info64 desde 2014 y sus partidas. |
| Mira quién te toca | Los emparejamientos de la próxima ronda, en cuanto info64 los publica, con un enlace para preparar a cada rival. |
| Prepara al rival | Un dossier por color: su primera jugada, sus líneas principales, qué ha cambiado este año, cómo puntúa según el rival, sus apuros de tiempo y dónde te separas tú. |
| Analiza | Visor con piezas propias, variantes, comentarios y relojes, en el que puedes probar tus propias jugadas y compartirlas con un enlace, y Stockfish 19 en el propio navegador. |
| Descarga | PGN completos, con ELO, FIDE ID, ECO y apertura, de una partida, un torneo, un jugador o una búsqueda. |
info64 publica los emparejamientos antes de cada ronda. La web los lee varias veces al día y enlaza cada partida con la preparación del rival:
El dossier es una página por color, para leer en el móvil o imprimir:
El repertorio es el árbol de aperturas del jugador con cada color. En cada posición se ve qué jugadas ha hecho él o sus rivales, cuántas veces, con qué resultado y cuándo fue la última. Junta las transposiciones, filtra por periodo (2 o 5 años), ritmo y ELO del rival, y se recorre pulsando en la tabla, moviendo las piezas en el tablero, escribiendo la jugada o pulsando una línea de Stockfish, con el motor en la posición y la descarga en PGN de las partidas que pasan por ella.
De quien puede ser menor de edad (cumple 18 años o menos este año, según la lista FIDE) no hay dossier ni repertorio, y su ficha no sale en los buscadores. La política de privacidad lo explica.
Las páginas se generan en el servidor y las búsquedas son formularios normales: todo funciona sin JavaScript menos el tablero y el motor.
En el móvil se puede instalar como una app (en Chrome, «Instalar aplicación»; en Safari, «Añadir a pantalla de inicio»): se abre sin la barra del navegador y, si has dicho quién eres, directamente en tu próxima partida.
Al importar, el ritmo (estándar, rápidas o blitz) se clasifica con la regla de la FIDE a partir del texto que publica cada torneo. También se quitan las partidas que la fuente publica repetidas, se descartan los ELO imposibles y se guarda el reloj de cada jugada cuando el PGN lo trae.
flowchart LR
subgraph fuentes["Fuentes"]
info64["info64.org<br/>(FEDA)"]
fide["Lista FIDE"]
lichess["Retransmisiones<br/>de lichess"]
fca["Archivo de la<br/>Federación Cántabra"]
end
subgraph cloudflare["Un Worker de Cloudflare"]
cron(["Cron Triggers"])
admin(["/api/admin/sync"])
workflows["Workflows<br/>INFO64_SYNC · LICHESS_SYNC<br/>FIDE_SYNC · GAMES_REPROCESS<br/>FCA_IMPORT"]
d1[("D1<br/>SQLite + FTS5")]
astro["Astro SSR<br/>páginas y PGN"]
end
navegador["Navegador<br/>chessground +<br/>Stockfish en un Web Worker"]
info64 --> workflows
fide --> workflows
lichess --> workflows
fca --> workflows
cron --> workflows
admin --> workflows
workflows --> d1
d1 --> astro
astro --> navegador
| Fuente | Qué aporta | Cuándo se actualiza |
|---|---|---|
| info64.org (FEDA) | Torneos desde 2014, participantes con FIDE ID, plantillas de equipos, clasificaciones, partidas y emparejamientos de la próxima ronda | Cada noche a las 00:00 UTC (rondas de los últimos 60 días y emparejamientos de los próximos 8). info64 sólo admite robots de 00:00 a 06:00, hora de Madrid |
| Lista FIDE | Jugadores de la federación española: título, ELO estándar, rápido y blitz, sexo, año de nacimiento (no se muestra el de los menores ni el de quien pide ocultarlo) y si está activo. También el ELO estándar de la lista anterior, para ver quién sube | El día 3 de cada mes |
| Retransmisiones de lichess (CC BY-SA 4.0) | Partidas de los torneos que info64 enlaza a una retransmisión y no publica en PGN, y de las retransmisiones oficiales con jugadores españoles, en España y en el extranjero | Con info64 y cada día a las 06:30 UTC |
| Archivo de la Federación Cántabra (CC BY 4.0) | Partidas de la Liga Regional y de los campeonatos regionales de Cantabria de 2007 a 2010, de 2012 y de 2021, sin las categorías hasta Sub 14. No traen FIDE ID: cada jugador se cruza por el nombre con la lista FIDE, sólo si casa con uno solo y su año de nacimiento le deja haber jugado | A mano ({"workflow":"fca"}): el archivo no cambia |
| INE e IGN (CC BY 4.0) | Municipios y núcleos de población, para saber en qué provincia se juega cada torneo | A mano, cada año, cuando el INE publica la relación (node scripts/lugares.mjs --descargar <año> y el reprocesado {"lugares":true}) |
| lichess-org/chess-openings | Códigos ECO y nombres de las aperturas (CC0) |
La ingesta es educada con las fuentes: como mucho una petición por segundo a info64 y, a lichess, una cada vez, con pausa entre una y otra y con un token de sólo lectura, como pide su API. Siempre con un User-Agent que la identifica.
No se guardan los torneos de hasta Sub 14 ni los escolares, que dirían la edad o el colegio de quien juega, ni los que revelan un dato de salud: los de ajedrecistas ciegos o sordos, con discapacidad física o de ajedrez inclusivo. La política de privacidad lo explica.
chess-results no se usa: sus términos prohíben copiar y republicar sus datos.
Hace falta Node 24 y pnpm 11.
git clone https://github.com/jorgeabf/maplechess.git
cd maplechess
pnpm install
pnpm install copia el motor Stockfish a public/engine/<versión>/, con la versión del paquete stockfish. Esa carpeta se sirve con caché inmutable (public/_headers), así que una versión nueva del motor es otra URL.
cp .dev.vars.example .dev.vars
En .dev.vars, pon un ADMIN_TOKEN cualquiera. LICHESS_TOKEN puede quedar vacío; para leer muchas retransmisiones de lichess, pon un token tuyo con sólo study:read.
pnpm db:migrate:local
pnpm dev
La web queda en http://localhost:4321, con D1 y Workflows locales. La base de datos local empieza vacía; para cargar un torneo de info64:
curl -X POST localhost:4321/api/admin/sync -H "Authorization: Bearer $TOKEN" \
-d '{"workflow":"info64","params":{"from":"","to":"","keys":["ce-individual-absoluto-2025"]}}'
La lista FIDE (descarga unos 45 MB):
curl -X POST localhost:4321/api/admin/sync -H "Authorization: Bearer $TOKEN" \
-d '{"workflow":"fide","params":{"force":true}}'
Una retransmisión de lichess, por el id de su torneo:
curl -X POST localhost:4321/api/admin/sync -H "Authorization: Bearer $TOKEN" \
-d '{"workflow":"lichess","params":{"tours":["zK5CoVvF"]}}'
GET /api/admin/sync?workflow=info64&id=<instancia> devuelve el estado de una sincronización.
| Comando | Qué hace |
|---|---|
pnpm dev | Servidor de desarrollo |
pnpm test | Tests (vitest dentro de workerd) |
pnpm check | Tipos de Wrangler y comprobación de tipos (astro check y el código de navegador) |
pnpm lint | eslint |
pnpm build | Comprobación y build de producción |
pnpm run deploy | Despliegue en Cloudflare desde origin/main: motor, marcador de D1, build, despliegue y prueba de humo |
pnpm db:migrate:local / pnpm db:migrate:remote | Aplica las migraciones a la D1 local o a la de producción |
pnpm openings | Regenera la tabla de aperturas a partir de data/openings/ |
pnpm check y pnpm dev comparten la caché de Vite: para el servidor antes de comprobar.
migrations/ Esquema de D1
data/openings/ Aperturas de lichess (TSV, CC0)
docs/capturas/ Capturas de este README, en claro y en oscuro
scripts/ Copia del motor, aperturas, iconos y tarjeta para compartir, rondas de lichess, piezas del tablero y fuentes de los titulares y de las figuras
src/worker.ts Entrypoint: web, crons y Workflows
src/ingest/ Ingesta: info64, lista FIDE, lichess, el archivo de Cantabria y escritura en D1
src/lib/chess/ PGN, nombres, ECO, árbol de jugadas, UCI, ritmo, reloj, repertorio y dossier
src/lib/db/ Consultas de la web
src/pages/ Páginas y descargas .pgn
src/components/ Componentes de Astro (visor, repertorio, dossier, gráficos, tablas)
src/client/ Código de navegador: visor, motor y explorador del repertorio
src/styles/ Tokens y estilos globales (en @layer base)
test/ Tests y fixtures sintéticos con la estructura de las fuentes
CLAUDE.md tiene las notas de trabajo detalladas: decisiones de diseño, trampas conocidas y cómo lanzar las sincronizaciones en producción.
Necesita una cuenta de Cloudflare con Workers Paid: la importación de la lista FIDE pasa de los 30 s de CPU por defecto.
pnpm exec wrangler login.pnpm exec wrangler d1 create ajedrez --jurisdiction eu) y pon su id en database_id, en wrangler.jsonc.pnpm db:migrate:remote.pnpm exec wrangler secret put ADMIN_TOKEN, y el de lichess (una cuenta con un token de sólo study:read), pnpm exec wrangler secret put LICHESS_TOKEN.routes de wrangler.jsonc, site de astro.config.mjs, la URL de workers.dev de src/middleware.ts, la línea Sitemap: de public/robots.txt y las URL de scripts/humo.mjs y .github/workflows/vigilancia.yml.pnpm run deploy./api/admin/sync: la lista FIDE, info64 y las retransmisiones de lichess. Los parámetros, en CLAUDE.md.test/fixtures/) no llevan datos de personas reales: tienen la estructura de las fuentes, con nombres y FIDE ID inventados.GPL-3.0 o posterior, la misma que chessground, chessops y Stockfish.
src/assets/pieces/maple/, generadas por scripts/piezas.mjs): propias, con la licencia del proyecto.A mano (pnpm openings) |