@nekosuneprojects/gaming-infos 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/sync-api-cache.yml +3 -2
- package/CACHE_SYNC.md +84 -54
- package/CHANGELOG.md +34 -3
- package/README.md +210 -371
- package/data/.cache-manifest.json +112 -0
- package/data/arknightsendfield/characters/akekuri.json +75 -0
- package/data/arknightsendfield/characters/alesh.json +75 -0
- package/data/arknightsendfield/characters/antal.json +75 -0
- package/data/arknightsendfield/characters/arcane.json +75 -0
- package/data/arknightsendfield/characters/arclight.json +75 -0
- package/data/arknightsendfield/characters/ardelia.json +75 -0
- package/data/arknightsendfield/characters/avywenna.json +76 -0
- package/data/arknightsendfield/characters/camille.json +77 -0
- package/data/arknightsendfield/characters/catcher.json +76 -0
- package/data/arknightsendfield/characters/chenqianyu.json +76 -0
- package/data/arknightsendfield/characters/dapan.json +76 -0
- package/data/arknightsendfield/characters/ember.json +76 -0
- package/data/arknightsendfield/characters/endministrator.json +63 -0
- package/data/arknightsendfield/characters/estella.json +76 -0
- package/data/arknightsendfield/characters/fluorite.json +75 -0
- package/data/arknightsendfield/characters/gilberta.json +76 -0
- package/data/arknightsendfield/characters/laevatain.json +76 -0
- package/data/arknightsendfield/characters/lastrite.json +76 -0
- package/data/arknightsendfield/characters/lifeng.json +75 -0
- package/data/arknightsendfield/characters/liino.json +76 -0
- package/data/arknightsendfield/characters/mifu.json +75 -0
- package/data/arknightsendfield/characters/perlica.json +76 -0
- package/data/arknightsendfield/characters/pogranichnik.json +75 -0
- package/data/arknightsendfield/characters/purrchena.json +50 -0
- package/data/arknightsendfield/characters/rossi.json +77 -0
- package/data/arknightsendfield/characters/snowshine.json +75 -0
- package/data/arknightsendfield/characters/tangtang.json +76 -0
- package/data/arknightsendfield/characters/typhoeus.json +57 -0
- package/data/arknightsendfield/characters/wulfgard.json +77 -0
- package/data/arknightsendfield/characters/xaihi.json +76 -0
- package/data/arknightsendfield/characters/yvonne.json +76 -0
- package/data/arknightsendfield/characters/zhuangfangyi.json +76 -0
- package/data/fortnite/characters/agentjones.json +43 -0
- package/data/fortnite/characters/agentpeely.json +43 -0
- package/data/fortnite/characters/andyfangerson.json +42 -0
- package/data/fortnite/characters/antonia.json +43 -0
- package/data/fortnite/characters/anwar.json +44 -0
- package/data/fortnite/characters/aphrodite.json +43 -0
- package/data/fortnite/characters/apollo.json +36 -0
- package/data/fortnite/characters/arcticassassin.json +43 -0
- package/data/fortnite/characters/artemis.json +36 -0
- package/data/fortnite/characters/battlewoodboulevard.json +43 -0
- package/data/fortnite/characters/beastmode.json +45 -0
- package/data/fortnite/characters/bogstick.json +43 -0
- package/data/fortnite/characters/boxy.json +44 -0
- package/data/fortnite/characters/bravoleader.json +44 -0
- package/data/fortnite/characters/briteraider.json +43 -0
- package/data/fortnite/characters/brutalboxcars.json +46 -0
- package/data/fortnite/characters/bryne.json +44 -0
- package/data/fortnite/characters/buildersbarracks.json +38 -0
- package/data/fortnite/characters/bullshark.json +43 -0
- package/data/fortnite/characters/bumpybay.json +44 -0
- package/data/fortnite/characters/burd.json +44 -0
- package/data/fortnite/characters/burdemart.json +39 -0
- package/data/fortnite/characters/burdtogo.json +42 -0
- package/data/fortnite/characters/busansanctuary.json +39 -0
- package/data/fortnite/characters/calamaricanyon.json +41 -0
- package/data/fortnite/characters/canyoncrossing.json +45 -0
- package/data/fortnite/characters/captainjones.json +40 -0
- package/data/fortnite/characters/centurion.json +44 -0
- package/data/fortnite/characters/cerberus.json +43 -0
- package/data/fortnite/characters/charon.json +43 -0
- package/data/fortnite/characters/chiara.json +43 -0
- package/data/fortnite/characters/clara.json +43 -0
- package/data/fortnite/characters/classifiedcanyon.json +43 -0
- package/data/fortnite/characters/clawsylodge.json +41 -0
- package/data/fortnite/characters/cletuscornhole.json +43 -0
- package/data/fortnite/characters/contractgiller.json +44 -0
- package/data/fortnite/characters/corruptioncorners.json +42 -0
- package/data/fortnite/characters/countessdaraku.json +45 -0
- package/data/fortnite/characters/crackshotscabin.json +40 -0
- package/data/fortnite/characters/creepycamps.json +36 -0
- package/data/fortnite/characters/crimecity.json +47 -0
- package/data/fortnite/characters/dara.json +42 -0
- package/data/fortnite/characters/darkruby.json +43 -0
- package/data/fortnite/characters/demonsdojo.json +46 -0
- package/data/fortnite/characters/diamonddiva.json +43 -0
- package/data/fortnite/characters/donutdistrict.json +43 -0
- package/data/fortnite/characters/drakonsteelrider.json +43 -0
- package/data/fortnite/characters/dummy.json +45 -0
- package/data/fortnite/characters/edwardscissorhands.json +39 -0
- package/data/fortnite/characters/etheria.json +43 -0
- package/data/fortnite/characters/evergreenterrace.json +41 -0
- package/data/fortnite/characters/fishmarket.json +39 -0
- package/data/fortnite/characters/fishstick.json +45 -0
- package/data/fortnite/characters/fishthicc.json +43 -0
- package/data/fortnite/characters/fortressofsolitude.json +37 -0
- package/data/fortnite/characters/foxyfloodgate.json +43 -0
- package/data/fortnite/characters/freakyfields.json +38 -0
- package/data/fortnite/characters/goldengrove.json +41 -0
- package/data/fortnite/characters/graveheart.json +43 -0
- package/data/fortnite/characters/grievouscampsite.json +38 -0
- package/data/fortnite/characters/guardianamara.json +44 -0
- package/data/fortnite/characters/gwenpool.json +41 -0
- package/data/fortnite/characters/hanamuracourtyard.json +27 -0
- package/data/fortnite/characters/heartbreakranger.json +42 -0
- package/data/fortnite/characters/heatwaveharbor.json +41 -0
- package/data/fortnite/characters/heroichope.json +44 -0
- package/data/fortnite/characters/hope.json +43 -0
- package/data/fortnite/characters/hopefulheights.json +46 -0
- package/data/fortnite/characters/humblehills.json +41 -0
- package/data/fortnite/characters/innovatorslone.json +43 -0
- package/data/fortnite/characters/insight.json +43 -0
- package/data/fortnite/characters/ironman.json +40 -0
- package/data/fortnite/characters/jittershock.json +44 -0
- package/data/fortnite/characters/joeycaliente.json +44 -0
- package/data/fortnite/characters/jonithescarlet.json +43 -0
- package/data/fortnite/characters/khabylame.json +40 -0
- package/data/fortnite/characters/khari.json +44 -0
- package/data/fortnite/characters/kitbash.json +44 -0
- package/data/fortnite/characters/kitesflight.json +41 -0
- package/data/fortnite/characters/knightmare.json +43 -0
- package/data/fortnite/characters/laguna.json +43 -0
- package/data/fortnite/characters/lakespringfield.json +35 -0
- package/data/fortnite/characters/lakespringfieldgasstation.json +39 -0
- package/data/fortnite/characters/lanallane.json +42 -0
- package/data/fortnite/characters/lattelanding.json +41 -0
- package/data/fortnite/characters/lavendra.json +44 -0
- package/data/fortnite/characters/leelah.json +45 -0
- package/data/fortnite/characters/liftylodge.json +42 -0
- package/data/fortnite/characters/lonewolflair.json +42 -0
- package/data/fortnite/characters/longshot.json +41 -0
- package/data/fortnite/characters/lostlake.json +44 -0
- package/data/fortnite/characters/loveranger.json +44 -0
- package/data/fortnite/characters/mae.json +43 -0
- package/data/fortnite/characters/magicmosses.json +42 -0
- package/data/fortnite/characters/maskedmeadows.json +48 -0
- package/data/fortnite/characters/mechateamshadow.json +44 -0
- package/data/fortnite/characters/medusa.json +43 -0
- package/data/fortnite/characters/meowscles.json +42 -0
- package/data/fortnite/characters/mephisto.json +41 -0
- package/data/fortnite/characters/metalmouth.json +44 -0
- package/data/fortnite/characters/mincemeat.json +43 -0
- package/data/fortnite/characters/munitionsexpert.json +42 -0
- package/data/fortnite/characters/myna.json +42 -0
- package/data/fortnite/characters/newsanctuary.json +43 -0
- package/data/fortnite/characters/nia.json +42 -0
- package/data/fortnite/characters/nightshiftforest.json +43 -0
- package/data/fortnite/characters/nisha.json +42 -0
- package/data/fortnite/characters/nolanchance.json +43 -0
- package/data/fortnite/characters/noorah.json +44 -0
- package/data/fortnite/characters/odyssey.json +43 -0
- package/data/fortnite/characters/openaironsen.json +40 -0
- package/data/fortnite/characters/oscar.json +42 -0
- package/data/fortnite/characters/outlawoasis.json +40 -0
- package/data/fortnite/characters/outpostenclave.json +27 -0
- package/data/fortnite/characters/oxrhq.json +37 -0
- package/data/fortnite/characters/paintedpalms.json +41 -0
- package/data/fortnite/characters/peabody.json +42 -0
- package/data/fortnite/characters/peelosopherbananocrates.json +43 -0
- package/data/fortnite/characters/peely.json +41 -0
- package/data/fortnite/characters/peelybone.json +43 -0
- package/data/fortnite/characters/persephone.json +42 -0
- package/data/fortnite/characters/phaedra.json +42 -0
- package/data/fortnite/characters/phantommeowscles.json +43 -0
- package/data/fortnite/characters/piperpace.json +43 -0
- package/data/fortnite/characters/poseidon.json +42 -0
- package/data/fortnite/characters/pumpedpower.json +40 -0
- package/data/fortnite/characters/pumpinpipes.json +39 -0
- package/data/fortnite/characters/pumpkinking.json +40 -0
- package/data/fortnite/characters/purradisemeowscles.json +43 -0
- package/data/fortnite/characters/rangersrest.json +36 -0
- package/data/fortnite/characters/rebeloutpost.json +37 -0
- package/data/fortnite/characters/renegadeshadow.json +44 -0
- package/data/fortnite/characters/resistancebase.json +27 -0
- package/data/fortnite/characters/rippedtides.json +43 -0
- package/data/fortnite/characters/rollingblossomsfarm.json +41 -0
- package/data/fortnite/characters/royalebomber.json +38 -0
- package/data/fortnite/characters/ruckus.json +42 -0
- package/data/fortnite/characters/rust.json +41 -0
- package/data/fortnite/characters/sakuracircle.json +36 -0
- package/data/fortnite/characters/sandystrip.json +44 -0
- package/data/fortnite/characters/saskia.json +45 -0
- package/data/fortnite/characters/seaportcity.json +48 -0
- package/data/fortnite/characters/shakensanctuary.json +42 -0
- package/data/fortnite/characters/shimmerdusk.json +41 -0
- package/data/fortnite/characters/shinyshafts.json +38 -0
- package/data/fortnite/characters/shogunssolitude.json +46 -0
- package/data/fortnite/characters/shuri.json +39 -0
- package/data/fortnite/characters/silashesk.json +42 -0
- package/data/fortnite/characters/slurproom.json +40 -0
- package/data/fortnite/characters/snowheart.json +44 -0
- package/data/fortnite/characters/snowstriker.json +43 -0
- package/data/fortnite/characters/solidsnake.json +39 -0
- package/data/fortnite/characters/sonor.json +46 -0
- package/data/fortnite/characters/spartanassassin.json +43 -0
- package/data/fortnite/characters/spirithuntersaeko.json +41 -0
- package/data/fortnite/characters/springfieldnationalparkstore.json +38 -0
- package/data/fortnite/characters/springfieldnuclearpowerplant.json +39 -0
- package/data/fortnite/characters/springfieldslurpworks.json +40 -0
- package/data/fortnite/characters/squibblyshores.json +42 -0
- package/data/fortnite/characters/squibblyspointlighthouse.json +37 -0
- package/data/fortnite/characters/starroakley.json +45 -0
- package/data/fortnite/characters/steelsight.json +43 -0
- package/data/fortnite/characters/sticks.json +35 -0
- package/data/fortnite/characters/sunkenshores.json +42 -0
- package/data/fortnite/characters/sunstrider.json +42 -0
- package/data/fortnite/characters/suntanspecialist.json +43 -0
- package/data/fortnite/characters/supernovaacademy.json +27 -0
- package/data/fortnite/characters/t60powerarmor.json +39 -0
- package/data/fortnite/characters/thebattlewoods.json +44 -0
- package/data/fortnite/characters/thegreatturtle.json +37 -0
- package/data/fortnite/characters/theoperator.json +42 -0
- package/data/fortnite/characters/thequackaway.json +39 -0
- package/data/fortnite/characters/thestabilizer.json +38 -0
- package/data/fortnite/characters/theunderwriter.json +36 -0
- package/data/fortnite/characters/toyboxdocks.json +40 -0
- package/data/fortnite/characters/trace.json +43 -0
- package/data/fortnite/characters/triagetrooper.json +43 -0
- package/data/fortnite/characters/triggerfish.json +44 -0
- package/data/fortnite/characters/trogscave.json +38 -0
- package/data/fortnite/characters/utopiacity.json +27 -0
- package/data/fortnite/characters/vengeancejones.json +42 -0
- package/data/fortnite/characters/victoriasaint.json +43 -0
- package/data/fortnite/characters/vineyshafts.json +35 -0
- package/data/fortnite/characters/volpez.json +41 -0
- package/data/fortnite/characters/warmachine.json +40 -0
- package/data/fortnite/characters/wastelandermagneto.json +40 -0
- package/data/fortnite/characters/wonkeeland.json +41 -0
- package/data/game-codes/.cache-manifest.json +148 -0
- package/data/game-codes/directory.json +1196 -0
- package/data/game-codes/games/arknights-endfield.json +958 -0
- package/data/game-codes/games/borderlands-1.json +414 -0
- package/data/game-codes/games/borderlands-2.json +340 -0
- package/data/game-codes/games/borderlands-3.json +1025 -0
- package/data/game-codes/games/borderlands-4.json +3128 -0
- package/data/game-codes/games/borderlands-the-pre-sequel.json +599 -0
- package/data/game-codes/games/brawl-stars.json +4766 -0
- package/data/game-codes/games/clash-of-clans.json +4766 -0
- package/data/game-codes/games/clash-royale.json +5 -0
- package/data/game-codes/games/cookie-run-kingdom.json +5366 -0
- package/data/game-codes/games/fortnite.json +897 -0
- package/data/game-codes/games/genshin-impact.json +8520 -0
- package/data/game-codes/games/honkai-impact-3rd.json +405 -0
- package/data/game-codes/games/honkai-star-rail.json +9863 -0
- package/data/game-codes/games/neverness-to-everness.json +1695 -0
- package/data/game-codes/games/roblox-doors.json +1842 -0
- package/data/game-codes/games/roblox-rivals.json +2919 -0
- package/data/game-codes/games/tower-of-fantasy.json +2839 -0
- package/data/game-codes/games/warframe.json +20824 -0
- package/data/game-codes/games/wuthering-waves.json +2477 -0
- package/data/game-codes/games/zenless-zone-zero.json +3681 -0
- package/data/game-codes/status.json +580 -0
- package/data/genshinimpact/characters/aino.json +34 -0
- package/data/genshinimpact/characters/albedo.json +10 -9
- package/data/genshinimpact/characters/alhaitham.json +11 -10
- package/data/genshinimpact/characters/aloy.json +10 -9
- package/data/genshinimpact/characters/alyosha.json +34 -0
- package/data/genshinimpact/characters/amber.json +11 -10
- package/data/genshinimpact/characters/aratakiitto.json +11 -10
- package/data/genshinimpact/characters/arlecchino.json +11 -10
- package/data/genshinimpact/characters/baizhu.json +11 -10
- package/data/genshinimpact/characters/barbara.json +10 -9
- package/data/genshinimpact/characters/beidou.json +11 -10
- package/data/genshinimpact/characters/bennett.json +10 -9
- package/data/genshinimpact/characters/candace.json +11 -10
- package/data/genshinimpact/characters/charlotte.json +10 -9
- package/data/genshinimpact/characters/chasca.json +10 -9
- package/data/genshinimpact/characters/chevreuse.json +10 -9
- package/data/genshinimpact/characters/chiori.json +10 -9
- package/data/genshinimpact/characters/chongyun.json +11 -10
- package/data/genshinimpact/characters/citlali.json +10 -9
- package/data/genshinimpact/characters/clorinde.json +10 -9
- package/data/genshinimpact/characters/collei.json +11 -10
- package/data/genshinimpact/characters/columbina.json +34 -0
- package/data/genshinimpact/characters/cyno.json +11 -10
- package/data/genshinimpact/characters/dahlia.json +9 -8
- package/data/genshinimpact/characters/dehya.json +10 -9
- package/data/genshinimpact/characters/diluc.json +10 -9
- package/data/genshinimpact/characters/diona.json +10 -9
- package/data/genshinimpact/characters/dori.json +10 -9
- package/data/genshinimpact/characters/durin.json +10 -9
- package/data/genshinimpact/characters/emilie.json +10 -9
- package/data/genshinimpact/characters/escoffier.json +11 -10
- package/data/genshinimpact/characters/eula.json +10 -9
- package/data/genshinimpact/characters/faruzan.json +11 -10
- package/data/genshinimpact/characters/fischl.json +11 -10
- package/data/genshinimpact/characters/flins.json +34 -0
- package/data/genshinimpact/characters/freminet.json +10 -9
- package/data/genshinimpact/characters/furina.json +11 -10
- package/data/genshinimpact/characters/gaming.json +10 -9
- package/data/genshinimpact/characters/ganyu.json +10 -9
- package/data/genshinimpact/characters/gorou.json +11 -10
- package/data/genshinimpact/characters/hutao.json +11 -10
- package/data/genshinimpact/characters/iansan.json +10 -9
- package/data/genshinimpact/characters/ifa.json +34 -0
- package/data/genshinimpact/characters/illuga.json +34 -0
- package/data/genshinimpact/characters/ineffa.json +10 -9
- package/data/genshinimpact/characters/jahoda.json +34 -0
- package/data/genshinimpact/characters/jean.json +10 -9
- package/data/genshinimpact/characters/kachina.json +10 -9
- package/data/genshinimpact/characters/kaedeharakazuha.json +11 -10
- package/data/genshinimpact/characters/kaeya.json +10 -9
- package/data/genshinimpact/characters/kamisatoayaka.json +10 -9
- package/data/genshinimpact/characters/kamisatoayato.json +10 -9
- package/data/genshinimpact/characters/kaveh.json +11 -10
- package/data/genshinimpact/characters/keqing.json +10 -9
- package/data/genshinimpact/characters/kinich.json +10 -9
- package/data/genshinimpact/characters/kirara.json +10 -9
- package/data/genshinimpact/characters/klee.json +10 -9
- package/data/genshinimpact/characters/kujousara.json +10 -9
- package/data/genshinimpact/characters/kukishinobu.json +11 -10
- package/data/genshinimpact/characters/lanyan.json +10 -9
- package/data/genshinimpact/characters/lauma.json +34 -0
- package/data/genshinimpact/characters/layla.json +10 -9
- package/data/genshinimpact/characters/linnea.json +34 -0
- package/data/genshinimpact/characters/lisa.json +11 -10
- package/data/genshinimpact/characters/lohen.json +10 -9
- package/data/genshinimpact/characters/lynette.json +10 -9
- package/data/genshinimpact/characters/lyney.json +10 -9
- package/data/genshinimpact/characters/mavuika.json +10 -9
- package/data/genshinimpact/characters/mika.json +34 -0
- package/data/genshinimpact/characters/mikaschmidt.json +10 -9
- package/data/genshinimpact/characters/mona.json +11 -10
- package/data/genshinimpact/characters/mualani.json +10 -9
- package/data/genshinimpact/characters/nahida.json +11 -10
- package/data/genshinimpact/characters/navia.json +10 -9
- package/data/genshinimpact/characters/nefer.json +34 -0
- package/data/genshinimpact/characters/neuvillette.json +10 -9
- package/data/genshinimpact/characters/nicole.json +34 -0
- package/data/genshinimpact/characters/nilou.json +10 -9
- package/data/genshinimpact/characters/ningguang.json +10 -9
- package/data/genshinimpact/characters/noelle.json +11 -10
- package/data/genshinimpact/characters/odette.json +34 -0
- package/data/genshinimpact/characters/ororon.json +10 -9
- package/data/genshinimpact/characters/prune.json +9 -8
- package/data/genshinimpact/characters/qiqi.json +11 -10
- package/data/genshinimpact/characters/raidenshogun.json +11 -10
- package/data/genshinimpact/characters/razor.json +10 -9
- package/data/genshinimpact/characters/rosaria.json +11 -10
- package/data/genshinimpact/characters/sandrone.json +34 -0
- package/data/genshinimpact/characters/sangonomiyakokomi.json +11 -10
- package/data/genshinimpact/characters/sayu.json +10 -9
- package/data/genshinimpact/characters/sethos.json +10 -9
- package/data/genshinimpact/characters/shenhe.json +11 -10
- package/data/genshinimpact/characters/shikanoinheizou.json +11 -10
- package/data/genshinimpact/characters/sigewinne.json +10 -9
- package/data/genshinimpact/characters/skirk.json +10 -9
- package/data/genshinimpact/characters/sucrose.json +11 -10
- package/data/genshinimpact/characters/tartaglia.json +34 -0
- package/data/genshinimpact/characters/thoma.json +10 -9
- package/data/genshinimpact/characters/tighnari.json +11 -10
- package/data/genshinimpact/characters/traveler.json +34 -0
- package/data/genshinimpact/characters/varesa.json +10 -9
- package/data/genshinimpact/characters/varka.json +9 -8
- package/data/genshinimpact/characters/venti.json +11 -10
- package/data/genshinimpact/characters/wanderer.json +10 -9
- package/data/genshinimpact/characters/wonderlandmanekin.json +34 -0
- package/data/genshinimpact/characters/wriothesley.json +11 -10
- package/data/genshinimpact/characters/xiangling.json +11 -10
- package/data/genshinimpact/characters/xianyun.json +10 -9
- package/data/genshinimpact/characters/xiao.json +10 -9
- package/data/genshinimpact/characters/xilonen.json +10 -9
- package/data/genshinimpact/characters/xingqiu.json +11 -10
- package/data/genshinimpact/characters/xinyan.json +11 -10
- package/data/genshinimpact/characters/yaemiko.json +11 -10
- package/data/genshinimpact/characters/yanfei.json +11 -10
- package/data/genshinimpact/characters/yaoyao.json +11 -10
- package/data/genshinimpact/characters/yelan.json +10 -9
- package/data/genshinimpact/characters/yoimiya.json +11 -10
- package/data/genshinimpact/characters/yumemizukimizuki.json +10 -9
- package/data/genshinimpact/characters/yunjin.json +10 -9
- package/data/genshinimpact/characters/zhongli.json +10 -9
- package/data/genshinimpact/characters/zibai.json +10 -9
- package/data/genshinimpact/meta.json +12 -12
- package/data/honkaistarrail/characters/acheron.json +11 -10
- package/data/honkaistarrail/characters/aglaea.json +11 -10
- package/data/honkaistarrail/characters/anaxa.json +11 -10
- package/data/honkaistarrail/characters/archer.json +29 -0
- package/data/honkaistarrail/characters/argenti.json +11 -10
- package/data/honkaistarrail/characters/arlan.json +11 -10
- package/data/honkaistarrail/characters/ashveil.json +11 -10
- package/data/honkaistarrail/characters/asta.json +11 -10
- package/data/honkaistarrail/characters/aventurine.json +11 -10
- package/data/honkaistarrail/characters/bailu.json +11 -10
- package/data/honkaistarrail/characters/blackswan.json +11 -10
- package/data/honkaistarrail/characters/blade.json +11 -10
- package/data/honkaistarrail/characters/boothill.json +11 -10
- package/data/honkaistarrail/characters/bronya.json +11 -10
- package/data/honkaistarrail/characters/castorice.json +11 -10
- package/data/honkaistarrail/characters/cerydra.json +11 -10
- package/data/honkaistarrail/characters/cipher.json +11 -10
- package/data/honkaistarrail/characters/clara.json +11 -10
- package/data/honkaistarrail/characters/constance.json +11 -10
- package/data/honkaistarrail/characters/cyrene.json +11 -10
- package/data/honkaistarrail/characters/danheng.json +11 -10
- package/data/honkaistarrail/characters/danhengimbibitorlunae.json +29 -0
- package/data/honkaistarrail/characters/danhengpermansorterrae.json +29 -0
- package/data/honkaistarrail/characters/drratio.json +11 -10
- package/data/honkaistarrail/characters/evanescia.json +29 -0
- package/data/honkaistarrail/characters/evernight.json +29 -0
- package/data/honkaistarrail/characters/feixiao.json +11 -10
- package/data/honkaistarrail/characters/firefly.json +11 -10
- package/data/honkaistarrail/characters/fugue.json +29 -0
- package/data/honkaistarrail/characters/fuxuan.json +11 -10
- package/data/honkaistarrail/characters/gallagher.json +11 -10
- package/data/honkaistarrail/characters/gepard.json +11 -10
- package/data/honkaistarrail/characters/gilgamesh.json +29 -0
- package/data/honkaistarrail/characters/guinaifen.json +11 -10
- package/data/honkaistarrail/characters/hanya.json +11 -10
- package/data/honkaistarrail/characters/herta.json +11 -10
- package/data/honkaistarrail/characters/himeko.json +12 -11
- package/data/honkaistarrail/characters/himekonova.json +29 -0
- package/data/honkaistarrail/characters/hook.json +11 -10
- package/data/honkaistarrail/characters/huohuo.json +11 -10
- package/data/honkaistarrail/characters/hyacine.json +11 -10
- package/data/honkaistarrail/characters/hysilens.json +11 -10
- package/data/honkaistarrail/characters/jade.json +11 -10
- package/data/honkaistarrail/characters/jiaoqiu.json +11 -10
- package/data/honkaistarrail/characters/jingliu.json +11 -10
- package/data/honkaistarrail/characters/jingyuan.json +11 -10
- package/data/honkaistarrail/characters/kafka.json +11 -10
- package/data/honkaistarrail/characters/lingsha.json +11 -10
- package/data/honkaistarrail/characters/lisushang.json +11 -10
- package/data/honkaistarrail/characters/luka.json +11 -10
- package/data/honkaistarrail/characters/luocha.json +11 -10
- package/data/honkaistarrail/characters/lynx.json +11 -10
- package/data/honkaistarrail/characters/march7th.json +11 -10
- package/data/honkaistarrail/characters/misha.json +11 -10
- package/data/honkaistarrail/characters/mortenaxblade.json +29 -0
- package/data/honkaistarrail/characters/moze.json +11 -10
- package/data/honkaistarrail/characters/mydei.json +11 -10
- package/data/honkaistarrail/characters/natasha.json +11 -10
- package/data/honkaistarrail/characters/pela.json +11 -10
- package/data/honkaistarrail/characters/phainon.json +11 -10
- package/data/honkaistarrail/characters/qingque.json +11 -10
- package/data/honkaistarrail/characters/rappa.json +11 -10
- package/data/honkaistarrail/characters/rintohsaka.json +29 -0
- package/data/honkaistarrail/characters/robin.json +11 -10
- package/data/honkaistarrail/characters/ruanmei.json +11 -10
- package/data/honkaistarrail/characters/saber.json +29 -0
- package/data/honkaistarrail/characters/sampo.json +11 -10
- package/data/honkaistarrail/characters/seele.json +11 -10
- package/data/honkaistarrail/characters/serval.json +11 -10
- package/data/honkaistarrail/characters/silverwolf.json +11 -10
- package/data/honkaistarrail/characters/silverwolflv999.json +29 -0
- package/data/honkaistarrail/characters/sparkle.json +11 -10
- package/data/honkaistarrail/characters/sparxie.json +29 -0
- package/data/honkaistarrail/characters/sunday.json +29 -0
- package/data/honkaistarrail/characters/thedahlia.json +29 -0
- package/data/honkaistarrail/characters/theherta.json +29 -0
- package/data/honkaistarrail/characters/tingyun.json +11 -10
- package/data/honkaistarrail/characters/topaz.json +11 -10
- package/data/honkaistarrail/characters/topaznumby.json +29 -0
- package/data/honkaistarrail/characters/trailblazer.json +29 -0
- package/data/honkaistarrail/characters/tribbie.json +11 -10
- package/data/honkaistarrail/characters/welt.json +29 -0
- package/data/honkaistarrail/characters/weltyang.json +11 -10
- package/data/honkaistarrail/characters/xueyi.json +11 -10
- package/data/honkaistarrail/characters/yanqing.json +11 -10
- package/data/honkaistarrail/characters/yaoguang.json +11 -10
- package/data/honkaistarrail/characters/yukong.json +11 -10
- package/data/honkaistarrail/characters/yunli.json +11 -10
- package/data/honkaistarrail/meta.json +12 -12
- package/data/nte/characters/adler.json +13 -12
- package/data/nte/characters/aurelia.json +13 -12
- package/data/nte/characters/baicang.json +13 -12
- package/data/nte/characters/chaos.json +13 -12
- package/data/nte/characters/chiz.json +13 -12
- package/data/nte/characters/daffodill.json +13 -12
- package/data/nte/characters/edgar.json +13 -12
- package/data/nte/characters/esperzero.json +13 -12
- package/data/nte/characters/fadia.json +13 -12
- package/data/nte/characters/haniel.json +13 -12
- package/data/nte/characters/hathor.json +13 -12
- package/data/nte/characters/hotori.json +13 -12
- package/data/nte/characters/iroi.json +13 -12
- package/data/nte/characters/jiuyuan.json +13 -12
- package/data/nte/characters/lacrimosa.json +13 -12
- package/data/nte/characters/mint.json +13 -12
- package/data/nte/characters/nanally.json +13 -12
- package/data/nte/characters/sakiri.json +13 -12
- package/data/nte/characters/shinku.json +13 -12
- package/data/nte/characters/skia.json +13 -12
- package/data/nte/characters/zankou.json +51 -0
- package/data/nte/meta.json +12 -12
- package/data/toweroffantasy/characters/alyss.json +27 -0
- package/data/toweroffantasy/characters/annabella.json +23 -0
- package/data/toweroffantasy/characters/asuka.json +23 -0
- package/data/toweroffantasy/characters/bailing.json +23 -0
- package/data/toweroffantasy/characters/brevey.json +23 -0
- package/data/toweroffantasy/characters/claudia.json +23 -0
- package/data/toweroffantasy/characters/cobaltb.json +23 -0
- package/data/toweroffantasy/characters/cocoritter.json +23 -0
- package/data/toweroffantasy/characters/crow.json +23 -0
- package/data/toweroffantasy/characters/echo.json +23 -0
- package/data/toweroffantasy/characters/ene.json +23 -0
- package/data/toweroffantasy/characters/feise.json +25 -0
- package/data/toweroffantasy/characters/fenrir.json +23 -0
- package/data/toweroffantasy/characters/fiona.json +25 -0
- package/data/toweroffantasy/characters/frigg.json +23 -0
- package/data/toweroffantasy/characters/gnonno.json +23 -0
- package/data/toweroffantasy/characters/hilda.json +23 -0
- package/data/toweroffantasy/characters/huang.json +25 -0
- package/data/toweroffantasy/characters/huma.json +25 -0
- package/data/toweroffantasy/characters/icarus.json +23 -0
- package/data/toweroffantasy/characters/jiyu.json +25 -0
- package/data/toweroffantasy/characters/king.json +23 -0
- package/data/toweroffantasy/characters/lan.json +25 -0
- package/data/toweroffantasy/characters/lin.json +23 -0
- package/data/toweroffantasy/characters/linghan.json +23 -0
- package/data/toweroffantasy/characters/liuhuo.json +23 -0
- package/data/toweroffantasy/characters/lyra.json +23 -0
- package/data/toweroffantasy/characters/meryl.json +23 -0
- package/data/toweroffantasy/characters/mingjing.json +27 -0
- package/data/toweroffantasy/characters/nanyin.json +25 -0
- package/data/toweroffantasy/characters/nemesis.json +25 -0
- package/data/toweroffantasy/characters/pepper.json +23 -0
- package/data/toweroffantasy/characters/plotti.json +25 -0
- package/data/toweroffantasy/characters/roslyn.json +23 -0
- package/data/toweroffantasy/characters/rubilia.json +25 -0
- package/data/toweroffantasy/characters/ruby.json +25 -0
- package/data/toweroffantasy/characters/sakifuwa.json +23 -0
- package/data/toweroffantasy/characters/samir.json +23 -0
- package/data/toweroffantasy/characters/shiro.json +25 -0
- package/data/toweroffantasy/characters/tianlang.json +25 -0
- package/data/toweroffantasy/characters/tsubasa.json +23 -0
- package/data/toweroffantasy/characters/umi.json +23 -0
- package/data/toweroffantasy/characters/yanmiao.json +25 -0
- package/data/toweroffantasy/characters/yanuo.json +23 -0
- package/data/toweroffantasy/characters/yulan.json +23 -0
- package/data/toweroffantasy/characters/zero.json +23 -0
- package/data/vrchat/groups/clubzodiac.json +2 -1
- package/data/vrchat/groups/dirtydancers.json +2 -1
- package/data/vrchat/groups/drumsynews.json +2 -1
- package/data/vrchat/groups/ebola20.json +2 -1
- package/data/vrchat/groups/internationaldancersassociation.json +2 -1
- package/data/vrchat/groups/kannagang.json +2 -1
- package/data/vrchat/groups/lolisquad.json +2 -1
- package/data/vrchat/groups/nekonightsnightclub.json +2 -1
- package/data/vrchat/groups/nekostudios.json +2 -1
- package/data/vrchat/groups/nekosunecommunity.json +2 -1
- package/data/vrchat/groups/voidclub.json +2 -1
- package/data/vrchat/groups/voltdanceclub.json +2 -1
- package/data/vrchat/groups/vrceventsgroup.json +2 -1
- package/data/vrchat/groups/vrchatcommunitydiscord.json +2 -1
- package/data/vrchat/meta.json +11 -11
- package/data/vrchat/players/alto.json +8 -7
- package/data/vrchat/players/arcadum.json +9 -8
- package/data/vrchat/players/chairhandler.json +8 -7
- package/data/vrchat/players/chipz.json +8 -7
- package/data/vrchat/players/hikarivr.json +10 -9
- package/data/vrchat/players/kimple.json +9 -8
- package/data/vrchat/players/linkzr.json +7 -6
- package/data/vrchat/players/nagzz21.json +8 -7
- package/data/vrchat/players/nebride.json +9 -8
- package/data/vrchat/players/nekosunevr.json +10 -9
- package/data/vrchat/players/pokelawls.json +8 -7
- package/data/vrchat/players/qwonk.json +7 -6
- package/data/vrchat/players/roflgator.json +9 -8
- package/data/vrchat/players/scifri.json +6 -5
- package/data/vrchat/players/sodapoppin.json +8 -7
- package/data/vrchat/players/woops.json +8 -7
- package/data/vrchat/players/zentreya.json +9 -8
- package/data/vrchat/worlds/ascensionacademy.json +6 -5
- package/data/vrchat/worlds/clubvgl.json +7 -6
- package/data/vrchat/worlds/fightfinder.json +7 -6
- package/data/vrchat/worlds/hangouthouse.json +6 -5
- package/data/vrchat/worlds/nekostudioshalloween.json +8 -7
- package/data/vrchat/worlds/nekostudiosnewyear.json +8 -7
- package/data/vrchat/worlds/nekostudiosxmas.json +8 -7
- package/data/vrchat/worlds/nekosunevranimations2023.json +8 -7
- package/data/vrchat/worlds/nekosunevranimations20232024.json +10 -0
- package/data/vrchat/worlds/nekosunevranimations2024.json +8 -7
- package/data/vrchat/worlds/nekosunevranimations2025.json +8 -7
- package/data/vrchat/worlds/rumhamsavatarworld.json +6 -5
- package/data/vrchat/worlds/smewsranch.json +6 -5
- package/data/vrchat/worlds/smewsroom.json +6 -5
- package/data/vrchat/worlds/sunsetbar.json +6 -5
- package/data/vrchat/worlds/theblackcat.json +9 -8
- package/data/vrchat/worlds/thegreatpug.json +7 -6
- package/data/vrchat/worlds/themidnightbar.json +6 -5
- package/data/vrchat/worlds/voidclub.json +6 -5
- package/data/vrchat/worlds/voltdanceclub.json +6 -5
- package/data/vrchat/worlds/vrchathome.json +7 -6
- package/data/vrchat/worlds/whatalegend.json +5 -4
- package/data/warframe/characters/amesha.json +226 -0
- package/data/warframe/characters/ash.json +1354 -0
- package/data/warframe/characters/ashprime.json +1994 -0
- package/data/warframe/characters/atlas.json +916 -0
- package/data/warframe/characters/atlasprime.json +1632 -0
- package/data/warframe/characters/banshee.json +1036 -0
- package/data/warframe/characters/bansheeprime.json +1750 -0
- package/data/warframe/characters/baruuk.json +555 -0
- package/data/warframe/characters/baruukprime.json +1298 -0
- package/data/warframe/characters/bonewidow.json +354 -0
- package/data/warframe/characters/caliban.json +434 -0
- package/data/warframe/characters/calibanprime.json +683 -0
- package/data/warframe/characters/chroma.json +1344 -0
- package/data/warframe/characters/chromaprime.json +1977 -0
- package/data/warframe/characters/citrine.json +220 -0
- package/data/warframe/characters/cyte09.json +218 -0
- package/data/warframe/characters/dagath.json +194 -0
- package/data/warframe/characters/dante.json +223 -0
- package/data/warframe/characters/elytron.json +300 -0
- package/data/warframe/characters/ember.json +1209 -0
- package/data/warframe/characters/emberprime.json +1678 -0
- package/data/warframe/characters/equinox.json +958 -0
- package/data/warframe/characters/equinoxprime.json +1644 -0
- package/data/warframe/characters/excalibur.json +1603 -0
- package/data/warframe/characters/excaliburprime.json +1524 -0
- package/data/warframe/characters/excaliburumbra.json +397 -0
- package/data/warframe/characters/follie.json +246 -0
- package/data/warframe/characters/frost.json +1330 -0
- package/data/warframe/characters/frostprime.json +1686 -0
- package/data/warframe/characters/gara.json +925 -0
- package/data/warframe/characters/garaprime.json +1494 -0
- package/data/warframe/characters/garuda.json +851 -0
- package/data/warframe/characters/garudaprime.json +1449 -0
- package/data/warframe/characters/gauss.json +506 -0
- package/data/warframe/characters/gaussprime.json +1077 -0
- package/data/warframe/characters/grendel.json +463 -0
- package/data/warframe/characters/grendelprime.json +772 -0
- package/data/warframe/characters/gyre.json +381 -0
- package/data/warframe/characters/gyreprime.json +403 -0
- package/data/warframe/characters/harrow.json +916 -0
- package/data/warframe/characters/harrowprime.json +1700 -0
- package/data/warframe/characters/helminth.json +220 -0
- package/data/warframe/characters/hildryn.json +627 -0
- package/data/warframe/characters/hildrynprime.json +996 -0
- package/data/warframe/characters/hydroid.json +1028 -0
- package/data/warframe/characters/hydroidprime.json +1621 -0
- package/data/warframe/characters/inaros.json +976 -0
- package/data/warframe/characters/inarosprime.json +1721 -0
- package/data/warframe/characters/itzal.json +465 -0
- package/data/warframe/characters/ivara.json +1349 -0
- package/data/warframe/characters/ivaraprime.json +1921 -0
- package/data/warframe/characters/jade.json +240 -0
- package/data/warframe/characters/khora.json +804 -0
- package/data/warframe/characters/khoraprime.json +1403 -0
- package/data/warframe/characters/koumei.json +221 -0
- package/data/warframe/characters/kullervo.json +191 -0
- package/data/warframe/characters/lavos.json +511 -0
- package/data/warframe/characters/lavosprime.json +711 -0
- package/data/warframe/characters/limbo.json +1363 -0
- package/data/warframe/characters/limboprime.json +2084 -0
- package/data/warframe/characters/loki.json +1209 -0
- package/data/warframe/characters/lokiprime.json +1457 -0
- package/data/warframe/characters/mag.json +2089 -0
- package/data/warframe/characters/magprime.json +2532 -0
- package/data/warframe/characters/mesa.json +1195 -0
- package/data/warframe/characters/mesaprime.json +2059 -0
- package/data/warframe/characters/mirage.json +1561 -0
- package/data/warframe/characters/mirageprime.json +2257 -0
- package/data/warframe/characters/nekros.json +1235 -0
- package/data/warframe/characters/nekrosprime.json +1882 -0
- package/data/warframe/characters/nezha.json +868 -0
- package/data/warframe/characters/nezhaprime.json +1695 -0
- package/data/warframe/characters/nidus.json +1027 -0
- package/data/warframe/characters/nidusprime.json +1706 -0
- package/data/warframe/characters/nokko.json +308 -0
- package/data/warframe/characters/nova.json +1226 -0
- package/data/warframe/characters/novaprime.json +1667 -0
- package/data/warframe/characters/nyx.json +1610 -0
- package/data/warframe/characters/nyxprime.json +1967 -0
- package/data/warframe/characters/oberon.json +1249 -0
- package/data/warframe/characters/oberonprime.json +1872 -0
- package/data/warframe/characters/octavia.json +1049 -0
- package/data/warframe/characters/octaviaprime.json +1735 -0
- package/data/warframe/characters/odonata.json +336 -0
- package/data/warframe/characters/odonataprime.json +787 -0
- package/data/warframe/characters/oraxia.json +246 -0
- package/data/warframe/characters/orionsirius.json +134 -0
- package/data/warframe/characters/protea.json +521 -0
- package/data/warframe/characters/proteaprime.json +992 -0
- package/data/warframe/characters/qorvex.json +214 -0
- package/data/warframe/characters/revenant.json +931 -0
- package/data/warframe/characters/revenantprime.json +1494 -0
- package/data/warframe/characters/rhino.json +1344 -0
- package/data/warframe/characters/rhinoprime.json +1675 -0
- package/data/warframe/characters/saryn.json +1210 -0
- package/data/warframe/characters/sarynprime.json +2042 -0
- package/data/warframe/characters/sevagoth.json +478 -0
- package/data/warframe/characters/sevagothprime.json +910 -0
- package/data/warframe/characters/siriusorion.json +247 -0
- package/data/warframe/characters/styanax.json +320 -0
- package/data/warframe/characters/styanaxprime.json +321 -0
- package/data/warframe/characters/temple.json +271 -0
- package/data/warframe/characters/titania.json +1227 -0
- package/data/warframe/characters/titaniaprime.json +2000 -0
- package/data/warframe/characters/trinity.json +1097 -0
- package/data/warframe/characters/trinityprime.json +1849 -0
- package/data/warframe/characters/uriel.json +215 -0
- package/data/warframe/characters/valkyr.json +1165 -0
- package/data/warframe/characters/valkyrprime.json +1969 -0
- package/data/warframe/characters/vauban.json +1067 -0
- package/data/warframe/characters/vaubanprime.json +1614 -0
- package/data/warframe/characters/voidrig.json +355 -0
- package/data/warframe/characters/volt.json +1324 -0
- package/data/warframe/characters/voltprime.json +1843 -0
- package/data/warframe/characters/voruna.json +293 -0
- package/data/warframe/characters/vorunaprime.json +431 -0
- package/data/warframe/characters/wisp.json +824 -0
- package/data/warframe/characters/wispprime.json +908 -0
- package/data/warframe/characters/wukong.json +927 -0
- package/data/warframe/characters/wukongprime.json +1754 -0
- package/data/warframe/characters/xaku.json +620 -0
- package/data/warframe/characters/xakuprime.json +879 -0
- package/data/warframe/characters/yareli.json +409 -0
- package/data/warframe/characters/yareliprime.json +683 -0
- package/data/warframe/characters/zephyr.json +1149 -0
- package/data/warframe/characters/zephyrprime.json +1864 -0
- package/gamecodes.js +30 -4
- package/index.js +5 -3
- package/package.json +15 -3
- package/scripts/cache-sync-smoke.js +50 -3
- package/scripts/game-code-cache-smoke.js +46 -6
- package/scripts/sync-api-cache.js +87 -38
- package/scripts/sync-game-code-cache.js +42 -3
- package/data/game-codes/.gitkeep +0 -0
- package/data/vrchat/avatars/.gitkeep +0 -0
|
@@ -3,8 +3,9 @@ name: Sync APINODE fallback caches
|
|
|
3
3
|
on:
|
|
4
4
|
workflow_dispatch:
|
|
5
5
|
schedule:
|
|
6
|
-
#
|
|
7
|
-
|
|
6
|
+
# Hourly change-watch at minute 23. The mirror hashes API content and only
|
|
7
|
+
# commits when APINODE actually added, changed, repaired or removed data.
|
|
8
|
+
- cron: "23 * * * *"
|
|
8
9
|
push:
|
|
9
10
|
branches:
|
|
10
11
|
- main
|
package/CACHE_SYNC.md
CHANGED
|
@@ -9,13 +9,36 @@ The repository keeps **two independent last-good fallback snapshots** synchroniz
|
|
|
9
9
|
|
|
10
10
|
## Schedule
|
|
11
11
|
|
|
12
|
-
The GitHub Action runs **
|
|
12
|
+
The GitHub Action runs an **hourly APINODE change-watch at minute 23** and can also be started manually with `workflow_dispatch`.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
The mirror uses full content hashes, so an hourly check with no stable API data changes creates **no commit**. If APINODE adds, updates, repairs, moves, or removes a game-info file or game-code record, the next successful hourly pass mirrors that change into this repository.
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Gaming Infos dataset discovery
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
Gaming Infos cache schema 2 no longer depends only on a hard-coded game manifest.
|
|
19
|
+
|
|
20
|
+
The mirror first requests:
|
|
21
|
+
|
|
22
|
+
```http
|
|
23
|
+
GET /v5/games/api/gaming-infos
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Modern APINODE responses expose each game's stable `slug` and dataset `types`, for example:
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"slug": "codblackops2",
|
|
31
|
+
"types": ["characters", "npcs", "maps"]
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The mirror merges those declarations into its safety/baseline manifest and then fetches every discovered game/type. This means the full Call of Duty catalog, and future public Gaming Infos games/types, can propagate into the repository without adding one hard-coded mirror entry per title.
|
|
36
|
+
|
|
37
|
+
The built-in baseline remains for compatibility with older APINODE deployments and can still be replaced explicitly with `GAMING_INFOS_CACHE_MANIFEST_JSON`.
|
|
38
|
+
|
|
39
|
+
Current important datasets include:
|
|
40
|
+
|
|
41
|
+
| Game / family | API type(s) |
|
|
19
42
|
|---|---|
|
|
20
43
|
| VRChat | `players`, `groups`, `worlds`, `avatars` |
|
|
21
44
|
| Genshin Impact | `characters` |
|
|
@@ -23,14 +46,17 @@ It also runs when the cache implementation itself changes so a newly deployed ca
|
|
|
23
46
|
| Neverness to Everness | `characters` |
|
|
24
47
|
| Wuthering Waves | `characters` (Resonators) |
|
|
25
48
|
| Warframe | `characters` (Warframes) |
|
|
26
|
-
| Fortnite | `characters`
|
|
49
|
+
| Fortnite | `characters` = released Outfits/skins, `npcs` = Battle Royale NPCs, `maps` = Named Locations/maps |
|
|
50
|
+
| Call of Duty mainline | `characters`, `npcs`, `maps` per title, auto-discovered from APINODE |
|
|
27
51
|
| Zenless Zone Zero | `characters` (Agents) |
|
|
28
52
|
| Tower of Fantasy | `characters` (Simulacra) |
|
|
29
53
|
| Arknights: Endfield | `characters` (Operators) |
|
|
30
54
|
|
|
55
|
+
Call of Duty covers mainline slugs from `cod2003` through `codblackops7`, plus `codmodernwarfare4`. The 2026 MW4 dataset is restricted upstream to official Activision beta/public announcement information; the fallback never expands that policy by scraping separate unofficial data.
|
|
56
|
+
|
|
31
57
|
## Mirrored Game Codes endpoints
|
|
32
58
|
|
|
33
|
-
The
|
|
59
|
+
The hourly mirror also caches:
|
|
34
60
|
|
|
35
61
|
```text
|
|
36
62
|
GET /v5/games/api/codes
|
|
@@ -50,21 +76,7 @@ The per-game request uses `includeUnknown=true`, so the fallback contains all th
|
|
|
50
76
|
}
|
|
51
77
|
```
|
|
52
78
|
|
|
53
|
-
The
|
|
54
|
-
|
|
55
|
-
Game-code fallback layout:
|
|
56
|
-
|
|
57
|
-
```text
|
|
58
|
-
data/game-codes/
|
|
59
|
-
├── directory.json
|
|
60
|
-
├── status.json
|
|
61
|
-
├── .cache-manifest.json
|
|
62
|
-
└── games/
|
|
63
|
-
├── fortnite.json
|
|
64
|
-
├── warframe.json
|
|
65
|
-
├── genshin-impact.json
|
|
66
|
-
└── ...
|
|
67
|
-
```
|
|
79
|
+
The repository does not store ticking `expiresInSeconds` / `countdown` values as authoritative file changes. Those values are rehydrated from stable `expiresAt` dates when the package reads a local fallback, preventing pointless hourly commits.
|
|
68
80
|
|
|
69
81
|
## Atomic synchronization / deletion behavior
|
|
70
82
|
|
|
@@ -72,59 +84,78 @@ Each cache is authoritative only **after its complete API download succeeds**.
|
|
|
72
84
|
|
|
73
85
|
For Gaming Infos:
|
|
74
86
|
|
|
75
|
-
1. Temporarily preserve `data/game-codes/` outside the
|
|
76
|
-
2. Fetch the root
|
|
77
|
-
3.
|
|
78
|
-
4. Fetch every
|
|
79
|
-
5.
|
|
80
|
-
6.
|
|
81
|
-
7.
|
|
82
|
-
8.
|
|
87
|
+
1. Temporarily preserve `data/game-codes/` outside the Gaming Infos snapshot.
|
|
88
|
+
2. Fetch the root Gaming Infos endpoint.
|
|
89
|
+
3. Merge valid root `slug` + `types` declarations into the effective manifest.
|
|
90
|
+
4. Fetch every effective game's meta endpoint.
|
|
91
|
+
5. Fetch every discovered/configured type-list endpoint.
|
|
92
|
+
6. Validate every response and entity slug.
|
|
93
|
+
7. Build a completely separate temporary snapshot.
|
|
94
|
+
8. Atomically replace the Gaming Infos `data/` snapshot only after every required request succeeds.
|
|
95
|
+
9. Restore the previous Game Codes fallback before the code phase begins.
|
|
83
96
|
|
|
84
97
|
For Game Codes:
|
|
85
98
|
|
|
86
99
|
1. Fetch `/codes` and validate its game directory.
|
|
87
100
|
2. Fetch cache-only `/codes/status`.
|
|
88
101
|
3. Fetch every listed game's full `Active` / `Expired` / `Unknown` snapshot.
|
|
89
|
-
4.
|
|
90
|
-
5.
|
|
102
|
+
4. Normalize volatile request-time/countdown values.
|
|
103
|
+
5. Build a separate temporary `data/game-codes/` tree.
|
|
104
|
+
6. Only after every game succeeds, atomically replace the old Game Codes snapshot.
|
|
91
105
|
|
|
92
|
-
Because successful API snapshots are authoritative, **adds, changes and removals are mirrored**. If APINODE
|
|
106
|
+
Because successful API snapshots are authoritative, **adds, changes and removals are mirrored**. If APINODE moves an old Fortnite record between datasets, or removes/changes a Call of Duty entity, the next fully successful mirror reproduces that structure in the fallback.
|
|
93
107
|
|
|
94
108
|
If APINODE is down, times out, returns 429/5xx, or one required endpoint fails halfway through, that cache is **not replaced**. The previous last-good fallback remains available.
|
|
95
109
|
|
|
96
|
-
##
|
|
110
|
+
## APINODE synchronization / repair propagation
|
|
111
|
+
|
|
112
|
+
APINODE performs content synchronization and data-quality repair before this repository consumes the public API. That includes bad Game Code cleanup, image repair, Fortnite dataset separation, and the database-backed Call of Duty public-data sync.
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
APINODE source refresh / repair
|
|
116
|
+
↓
|
|
117
|
+
Gaming Infos + Game Codes API
|
|
118
|
+
↓
|
|
119
|
+
hourly GitHub change-watch
|
|
120
|
+
↓
|
|
121
|
+
repository data/ fallback
|
|
122
|
+
```
|
|
97
123
|
|
|
98
|
-
|
|
124
|
+
## Package API
|
|
99
125
|
|
|
100
126
|
```js
|
|
101
127
|
const info = require('@nekosuneprojects/gaming-infos');
|
|
102
128
|
|
|
103
|
-
|
|
129
|
+
// Fortnite
|
|
130
|
+
await info.List('fortnite', 'characters');
|
|
131
|
+
await info.List('fortnite', 'npcs');
|
|
132
|
+
await info.List('fortnite', 'maps');
|
|
133
|
+
|
|
134
|
+
// Call of Duty
|
|
135
|
+
await info.List('codblackops2', 'characters');
|
|
136
|
+
await info.List('codblackops2', 'npcs');
|
|
137
|
+
await info.List('codblackops2', 'maps');
|
|
138
|
+
await info.List('codmodernwarfare4', 'maps');
|
|
139
|
+
|
|
140
|
+
await info.Characters('codblackops2', 'character-slug');
|
|
141
|
+
await info.NPCs('codblackops2', 'npc-slug');
|
|
142
|
+
await info.Maps('codblackops2', 'map-slug');
|
|
143
|
+
|
|
144
|
+
// Other Gaming Infos
|
|
104
145
|
await info.List('vrchat', 'avatars');
|
|
105
146
|
await info.Characters('wutheringwaves', 'cartethyia');
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Game Codes helpers use live APINODE first and the daily fallback second:
|
|
109
147
|
|
|
110
|
-
|
|
111
|
-
await info.Codes();
|
|
112
|
-
await info.CodesStatus();
|
|
113
|
-
await info.GameCodes('fortnite'); // Active + Expired
|
|
148
|
+
// Game Codes
|
|
149
|
+
await info.Codes();
|
|
150
|
+
await info.CodesStatus();
|
|
114
151
|
await info.GameCodes('fortnite', { includeUnknown: true });
|
|
115
152
|
await info.GameCode('fortnite', 'NEKOSUNEVR');
|
|
116
|
-
await info.CodeCacheInfo();
|
|
117
153
|
```
|
|
118
154
|
|
|
119
|
-
Per-game fallback filtering is supported for `category` and `claimType` as well.
|
|
120
|
-
|
|
121
155
|
## Commands
|
|
122
156
|
|
|
123
157
|
```bash
|
|
124
|
-
# Test both atomic cache systems
|
|
125
158
|
npm run test:all-cache
|
|
126
|
-
|
|
127
|
-
# Mirror both Gaming Infos and Game Codes
|
|
128
159
|
npm run sync:cache
|
|
129
160
|
|
|
130
161
|
# Debug individually
|
|
@@ -147,15 +178,16 @@ Useful variables:
|
|
|
147
178
|
| `GAMING_INFOS_API_BASE` | `https://api.nekosunevr.co.uk` | APINODE host used by both caches |
|
|
148
179
|
| `GAMING_INFOS_API_PATH` | `/v5/games/api/gaming-infos` | Gaming Infos path |
|
|
149
180
|
| `GAME_CODES_API_PATH` | `/v5/games/api/codes` | Game Codes path |
|
|
181
|
+
| `GAMING_INFOS_CACHE_MANIFEST_JSON` | baseline + root discovery | Optional explicit baseline manifest |
|
|
150
182
|
| `GAMING_INFOS_CACHE_TIMEOUT_MS` | `15000` | Gaming Infos per-request timeout |
|
|
151
183
|
| `GAMING_INFOS_CACHE_RETRIES` | `2` | Gaming Infos retry count |
|
|
152
|
-
| `GAME_CODES_CACHE_TIMEOUT_MS` | `15000` | Game Codes
|
|
184
|
+
| `GAME_CODES_CACHE_TIMEOUT_MS` | `15000` | Game Codes sync request timeout |
|
|
153
185
|
| `GAME_CODES_CACHE_RETRIES` | `2` | Game Codes retry count |
|
|
154
186
|
| `GAME_CODES_CACHE_GAME_DELAY_MS` | `150` | Small delay between game-list requests |
|
|
155
187
|
|
|
156
188
|
## Runtime fallback behavior
|
|
157
189
|
|
|
158
|
-
The package
|
|
190
|
+
The package remains API-first:
|
|
159
191
|
|
|
160
192
|
```text
|
|
161
193
|
application
|
|
@@ -165,8 +197,6 @@ live APINODE
|
|
|
165
197
|
└─ unavailable/error → last-good bundled fallback
|
|
166
198
|
```
|
|
167
199
|
|
|
168
|
-
A successful changed Gaming Infos snapshot records `data/.cache-manifest.json
|
|
169
|
-
|
|
170
|
-
The hash comparison ignores manifest timestamps, so an unchanged API dataset does not create a pointless daily commit.
|
|
200
|
+
A successful changed Gaming Infos snapshot records `data/.cache-manifest.json` with schema version 2, its effective game/type manifest, content hash, counts and add/change/remove statistics. Game Codes records `data/game-codes/.cache-manifest.json` separately. The hash comparison ignores manifest timestamps and other explicitly volatile values.
|
|
171
201
|
|
|
172
|
-
Note: npm releases are immutable. Repository fallback files update
|
|
202
|
+
Note: npm releases are immutable. Repository fallback files update automatically, but an already-installed npm version keeps the snapshot bundled with that release until upgraded. Live API reads still remain current whenever APINODE is available.
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## Unreleased
|
|
9
9
|
|
|
10
|
+
## 2.4.0 - 2026-08-24
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Added mainline Call of Duty Gaming Infos coverage from `cod2003` (Call of Duty 2003) through `codblackops7`, plus `codmodernwarfare4` for official 2026 beta/public announcement data.
|
|
14
|
+
- Added per-title Call of Duty `characters`, `npcs`, and `maps` datasets. `characters` is intended for playable/main characters, protagonists, Operators and Specialists; `npcs` contains other campaign/game character records; `maps` contains public multiplayer/Zombies/Warzone/map/mission records.
|
|
15
|
+
- Added Call of Duty examples and the complete supported slug list to `README.md`.
|
|
16
|
+
- Added mirror smoke coverage for APINODE root `slug`/`types` auto-discovery.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- Gaming Infos fallback synchronization now auto-discovers games and dataset types from APINODE's root response instead of requiring every new game/type to be hard-coded into the package mirror.
|
|
20
|
+
- Gaming Infos cache manifests now use schema version 2 and record that dataset types were auto-discovered.
|
|
21
|
+
- Updated package metadata and keywords for Call of Duty, Modern Warfare, Black Ops, characters, NPCs and maps.
|
|
22
|
+
- Bumped the package source version to `2.4.0`.
|
|
23
|
+
|
|
24
|
+
### Data policy
|
|
25
|
+
- Historical Call of Duty data is limited to public released-game sources. Cut, unused, cancelled, unofficial unreleased, non-canon, prototype/concept and image-only categories are excluded.
|
|
26
|
+
- Modern Warfare 4 data is limited to official Activision beta/public announcement information while the title is pre-release; leaks/datamines are not mirrored.
|
|
27
|
+
|
|
28
|
+
## 2.3.0 - 2026-08-24
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
- Added `NPCs(game, name)` and `Maps(game, name)` helpers.
|
|
32
|
+
- Added dedicated Fortnite `npcs` and `maps` datasets alongside `characters`.
|
|
33
|
+
- Fortnite `characters` now means released Outfit/skin records rather than Battle Royale NPCs.
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
- The fallback mirror now fetches `fortnite/characters`, `fortnite/npcs`, and `fortnite/maps` independently from APINODE.
|
|
37
|
+
- The repository APINODE change-watch runs hourly and only commits real content changes.
|
|
38
|
+
- Volatile Game Code countdown fields are excluded from fallback hashes and are rehydrated from `expiresAt` when the local fallback is read.
|
|
39
|
+
- Updated package metadata for Fortnite skins, NPCs, and maps.
|
|
40
|
+
|
|
10
41
|
## 2.2.0 - 2026-08-24
|
|
11
42
|
|
|
12
43
|
### Added
|
|
@@ -22,12 +53,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
22
53
|
|
|
23
54
|
### Changed
|
|
24
55
|
- `npm run sync:cache` now mirrors both Gaming Infos and Game Codes.
|
|
25
|
-
- The automatic cache workflow
|
|
56
|
+
- The automatic cache workflow was changed to a daily schedule in this release and was subsequently upgraded to an hourly change-watch in 2.3.0.
|
|
26
57
|
- Gaming Infos and Game Codes are mirrored as independent atomic snapshots so a failure in one cache cannot destroy the other cache's last-good data.
|
|
27
|
-
- Successful mirror runs
|
|
58
|
+
- Successful mirror runs synchronize additions, updates, and removals from APINODE while failed or partial runs preserve the previous fallback snapshot.
|
|
28
59
|
- Local fallback entities expose stable slugs so offline lookups match live API behavior more closely.
|
|
29
60
|
- Expanded the package description and keywords for the new games, VRChat avatars, and redeem/creator-code support.
|
|
30
|
-
- Reworked `README.md` to document the full supported-game matrix, API-first fallback behavior, Game Codes API helpers,
|
|
61
|
+
- Reworked `README.md` to document the full supported-game matrix, API-first fallback behavior, Game Codes API helpers, sync workflow, cache commands, configuration, and examples.
|
|
31
62
|
|
|
32
63
|
## 2.1.0 - 2026-08-02
|
|
33
64
|
|