Altay
Running a server

Resource packs

Serving texture and behaviour packs to players who join.

Packs live in resource_packs/ and are listed in resource_packs.yml. The server sends them to clients at login, before the world loads.

resource_packs.yml
MyPack.mcpack
resource_packs.yml
resource_stack:
  - MyPack.mcpack
force_resources: false
  • resource_stack is ordered. Packs later in the list win when two of them touch the same file.
  • force_resources set to true refuses the connection of anyone who declines the download. Use it when your server depends on custom items or UI; leave it off when the pack is cosmetic.

A .mcpack is a zip. An unpacked directory with a manifest.json at its root works too, which is easier while you are still editing the pack.

Behaviour packs

Behaviour packs are not add-ons in the vanilla sense. Altay runs server side game logic in PHP, not in the client's scripting runtime, so a behaviour pack that defines custom entity logic will not do anything by itself. Packs that define client side resources for custom content work; the matching server side behaviour comes from a plugin.

Coming from a vanilla dedicated server

This is the single biggest difference. Add-ons that define entity or item behaviour do nothing on their own. The pack supplies the visuals, a plugin supplies the behaviour.

Size and download time

Every joining player downloads the full stack before they can play. A 200 MB pack means a long, silent loading screen on a phone connection.

Clients "stuck at downloading resource packs" are usually not stuck. Check the total size of resource_packs/ before looking anywhere else.

Encryption

Encrypted packs are supported through the same key file mechanism used upstream: a .key file next to the pack, containing the key and nothing else. Without the key the client cannot read the pack and the join fails.

On this page