Skip to content

Installation Guide

This guide walks you through installing Journey and its dependencies on a Fabric server.


RequirementDetails
Minecraft1.21.1
Fabric LoaderLatest stable
Java21 or higher
CobblemonCompatible version
Ceremony4.1.4+
Fabric APIMatching your Minecraft version
PolymerRequired for server-side items and GUIs
ImpactorRequired for economy and currency rewards
LuckPermsRequired for permission management

Optional:

  • Journey Client mod (installed on player clients for markers, HUDs, and enhanced visuals)

Download the latest versions of:

  • Journey
  • Ceremony
  • Cobblemon
  • Fabric API
  • Polymer
  • Impactor
  • LuckPerms (Fabric version)
  1. Stop your server
  2. Place all JAR files in your server’s mods/ directory
  3. Start the server

Check your server console for:

[Journey]: Journey mod loaded successfully

You can also run /journey reload in-game to confirm commands are working.


On first start, Journey creates this configuration structure:

config/journey/
├── config.json # Main configuration
├── tasks/ # Quest definitions
├── zones/ # Zone configurations
├── levelables/ # Skill/progression systems
├── timelines/ # Scripted sequences
├── buffs/ # Buff definitions
├── bounty_boards/ # Bounty board configs
├── global_tasks/ # Server-wide tasks
├── markers/ # Quest markers
├── cutscenes/ # Cutscene definitions
├── interactables/ # Interactive entities
├── paths/ # NPC patrol paths
├── npc_paths.json # NPC path assignments
└── messages.json # Customizable messages

Create a simple test task to verify everything works.

File: config/journey/tasks/test_task.json

{
"name": "<gold>Installation Test",
"description": ["<gray>Catch any Pokemon to verify Journey is working."],
"sequential": "linear",
"repeat_type": "NONE",
"icon": {
"item_id": "minecraft:compass"
},
"rewards": [
{
"type": "command",
"data": {
"command": "tellraw {player} {\"text\":\"Journey is working!\",\"color\":\"green\"}"
}
}
],
"tasks": [
{
"id": "catch_one",
"name": "Catch a Pokemon",
"event": "POKEMON_CAPTURE",
"filter": "1.0",
"target": 1,
"rewards": []
}
]
}

Then:

  1. Reload configs: /journey reload
  2. Give yourself the task: /journey starttask @s journey:test_task
  3. Catch any Pokemon
  4. You should see the green confirmation message

Delete the test file when you’re done.


Journey uses the Fabric Permissions API with fallback to vanilla operator levels. For fine-grained control, use LuckPerms.

Basic LuckPerms setup:

/lp group default permission set journey.command.journal true
/lp group default permission set journey.command.party true
/lp group default permission set journey.command.track true
/lp group default permission set journey.command.bountyboard true

See Commands & Permissions for the full permission list.


Commands not working:

  • Check you have operator permissions or the correct LuckPerms nodes
  • Look for error messages in the server console during startup

Config files not generating:

  • Make sure the server has write permissions to the config directory
  • Verify Java 21+ is installed

Tasks not triggering:

  • Validate your JSON with an online JSON validator
  • Check MoLang filter syntax
  • Try "filter": "1.0" first to rule out filter issues

  1. Learn the configuration system — understand how Journey’s config files work
  2. Create your first task — build a real quest
  3. Set up zones — define areas in your world
  4. Explore MoLang scripting — add dynamic logic to everything