CollapseLauncher / Collapse

An Advanced Launcher for miHoYo/HoYoverse Games
MIT License
1.37k stars 63 forks source link

[Request]: Support Bilibili "region" client #279

Closed LaoshuBaby closed 1 month ago

LaoshuBaby commented 1 year ago

Is your request related to a problem?

No

How is the feature request related to the problem?

No response

Describe your proposed solution

图片 Add a bilibili region below those two.

Describe alternatives you've considered

Bilibili cooperates with mihoyo and has two servers in mainland China, "Celestia"(天空岛) and "Irminsul"(世界树). Bilibili is a danmaku video website, like a mixture of niconico in Japan and Youtube in the world.

https://genshin-impact.fandom.com/wiki/UID#Format

Among them, "Irminsul" is logged in using a bilibili account, not a mihoyo account. It has its own dedicated client, which is different from the one downloaded from the mihoyo official website in mainland China. Therefore it is often called bilibili version or "B服"

I've searched "BiliBili" or "B服" as keywords and found no issues related.

https://www.biligame.com/detail/?id=105667

Its client can be downloaded by clicking the blue button "下载"

(This require a bilibili account, I can help with this, you can email to me: laoshubaby@protonmail.com )

图片

For some players, they have both Bilibili accounts and mihoyo accounts (aka official servers, "官服"), but the current collapse does not allow them to quickly switch between the two versions of the client (despite dozens of GB of game material files are consistent)

Additional context

It seems that this is a distant future feature. Although this issue is opened, I have no expectations whether it can be realized. If the maintainer has no interest of supporting this version of the client, just close this issue

Thank you φ(゜▽゜*)♪

Cryotechnic commented 1 year ago

Hi there, just letting you know that, as you've said, this is a feature that may be implemented in the future. That being said, we need to investigate whether or not this is compatible with our current launcher architecture. One of the maintainers will be in touch via e-mail.

Again, would like to re-iterate that the implementation of new regions is going to take some time, so don't expect it to be released in the 1.72 lifecycle. That being said, we'll do our best to provide an accurate answer regarding the implementation whenever possible. Thanks for opening this issue!

sino1641 commented 1 year ago

Hi @Cryotechnic , The biligame(China) channel download link of GI is as follows: GET https://line1-h5-pc-api.biligame.com/game/detail/gameinfo?game_base_id=105667 Refer to pc_download_link and pc_download_link2 One more thing, download link for HSR is https://line1-h5-pc-api.biligame.com/game/detail/gameinfo?game_base_id=108586 But there is no need for HI3. Hope my info could reduce your effort on it.

LaoshuBaby commented 1 year ago

One of the maintainers will be in touch via e-mail.

Sorry for my late response, I've replyed that email. Thank you all for hard work on Collapse.

One more thing, download link for HSR is https://line1-h5-pc-api.biligame.com/game/detail/gameinfo?game_base_id=108586

Shocking! I always thought that HSR did not have a PC version, and the official website only provided a download method for the mobile version. https://www.biligame.com/detail/?id=107800 Sorry, I wrong take the mobile version

图片

bagusnl commented 1 year ago

Hi, I have made the new metadatav2 json file here. Replace the files inside Collapse App Data Folder (go to Settings>Open App Data Folder), inside the _metadata folder.

Download the file here https://paste.bagelnl.my.id/pasta/mouse-goat-bison UPDATED LINK BELOW

Just make sure that since this have yet to be uploaded to the main metadata CDN, it will get replaced on next metadata update. If the Bilibili option suddenly missing, hit me up here.

The complete support for bilibili client might take awhile as it needs more ironing out to support the repair function and stuff so it will require an update to the Collapse client itself

EDIT: added HSR support too here https://paste.bagelnl.my.id/pasta/bear-fly-worm

EDIT: forgot the experimental flag :) https://paste.bagelnl.my.id/pasta/sloth-bat-cat

EDIT: fix oopsies causing Collapse to stuck https://paste.bagelnl.my.id/pasta/bear-worm-hawk

LaoshuBaby commented 1 year ago

Tested, can auto detect installed bili version (infact, its launcher ask me 150gb free space, so I copy a piece of the global version and rename as "YuanShen.exe" and "YuanShen_Data", then use its launcher fixed broken files)

图片

Collapse's timer inherit Mainland of China version's count value.

图片

I can enter the game, and Bilibili version inherit China version's graphic settings, such as resolution, and my changes in Bilibili version will affect in China version.

I still haven't tested HSR's bilibili version, but I guess it will work too.

bagusnl commented 1 year ago

The entire game files for Mainland China and Bilibili clients are identical for both games, except the addition of Bilibili login SDK and different config.ini contents. Both clients shares its registry key in which stores the game config and also Collapse's region specific configs including the timer counter.

The current state of Collapse can take these metadata containing the Bilibili region (I have it dormant on my local repo, waiting for approval), just that it can't install and repair it properly due to how the Bilibili login SDK file is located in MHY's API. It will take a little bit of time until we are ready to ship this to (at least preview) release, but I'm hoping somewhere next week along with HSR's update

Cryotechnic commented 1 year ago

Early implementation available as of 1.72.4. Keeping this open while we work on full implementation.

bagusnl commented 11 months ago

Just a heads up, the game repair for GI Bilibili client is up, though its not for HSR because of time constraint. Will try to grab it once my internet can handle it and I have the time

PIut02 commented 11 months ago

Like said above the entire game files for Mainland China and Bilibili clients are identical for both games, and I have noticed that Collapse has already implemented the conversion from Steam to Global version and from Global to SEA version. Is it possible to implement region switching between Mainland China and Bilibili regions within the same game directory? This can save a lot of disk space. The specific implementation method is as follows:

  1. Add \Genshin Impact Game\YuanShen_Data\Plugins\PCGameSDK.dll and \Genshin Impact Game\sdk_pkg_version.
  2. Modify the second line of \Genshin Impact Game\config.ini, changing the channel to 14.

These files together only take up about 5MB and are easy to implement, and to switch back to the Mainland China region, you simply need to delete the PCGameSDK.dll and sdk_pkg_version files, and then modify the second line of the config.ini file to channel=1.

bagusnl commented 11 months ago

currently it is planned but not yet finished due to the rework needed for the method to work on our Hi3 converter

Cactism commented 11 months ago

Just out of curiosity, could this feature be implemented for Honkai Impact 3rd?

bagusnl commented 11 months ago

could this feature be implemented for Honkai Impact 3rd? I don't think HI3 has bilibili client

Cactism commented 11 months ago

could this feature be implemented for Honkai Impact 3rd?

I don't think HI3 has bilibili client

It does apparently, but there is only an Android apk version. Because of this, I'm not sure if there is a method of modifying the Mainland China client to work with bilibili's login system 🥲

image Link: https://www.biligame.com/detail/?id=94

PIut02 commented 11 months ago

I'm not sure if there is a method of modifying the Mainland China client to work with bilibili's login system 🥲

HI3 does not support Bilibili SDK, so no modifications to any files are required. The only method to log in to Bilibili account on PC is by using the QR code scanning login method. For more details, you can refer to https://github.com/HonkaiScanner/bh3_login_simulation-memories or https://github.com/Theresa-0328/MHY_Scanner.

Cactism commented 11 months ago

I'm not sure if there is a method of modifying the Mainland China client to work with bilibili's login system 🥲

HI3 does not support Bilibili SDK, so no modifications to any files are required. The only method to log in to Bilibili account on PC is by using the QR code scanning login method. For more details, you can refer to https://github.com/HonkaiScanner/bh3_login_simulation-memories or https://github.com/Theresa-0328/MHY_Scanner.

Thank you for the info! I'll definitely be looking into that later ❤️

bagusnl commented 10 months ago

Eyyo, sorry for a long silence but Bilibili region implementation is done as of latest Collapse preview! Repair/Cache is also done, it just the matter of we enabling it in our metadata.

Also, since Bilibili official launcher doesn't have event API (for the event list and image carousel), do you guys prefer it to be as is or you guys wants it too? (we can take it from Mainland China APIs)

LaoshuBaby commented 10 months ago

do you guys prefer it to be as is or you guys wants it too? (we can take it from Mainland China APIs)

图片

Yeah, its launcher just has nothing

{{vote}} I tend to follow this design and hide the carousel and community links directly

Cryotechnic commented 9 months ago

do you guys prefer it to be as is or you guys wants it too? (we can take it from Mainland China APIs)

图片

Yeah, its launcher just has nothing

{{vote}} I tend to follow this design and hide the carousel and community links directly

Since there has been no activity or vote against the following, we can just go ahead and keep it without an event banner just like Hi3 Global. This could change in the future should the need arise.

bagusnl commented 9 months ago

Alrighty since everything is complete on Bilibili support, we will close this issue. Shall issue arrive feel free to make a new issue ticket about it.

Thank you so much for everyone involved <3

LaoshuBaby commented 3 months ago

Maybe this issue need to reopen because ZZZ also have a Bilibili version, I just found it released and downloadable.

Hope it also can be added but maybe not such urgent, I know there will be many task to do just after the official online those days.

bagusnl commented 3 months ago

Hi^^ can you send the launcher link? I can't download it from here, you can upload it on gofile.io or something

BUnipendix commented 3 months ago

Hi^^ can you send the launcher link? I can't download it from here, you can upload it on gofile.io or something

ZenlessZoneZerobilibili_setup_202406191429.exe

bagusnl commented 1 month ago

Bilibili metadata is added for Preview users. Closing issue.

If there is any problem caused by this, feel free to make a new issue ticket, this ticket should be strictly for additional region request