TribeCraft Wiki · Release 2026.09.8
Wiki Release: 2026.09.8 · UltimateRaids: 0.12.0 · Documentation branch: 1

Raid design recipes#

These recipes are starting points. They show which systems to combine; copy the bundled examples for full syntax and then adjust IDs/locations/providers to your server.

Recipe 1 — first test raid#

Purpose: prove lifecycle/location/finish behavior before adding mobs.

entry: { mode: NORMAL }
participation:
  mode: SOLO
  group-provider: SOLO
  min-players: 1
  max-players: 1
loadout: { mode: PLAYER }
progression: { mode: STANDARD }
environment: { mode: OPEN_WORLD }
stages:
  '1':
    id: test
    timeout: 30
    completion: OBJECTIVE
    objective:
      type: SURVIVE
      amount: 10

Test completion, return location and stop/failure first.

Recipe 2 — open-world boss#

NORMAL + PUBLIC + PLAYER + OPEN_WORLD

Stage 1: one boss wave. Stage completion: BOTH. Objective: KILL_BOSS targeting the boss ID.

Add a border/bounds if players could kite the boss into unrelated areas.

Recipe 3 — solo schematic dungeon with kit#

NORMAL + SOLO + KIT + STANDARD + INSTANCE/SCHEMATIC

This is close to the bundled example_instance_schematic.yml:

  • create/paste a schematic instance;
  • give a controlled kit;
  • clear raiders;
  • run a boss stage;
  • boss phases/enrage use reusable skills;
  • grant multiple loot tables;
  • delete runtime world on finish.

This is an excellent reference for a self-contained dungeon.

Recipe 4 — full-world clan dungeon#

NORMAL + GROUP + PLAYER/KIT + STANDARD/DISCOVERY + INSTANCE/WORLD

Recommended:

participation:
  mode: GROUP
  group-provider: <registered provider>
  leader-only-queue: true
  min-groups: 1
  max-groups: 1

Use a full world template when the map is too large/complex for one schematic.

Recipe 5 — persistent public minigame#

MINIGAME + PUBLIC + KIT + STANDARD + ARENA/INSTANCE
entry:
  mode: MINIGAME
  minigame:
    persistent-lobby: true
    reopen-after-finish: true
    auto-start: true
    auto-ready: true
    concurrent-matches: 1

Then create a join sign/NPC after validation. Test the queue rather than relying on /uraid start.

Recipe 6 — discovery crypt#

NORMAL + SOLO/GROUP + PLAYER + DISCOVERY + DYNAMIC/INSTANCE

Each stage has an area. Players enter the next room to unlock it. Future stages can remain locked and early entry can teleport players back.

The bundled example_discovery.yml is the base reference.

Recipe 7 — capture room under attack#

Stage design:

completion: OBJECTIVE
objective: CAPTURE
waves: attackers

Use minimum-players, reset-on-empty and/or decay to control how firmly players must hold the zone.

Recipe 8 — protect an NPC/entity#

Stage design:

objective: DEFEND
waves: enemy attackers

Spawn the defend target as a tracked raid entity. Set the objective target to its tracking ID. The defend processor can fail if the protected target dies.

Recipe 9 — escort mission#

Spawn the escort target as a tracked raid entity and configure an ESCORT destination. The entity provider/native AI must actually move the entity; the objective tracks arrival and optional failure on death.

Recipe 10 — destructible crystal room#

Use:

objective: DESTROY

with a target material/location. If the room is in a persistent world, enable appropriate regeneration or use an INSTANCE so destruction does not permanently damage the map.

Recipe 11 — scheduled weekend raid#

First prove manual start. Then create a scheduler:

/uraid scheduler create weekend_crypt ancient_crypt

Configure days/times/timezone and pre-announcements. Test immediately:

/uraid scheduler run weekend_crypt

Only then wait for the real schedule.

Recipe 12 — normal → hard progression#

Clone the normal raid:

/uraid clone ancient_crypt ancient_crypt_hard

Increase boss/wave difficulty and add:

requirements:
  - type: RAID_COMPLETED
    raid: ancient_crypt
    completions: 1

This produces a clean progression chain without custom code.

Visual creation shortcut#

You can create the raid/kit/loot/skill pieces with the official UltimateRaids Builder, then use the in-game editor/location commands to adapt the generated configuration to the actual server world.