-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement client-side support of downloading RP from CDN #6064
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks OK for me
It should automatically download the pack from the url and cache the metadata, shouldn’t it? Like, why do users need to put it manually when PM can automatize the job |
I don't think it should be a PM's job. We should consider a offline environment. |
In fact, I'm going back on my opinion because I hadn't realized the problem that has just been raised. Although you need to be in an offline environment, it can be interesting to enable automation. |
Well, the problem is that:
The reason for requiring Resource Packs to be loaded into PM is that the client also expects info of remote resource packs in ResourcePacksInfoPacket. (after that, this isn't necessary since they download from external) As an alternative way, we could let users write the UUID and version of the resource pack and optionally content key (which is the least information the client expects) in resource_packs.yml so that we don't let users load the resource pack into PM. |
General sentiment in the dev community so far is that this feature is pretty useless for anyone who doesn't have a perfect connection (i.e. anywhere that isn't the US or Europe). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to see added support for URLs without the https:// header also.
I do think the cleanest way to do this would be to just allow putting URLs in the
I'm not understanding the logic here. What's stopping PM from downloading packs from CDN whenever the server boots up? I don't really buy into the point about caching either. If we have users hardcode pack UUIDs into the YML, we're already caching info, just in a way that the server can't control programmatically. Vs if the pack is downloaded, at least the information is guaranteed to be correct for some version of the resource pack. We can also look at |
This also needs to be updated for latest protocol changes |
This PR has been marked as "Waiting on Author", but we haven't seen any activity in 7 days. If there is no further activity, it will be closed in 28 days. Note for maintainers: Adding an assignee to the PR will prevent it from being marked as stale. |
As this PR hasn't been updated for a while, unfortunately we'll have to close it. |
Introduction
Implement client-side support of downloading Resource Pack from CDN.
Relevant issues
Changes
API changes
ResourcePackManager::getPackURLs()
: Returns a map of uuid_version => cdn urlBehavioural changes
The server does not send ResourcePackChunkDataPacket since the client downloads the resource pack from CDN.
Backwards compatibility
There are no known BC breaking changes.
Follow-up
Tests
Test CDN server used with this test: https://github.com/alvin-pm-pl/ResourcePackCDN
Test Pack used with this test: https://mcpedl.com/legendary-bedrock-rtx-texture-pack/
2023-09-22.00-02-22.mp4