{"id":20317563,"url":"https://github.com/sunsetmkt/blue-archive-spine","last_synced_at":"2025-04-13T03:19:48.478Z","repository":{"id":59394895,"uuid":"536939744","full_name":"SunsetMkt/blue-archive-spine","owner":"SunsetMkt","description":"Blue Archive Spine Viewer for Global \u0026 Japan versions, Demo: https://github.com/SunsetMkt/blue-archive-spine-production","archived":false,"fork":false,"pushed_at":"2024-08-09T08:38:56.000Z","size":523,"stargazers_count":71,"open_issues_count":1,"forks_count":46,"subscribers_count":2,"default_branch":"resourceless","last_synced_at":"2025-04-07T10:58:36.613Z","etag":null,"topics":["blue-archive","bluearchive","canvas","html","javascript","pixi","pixi-js","pixi-spine","spine","spine-animation","unity","unitypack","unitypy","web"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"respectZ/blue-archive-spine","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SunsetMkt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-15T08:48:11.000Z","updated_at":"2025-04-03T15:08:35.000Z","dependencies_parsed_at":"2024-12-16T18:34:55.740Z","dependency_job_id":"fd4a64c6-749a-46d2-9692-aa5d86951fd4","html_url":"https://github.com/SunsetMkt/blue-archive-spine","commit_stats":null,"previous_names":["sunsetmkt/blue-archive-spine","lwd-temp/blue-archive-spine"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SunsetMkt%2Fblue-archive-spine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SunsetMkt%2Fblue-archive-spine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SunsetMkt%2Fblue-archive-spine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SunsetMkt%2Fblue-archive-spine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SunsetMkt","download_url":"https://codeload.github.com/SunsetMkt/blue-archive-spine/tar.gz/refs/heads/resourceless","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248658235,"owners_count":21140906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blue-archive","bluearchive","canvas","html","javascript","pixi","pixi-js","pixi-spine","spine","spine-animation","unity","unitypack","unitypy","web"],"created_at":"2024-11-14T18:33:19.569Z","updated_at":"2025-04-13T03:19:48.455Z","avatar_url":"https://github.com/SunsetMkt.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# blue-archive-spine\nBased on [respectZ/blue-archive-spine](https://github.com/respectZ/blue-archive-spine)\n\nMove to https://github.com/lwd-temp/blue-archive-spine-jp\n\n**Blue Archive is a registered trademark of NAT GAMES Co., Ltd. This repo is not affiliated with NEXON Korea Corp. \u0026 NEXON GAMES Co., Ltd. All game resources are copyrighted to the respective owners.**\n\n## Quick Start\n* Use this template\n* Create `jp` and `global` branch from `resourceless`\n* Enable GitHub Actions, manually trigger `Update-Global` and `Update-JP` at any branch (they will find the right branch, no matter where you trigger them) to get the first update\n* `Update-Global` will run daily and fails when no update is available, `Update-JP` won't run automatically\n\n`Update-JP` Needs to be triggered manually since there isn't a solution to get the latest update json link automatically (maybe there is, but I'm not going to write it now). `ba_api` in `getModelsJapan.py` needs to be updated manually (through reverse engineering or network capture) when there is a new update.\n\n## About Japan version\nThe update json link is hard coded into the game OBB resources.\n\nWe can get `LatestClientVersion` from `https://prod-noticeindex.bluearchiveyostar.com/prod/index.json`, but how the random hash path (likes `r48_2q1alt6gvk5igdsj4hl2.json`) under `yostar-serverinfo.bluearchiveyostar.com` is generated?\n\nBA Japan (Yostar) does not have a certain resource path API. And their developers hard code the resource link for a version into the game OBB resources. The game only checks for `LatestClientVersion` to see if it's outdated and asks the user to update the game from Google Play to get the latest resource link.\n\nDoes this mean the user has to update the game from Google Play every month to get the latest monthly in-game activity? -- Yes, this is what's happening. (BA Japan releases an update at Google Play about every month, while BA Global updates about every three months)\n\nYou can extract `GameMainConfig` from game OBB and decrypt it. Check the key `ServerInfoDataUrl` in `GameMainConfig` to get the resource link.\n\n## About this repo\nThis repo is a fork of [respectZ/blue-archive-spine](https://github.com/respectZ/blue-archive-spine). Some contributors and I modified the code to make it work better.\n\n`blue-archive-spine` is a tool to download and view the character arts and animations (Memorial Lobby) of the game [Blue Archive](https://bluearchive.nexon.com/home).\n\nIt's recommneded to use GitHub Actions to download the resources automatically. If you want to download the resources manually, please refer to the original README. Attention: Do not open `index.html` locally, all resource must be served with an HTTP server.\n\n## License\nThis repo is based on the work of @respectZ and @LXY1226 . The original repo doesn't have a license, so I'm not sure if it can be used for any purpose.\n\n## Disclaimer\n**Blue Archive is a registered trademark of NAT GAMES Co., Ltd. This repo is not affiliated with NEXON Korea Corp. \u0026 NEXON GAMES Co., Ltd. All game resources are copyrighted to the respective owners.**\n\n## The following is the original README.\n\n*Please notice: some of the following information is outdated. Please refer to the Quick Start section above.*\n\nThis repo uses UnityPy (instead of unitypack in upstream) to extract files.\n\n-----\n\n# Informations\nFor viewing Blue Archive Spines.\n\nHave a look at [this branch](https://github.com/respectZ/blue-archive-spine/tree/resourceless) for resourceless.\n\n# Requirements\n- [decrunch](https://github.com/HearthSim/decrunch/)\n- [fsb5](https://github.com/HearthSim/python-fsb5)\n- [lz4](https://github.com/python-lz4/python-lz4)\n- [Pillow](https://python-pillow.org/)\n- [astc_decomp](https://github.com/K0lb3/astc_decomp/)\n- MSVC++ 14.0 Build Tools with Windows 10 SDK\n\n# Setup\n## Building UnityPack\n```\nsetup.py build\n```\n## Installing UnityPack\n```\nsetup.py install\n```\nor\n```\nsetup.py install --user\n```\n\n# Downloading Models\n```\npy/getModels.py\n```\nDownloaded Models located at ./downloaded_resource\n\nAssets (Spine and Audio) located at ./assets\n\n# Generating JSON Data\n## data/audio.json\n```\npy/generateAudioJson.py\n```\nThis will download VOC_JP audio instead of playing it directly (cors issue ?)\n\nTo play audio directly from BA's server, change py/generateModelsJson.py\n```python\n_type = 1\n```\nto\n```python\n_type = 0\n```\n## data/models.json\n```\npy/generateModelsJson.py\n```\n## And you're done!\nJust launch index.html\n\n## Used Libraries\n- [pixi.js](https://pixijs.com/)\n- [pixi-spine](https://github.com/pixijs/spine)\n- [howler.js](https://howlerjs.com/)\n- [UIKit](https://getuikit.com/)\n\nBig Kudos for awesome [UnityPack](https://github.com/HearthSim/UnityPack)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsetmkt%2Fblue-archive-spine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunsetmkt%2Fblue-archive-spine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsetmkt%2Fblue-archive-spine/lists"}