Description
QuestLines
QuestLines is a Hytale server plugin that brings NPCs to life through a fully data-driven dialogue and quest system.
Tie any NPC — a HyCitizens citizen, a QuestLines Denizen, or a standard Hytale entity — to branching conversation trees that drive player progression through quests, achievements, rewards, and world state.
Quests can be as simple as a single NPC conversation or as complex as a multi-staged boss encounter with branching outcomes, timed events, and economy rewards.
If you can imagine it, QuestLines can drive it.
Features
Branching Dialogue
Every NPC interaction is a page of dialogue with any number of response buttons, each with its own requirements and actions. Players see only the responses they qualify for. Responses can also take typed input — a text or number field written straight into a player variable, so a player can name their shop, pick a bid, or answer a riddle.
Flexible Quest State
Track progress through tags, kills, block breaks, item collection, crafting, harvesting, fishing, economy checks, proximity, and time of day. Chain conditions with any: and not: logic for complex branching.
Named Tracker System
Define reusable trackers with wildcard targets (Rock*, *Planks), bracket lists ([Rat,Bat]), and optional location or world gating. Tracker progress drives requirements, actions, and inline text variables.
Rich Action System
Trigger actions from responses or automatically when requirements pass: give items, run commands, award currency, grant titles, spawn NPCs, navigate between pages, mutate named variables, and much more.
Wave Arenas
Build survival arenas without a second plugin. Define fixed per-wave mob lists or a weighted pool that scales with wave count, set boss waves, mob levels and a leash zone, then start a run from any quest with startArena:. A live HUD shows wave, mobs remaining, time left and mob level, and completion or failure fires any action list you like. Authored in-game with /ql waveeditor.
Quest Boards
Offer quests without a conversation. Place a wall-mounted board or a free-standing sign and give it its own quest list, or flag an NPC as a board so clicking it opens the picker directly.
Daily Quests
Define a pool of repeatable quests and QuestLines offers a deterministic daily subset — the same rotation for every player, reset on your own schedule. Players browse them with /daily.
Login Streaks
Reward consecutive-day logins with milestone rewards, every-N repeat rewards, and configurable grace days that forgive a missed day. Players check their own progress with /streak — current run, all-time best, and what the next milestone pays. Streaks are readable from quests as requirements, actions and text variables.
Escort Quests
Spawn a private companion NPC that only the escorting player can see, then move it, patrol it, or walk it to a destination. Two players can run the same escort quest at once, each with their own companion, and progress survives a logout. Escort companions are full questgivers in their own right — clicking one opens the dialogue or quest board of the NPC it was cloned from, or a quest list you assign explicitly.
Mounts and Morphs
Detect mounting, dismounting and distance travelled per mount type, and track morphs from any source — potion, effect or a direct morph: action that swaps a player's model to any registered asset for a set duration.
Trigger Volumes
Hook Hytale's built-in trigger volumes: track enter and exit, gate responses on whether a player is inside a volume, and create, delete, enable or disable volumes from quest actions.
Achievements
Server-defined milestones with single-stage or staged (cascading tier) progression, categories, and unlock actions. Hidden achievements can show an author-written hint on hover while still locked — a clue without the reveal. Criteria can be scoped to a single world. Titles, descriptions and rewards are translatable, with a one-click Translate button that fills every configured locale. Players track them via /achievements; admins manage them in-game.
Icons and Creature Portraits
Response buttons carry up to two item icons, one per side, each with an optional number badge drawn over it that can display a live value — a running price, a remaining count. Any icon can instead be a creature portrait via mob:EntityId, and the {mob:EntityId} text tag drops a portrait inline in dialogue, journal and HUD text alongside the existing {icon:ItemId}.
In-Game Quest Editor
Build, edit, validate and translate quests entirely in-game with /ql quest — dialogue pages, responses, requirements, actions, NPCs, achievements and events, without touching a file.
Web Editor
/qleditor sends you a short-lived pairing link to a browser editor that talks to your live server, so you can load quests, edit them comfortably, and push changes straight back.
Quest Goal HUD and Player Journal
A clean overlay shows current objectives and updates automatically as players progress. /journal (aliases /j, /log) lets players review active and completed quest dialogue at any time.
Themable UI
The dialogue window — frame, panels, buttons, colours, fonts and item icons — can be re-skinned by a theme pack, including custom images or fully transparent surfaces, and the Journal and Achievements windows theme the same way. A dialogue page can also hide its portrait on its own. A bundled Golden Glass pack ships as a working example.
Player Settings
/qlconfig is one settings window for the whole suite, with a tab per installed QuestLines plugin. Players set their language, quest-HUD visibility and placement, and — where a companion is installed — move or hide its HUDs and mute its notifications, all from one place. Companion plugins register their own tab through the API.
Localization
Quest text supports English, German, Spanish, French, Brazilian Portuguese and Russian. Players pick their language with /qlconfig, and the editor includes a one-click Translate Quest feature backed by a pluggable translation service.
Auto-Validation
Quest config is validated on startup and on reload, with manual checks via /ql validate. Custom requirement and action types registered through the API are recognised automatically.
Economy, Permissions and Region Gating
Native VaultUnlocked integration for balance checks and payments, permission-gated content, and logic scoped by radius, world, or an OrbisGuard / QuestLines Claims region.
Extensibility API
Register custom requirements, actions and text variables through QuestLinesAPI.
Commands
/ql— admin root (editor, validation, reload, achievements, wave editor)/journal— player quest log (aliases/j,/log)/daily— today's daily quests (aliases/dailies,/dq)/achievements— achievement browser (alias/ach)/streak— login streak status (aliases/loginstreak,/streaks)/qlconfig— suite-wide player settings/qleditor— pair with the web editor
Optional Plugin Integrations
QuestLines works standalone and lights up extra features when these are present:
- HyCitizens
- OrbisGuard
- VaultUnlocked
- InsightHUD
- MMOSkillTree
- RPGLeveling
- Endless Leveling
- HyFishing
- Anglers' Almanac
- Books and Papers
- Perfect Parries
- Perfect Dodges
Resources
- 📖 Wiki
- 💬 Discord — community support, suggestions, and the quest-validation bot
- ☕ Support the project on Ko-fi
The QuestLines Suite
Every plugin works standalone; together they share one ecosystem.
- QuestLines Core — dialogue, quests, requirements, actions (this plugin)
- Icons — floating quest-state icons above NPCs
- Dialog — in-game linear dialogue builder
- Titles — player title and rank rewards
- GUI — custom in-game interfaces, no code required
- Claims — land protection, regions, rent and buy plots
- Denizens — native NPC manager
- Arcade — arcade, board and puzzle games
- Hooks — early plugin unlocking extra quest tracking
- MMO — parties, guilds, dungeons, duels and item sets
- Mimics — chests that stand up and fight
- Nations — cities and nations built on Claims (via Discord)





