> For the complete documentation index, see [llms.txt](https://docs.myarc.icu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.myarc.icu/en/feature-configuration/arcpack.md).

# ArcPack and marketplace

Once you have built a multi-page menu system complete with custom textures, animated GIFs, and Effect cutscenes, copying loose YAML and image files by hand makes it easy to miss an animation track or sound clip. ArcPack (`.arcpack`) is ArcMenu's standard package format. It bundles your selected menus, Effect cutscenes, and group templates together with every local PNG image, GIF animation, menu animation clip, and OGG/NBS audio file they reference into a single archive, ready to import onto another server or publish to the built-in marketplace.

## Exporting and importing across servers

When you select saved projects in the [Project manager](/en/feature-configuration/projects.md) and export them, the server generates an archive at:

```
plugins/ArcMenu/packs/<pack-id>-<version>.arcpack
```

To install that package on another server:

1. Copy the `.arcpack` file into the target server's `plugins/ArcMenu/packs/` directory.
2. Run `/arcmenu projects` on the target server, switch to the **Installed** tab, click **Import**, and enter the archive filename.
3. Once installed, all menus and Effects retain their original project IDs. You can open menus right away with `/arcmenu open <menu-id>` or play cutscenes with `/arcmenu effect <effect-id>`.

To keep assets from different packages from overwriting one another, the installer places each package's files inside dedicated subdirectories prefixed with `arcpack-<pack-id>` and automatically rewrites local image and audio paths inside the configurations (for example, `/logo.png` is rewritten to `/arcpack-demo/logo.png`), while keeping project IDs and UI text unchanged:

| Packaged asset type              | Installed server path (relative to `plugins/ArcMenu/`)            |
| -------------------------------- | ----------------------------------------------------------------- |
| Menu configurations              | `menus/arcpack-<pack-id>/...`                                     |
| Group templates                  | `templates/arcpack-<pack-id>/...`                                 |
| Static images and GIFs           | `images/arcpack-<pack-id>/...`                                    |
| Effect scenes and timelines      | `effects/arcpack-<pack-id>/<effect-id>/scene.yml`, `timeline.yml` |
| Effect local audio and NBS songs | `effects/assets/arcpack-<pack-id>/...`                            |
| Menu animation clips             | `animations/arcpack-<pack-id>.yml`                                |

### Dependency notices and version updates

When your menus link to one another, selecting all related menus together during export preserves every navigation action between them. References to CraftEngine, Nexo, or ItemsAdder custom items, external plugin commands, and PlaceholderAPI placeholders are recorded as external dependency notices in the package metadata so you know which plugins to prepare on the target server.

During installation, ArcMenu verifies archive integrity and checks for project ID conflicts. To protect your local work, installing a package never overwrites existing projects or packages that share the same ID. To upgrade an installed package to a newer version:

1. Back up or save a copy of any local edits you want to keep.
2. Open the **Installed** tab and uninstall the old version. Uninstalling removes only the files registered to that package; if you manually edited any file belonging to the package, the uninstaller automatically backs up your modified file under `plugins/ArcMenu/packs/backups/<pack-id>-<transaction-id>/` and never touches unrelated files.
3. Import or download the new version.

## Browsing and downloading from the marketplace

Players and administrators with the `arcmenu.market` permission can open the built-in marketplace by running:

```
/arcmenu market
```

The marketplace displays community creations as cards showing in-game cover screenshots, author names, like counts, download totals, and star ratings. You can search by keyword, change the sort order, page through results, and click any card to view its full description, multi-image gallery (showing live previews of each included project), and version history.

When you open the editor or project manager, your client authenticates your Minecraft account in the background through Mojang's official session service (your login credentials are sent only to Mojang, never to the marketplace server). Once verified, you can like creations and leave a 1-to-5 star rating.

Administrators with `arcmenu.admin` can click **Install** directly on a marketplace listing page, or download and install packages via command in game or from the server console:

```
/arcmenu download pack <pack-id>
/arcmenu download pack <pack-id> <version>
```

Omitting the version number downloads and installs the latest release automatically.

## Publishing and updating your creations

Sharing your work on the marketplace takes two steps:

1. In **Project manager -> Projects**, select the menus, Effects, or templates you want to share and export them as a local `.arcpack` archive.
2. Switch to the **Packages** tab, select the exported package, and click **Publish**. Review the title, description, and cover previews, then submit.

So that marketplace listings always reflect true in-game visuals, every preview image in a published package is captured directly from the Minecraft framebuffer by the editor as a `1280 × 720` PNG with editor toolbars and the HUD hidden, restoring your workspace state automatically afterward. The screenshot of the first project becomes the marketplace cover, and the remaining project screenshots populate the listing gallery.

Published version numbers are immutable. When you refine a layout and want to release an update, export a new package with an incremented version string (for example, changing `1.0.0` to `1.1.0`), select the new archive in **Packages**, and publish it. Authors can update their listing title and description or hide their work from the marketplace at any time.

## Automatic resource pack merging and distribution

Whenever you install, import, or uninstall an ArcPack that adds or changes PNG images, GIF animations, or OGG audio files, ArcMenu automatically triggers a resource pack rebuild:

* If your server runs **CraftEngine**, **Nexo**, or **ItemsAdder**, ArcMenu automatically triggers the host plugin's resource pack reload workflow in `CraftEngine -> Nexo -> ItemsAdder` priority order (such as invoking CraftEngine's `reload_pack` pipeline to generate, upload, and push the updated pack to online players).
* If you distribute resource packs through another method, you can always grab the newly merged archive from `plugins/ArcMenu/generated/arcmenu-resourcepack.zip`. See [Images and resource packs](/en/feature-configuration/resource-packs.md) for complete setup details.

## Marketplace server configuration

The `marketplace` section in `plugins/ArcMenu/config.yml` configures the connection to the marketplace service:

```yaml
marketplace:
  url: 'https://market.myarc.icu:10051'
  certificate-sha256: ''
```

* `url`: String specifying the HTTPS address of the marketplace service. Keep the default `'https://market.myarc.icu:10051'` to connect to the official marketplace. Setting this to an empty string `''` disables online marketplace requests while keeping the local project manager and manual `.arcpack` import/export fully functional.
* `certificate-sha256`: Optional string for pinning a leaf certificate SHA-256 fingerprint (64 hexadecimal characters, with or without colons). Leave this empty `''` when connecting to a marketplace that uses a standard public TLS certificate; fill in the fingerprint only if you host a private internal marketplace server using a self-signed HTTPS certificate.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.myarc.icu/en/feature-configuration/arcpack.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
