Polymer

Polymer

763k Downloads

"type": "polymer:external" no longer works in 0.12.5 and above – bug or deprecation?

Closed this issue · 4 comments

commented

Hi, and thank you for your work on Polymer!

I've been using the type: "polymer:external" option in auto-host.json to serve a custom resource pack from my own HTTP server (outside of Minecraft). This setup worked perfectly up to version polymer-bundled-0.12.4+1.21.5.

auto-host.json
Image
resource-pack.json
Image

Starting with 0.12.5, however, it looks like this external type no longer has any effect - clients no longer receive the resource pack, and in some cases they get stuck on “Joining world…”.

Image

I couldn't find any mention of this removal in the changelogs or documentation, so I’m wondering: was this removed intentionally, or is it a bug?

How to reproduce

  • Use polymer-bundled-0.12.4+1.21.5.

  • Set the following config in auto-host.json:
    "type": "polymer:external",
    "settings": {
    "address": "https://cubometre.tech/RP/resource_pack.zip"
    }

  • In resource-pack.json, set the local file path for the generated resource pack:
    "resource_pack_location": "/var/www/site.domain/html/RP/resource_pack.zip"

  • Launch the server behind a proxy (proxy on port 25565, actual server on 25567).

  • Players connect and successfully download the resource pack from the specified URL.

  • Update Polymer to 0.12.5 or newer (e.g. 0.12.6).

  • Use the exact same config - clients no longer receive the resource pack and may freeze on “Joining world…”.

Additional context
I’ve tried switching to both polymer:automatic with forced_address, and polymer:http_server with external_address, but neither works properly in my network setup:

My server is behind a proxy (Velocity) on port 25565, while the actual Minecraft server runs on port 25567.

automatic fails to serve the pack reliably through the proxy (clients hang or never receive the pack).

http_server requires exposing an additional port, which is not feasible in my current environment.

The external setup was ideal - I could generate the resource pack on the server, upload it to my web server, and serve it via a clean, stable HTTPS link.

If there's a recommended replacement or workaround for external, I’d love to implement it. Otherwise, I'd really appreciate reconsidering support for this mode.

Image

commented

Hey! You should check client logs to make sure you expose it in correct location. I tweaked how address is resolved so it's possible that broke your setup

commented

Hi again, thanks for the reply!
I did more testing with two identical setups using "type": "polymer:external" and found a breaking behavior change between Polymer versions 0.12.4 and 0.12.5+.

✅ On 0.12.4 - works perfectly
Client log excerpt (redacted address):

[INFO]: Connecting to site.domain:25565
[WARN]: Existing file .../528e5ae9-... not found or had mismatched hash
[INFO]: Downloaded resource pack successfully
[INFO]: Joined carpet server with matching carpet version

✔️ Resource pack loads
✔️ Hash is validated
✔️ Player connects successfully

❌ On 0.12.5+ — same config, fails
Client log (redacted address):

[INFO]: Connecting to site.domain:25565
[ERROR]: Failed to download https://site.domain/RP/resource_pack.zip/main.zip
Caused by: java.io.IOException: Hash of downloaded file (e7379b7d...) did not match requested (982639de...)

Result:

  • Player is kicked with Server requires custom resource pack.
  • Hash mismatch occurs despite the same pack structure.
  • URL also appears to have /main.zip auto-appended unexpectedly.

🔍 Notes

  • The config in both cases uses (redacted address):
"type": "polymer:external",
"settings": {
  "address": "https://site.domain/RP/resource_pack.zip"
}
  • Nothing changed on server or proxy. Only Polymer version changed.
  • Looks like newer versions append /main.zip to the URL, causing a broken download and incorrect hash verification.

🙏 Question

So as I understand it, this change was intentional?
If that’s the case - is there now a new required format for the address field, or maybe a different type that replaces external for this kind of setup?

Thanks again for your great work!
I’d be happy to help test a fix or workaround if needed.

commented

✅ Update - Problem Solved

Just wanted to leave a quick update - I adjusted the config a bit, and now everything works!

Previously, I had:

"settings": {
  "address": "https://site.domain/RP/resource_pack.zip"
}

and

"resource_pack_location": "/var/www/site.domain/html/RP/resource_pack.zip"

This setup worked on Polymer 0.12.4, but stopped working in 0.12.5+.

Now I updated it to:

"settings": {
  "address": "https://site.domain/RP"
}

and

"resource_pack_location": "/var/www/site.domain/html/RP/main.zip"

Apparently, newer Polymer versions automatically append main.zip to the address when using "type": "polymer:external".
Once I adjusted the path and URL accordingly, the client was able to download the resource pack successfully.

Thanks again for pointing me in the right direction - much appreciated!

👉 So is this actually a bug or intended behavior?

commented

It's intended. Polymer AutoHost got api support for providing multiple resource packs and that, so that change was needed