- Why This Exists
- The Problem: Cactbot on Steam Deck
- Architecture Overview
- Why the Code Is the Way It Is
- The Actual Build Order (Chronological)
- Step-by-Step Build Process
- Component Deep Dive
- The Relay Script – raidboss-user.js
- CI/CD and Distribution
- Lessons Learned
- Final Thoughts
If you’ve spent any time raiding in Final Fantasy XIV, you’ve probably come across Cactbot. It’s the overlay that yells “Stack!” or “Spread!” during fights so you don’t have to memorise every mechanic. For those who use it, it can be useful, it’s popular, and on Windows it mostly just works.
On Steam Deck it’s a different story.
This article walks through how I built a plugin that fixes Cactbot on Steam Deck, and more importantly, why I made the decisions I did along the way. If you’re interested in Dalamud plugin development, embedded browsers, or just like seeing how things are put together, there might be something useful here.