MCPcopy Index your code
hub / github.com/BrookenRecord/Packer

github.com/BrookenRecord/Packer @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
90 symbols 159 edges 24 files 13 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

📦 Packer

Distribute Roblox games as standalone executables.

🚧 Packer is still being worked on. Among many other things, Windows is not currently supported. See below for details. 🚧

Packer Demonstration Packer Example. Skips downloading client to speed up video.

About

Packer enables the distribution of Roblox experiences as standalone applications, allowing users without a prior installation of Roblox to play any Roblox experience.

At its core, a Packer application is just a custom client bootstrapper that downloads the latest Roblox client into the directory of the launcher. Games distributed with Packer aren't actually standalone, and they still use the Roblox client under the hood. However, the client is entirely portable and leaves no significant traces on the host machine. Unlike Roblox's default bootstrapper, Packer creates no new protocols or other lasting artefacts.

What's TODO

This project is in the works!

  • Windows support still needs to be added. Packer was developed on a Macbook, and I still need to pull everything down on my Windows desktop to work on. Soontm!

  • Proper authentication flows. This is a big one, and I need to take special care to ensure everything is safe. The most likely scenario is that special authentication processes will not be included in this public repository and will only be distributed privately. Currently, Packer won't run if there isn't existing Roblox authentication in the environment.

  • Some kind of CLI or website to aid in creating Packer-compatible projects.

License

Licensed under either of

at your option.

Prior Art

  • Roblox Studio Mod Manager - A massive source of inspiration in designing the client bootstrapper. Much of the download-related code is borrowed from and inspired by Max's Mod Manager.

Extension points exported contracts — how you extend this code

ClientDownloader (Interface)
(no doc) [2 implementers]
crates/client_bootstrapper/src/downloader/platform_impl/mod.rs

Core symbols most depended-on inside this repo

slice
called by 9
crates/client_bootstrapper/src/authentication/binarycookies.rs
to_string
called by 5
crates/client_bootstrapper/src/async_runtime.rs
get
called by 5
crates/client_bootstrapper/src/manifest.rs
get_logs_from_string
called by 4
crates/deploy_history/src/lib.rs
to_string
called by 4
crates/deploy_history/src/domain.rs
slice_to
called by 4
crates/client_bootstrapper/src/authentication/binarycookies.rs
get_latest_client_version
called by 3
crates/client_bootstrapper/src/downloader/mod.rs
parts_from_version
called by 2
crates/deploy_history/src/client_version_info.rs

Shape

Method 41
Function 26
Class 18
Enum 4
Interface 1

Languages

Rust90%
TypeScript10%

Modules by API surface

crates/client_bootstrapper/src/authentication/binarycookies.rs10 symbols
crates/deploy_history/src/lib.rs7 symbols
crates/client_bootstrapper/src/downloader/platform_impl/util.rs6 symbols
crates/client_bootstrapper/src/downloader/mod.rs6 symbols
crates/client_bootstrapper/src/authentication/mod.rs6 symbols
crates/deploy_history/src/client_version_info.rs5 symbols
crates/client_bootstrapper/src/manifest.rs5 symbols
crates/client_bootstrapper/src/gamejoin.rs5 symbols
crates/client_bootstrapper/src/application.rs5 symbols
crates/client_bootstrapper/resources/js/bootstrapper_sdk.js5 symbols
crates/deploy_history/src/domain.rs4 symbols
crates/deploy_history/src/deploy_log.rs4 symbols

For agents

$ claude mcp add Packer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact