Skip to content

Add support for ZSTD compression to roblox.serializeModel and roblox.serializePlace #307

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

Open
Dekkonot opened this issue Apr 8, 2025 · 1 comment
Labels
enhancement New feature or request roblox Issues pertaining to the built-in Roblox library

Comments

@Dekkonot
Copy link
Contributor

Dekkonot commented Apr 8, 2025

As of the latest release of rbx-binary, we support specifying the compression type that's used for chunks. By default, this is lz4 which is what Lune currently uses. Roblox's file format also supports zstd however, and it's significantly more space efficient.

We should add an option to control the compression type in some way. Alternatively, we could just swap the default to be zstd instead of lz4. That might be better since it doesn't break the API surface, but I don't know how Roblox would feel about it.

@filiptibell filiptibell added enhancement New feature or request roblox Issues pertaining to the built-in Roblox library labels Apr 8, 2025
@twang58rbx
Copy link

twang58rbx commented Apr 20, 2025

Hi I am a Roblox engineer. We are migrating the chunk compression used by rbxl serialization from l4 to ZSTD for any place files ingested to Roblox cloud (including team create/studio cloud saves). I spoke to @Dekkonot earlier and realized that Lune directly reads place files.
What this means - for lune users, if they get the place file via studio file save, they will get l4 place files, which is supported by lune. If users get place files via the asset delivery URL directly, they will get zstd files.
We would like to know if lune has an established use pattern where users get place files via asset delivery. If so can we make a soft announcement (e.g. in README) to ask lune users get place files via studio before Lune supports reading ZSTD place files officially. Let me know if there is any concerns. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request roblox Issues pertaining to the built-in Roblox library
Projects
None yet
Development

No branches or pull requests

3 participants