Complete implementation guide for Holly covering: PART 1: TWO-STAGE ONBOARDING SYSTEM - Stage 1: Wanderer onboarding (Discord Native) - Forced rules acceptance - See ALL channels (FOMO strategy) - Can post in #general, #rules, #open-a-ticket - "Stop wandering. You found home." - Stage 2: Subscriber onboarding (Carl-bot + Arbiter) - BOTH: Carl-bot DM + #choose-your-roles mention - Fire/Frost path selection - Server role selection - Notification preferences - "You're family now. Make this place yours." PART 2: MODPACKCHECKER SUPPORT ECOSYSTEM - #mvc-general (public peer support chat) - #mvc-support (private tickets via Ticket Tool, role-gated) - 🎙️ MVC Voice Support (live troubleshooting) - 📋 MVC Help Forum (searchable FAQs, pre-seeded threads) Complete with: - Step-by-step setup instructions - Permission configurations - Carl-bot reaction role templates - Ticket Tool 7th category setup - Forum pre-seed content (3 starter threads) - Testing checklists - 2-3 hour implementation timeline Strategy approved by Michael and Holly. Chronicler #64 - Building welcoming infrastructure
23 KiB
Discord Onboarding & MVC Support Infrastructure Setup
Document ID: FFG-DISCORD-002
Created: April 6, 2026
Created By: Chronicler #64
For: Holly (The Catalyst) — Discord/LuckPerms Manager
Status: Ready to Implement
📋 OVERVIEW
This guide covers two major Discord infrastructure updates:
- Two-Stage Onboarding System — Wanderers (minimal) → Subscribers (full role selection)
- ModpackChecker Support Ecosystem — Tickets, chat, voice, and forum channels
Philosophy: Wanderers should feel welcomed home while experiencing FOMO. Subscribers get full customization. MVC owners get comprehensive support options.
PART 1: TWO-STAGE ONBOARDING SYSTEM
🎯 THE STRATEGY
Stage 1: Wanderer Onboarding (Discord Native)
- New members join → See welcome message
- Forced: Must accept rules before seeing channels
- Result:
Wandererrole → See ALL channels (read-only for most) - Goal: "Stop wandering. You found home. Feel the FOMO."
Stage 2: Subscriber Onboarding (Carl-bot + Arbiter)
- User subscribes → Arbiter assigns tier role
- Carl-bot DMs welcome message
- Message posted in #choose-your-roles with @mention
- User customizes: Fire/Frost path, server selections, preferences
- Goal: "You're family now. Make this place yours."
🛠️ STAGE 1: DISCORD NATIVE ONBOARDING
Step 1: Enable Discord Onboarding
- Go to Server Settings → Onboarding
- Click "Enable Onboarding"
- You'll see the onboarding editor
Step 2: Configure Welcome Screen
Screen 1: Welcome Message
Title:
🔥❄️ Welcome to Firefrost Gaming!
Description:
We're a community of modded Minecraft players who believe in passion, precision, and finding your tribe.
Whether you're Fire (bold, passionate, unfiltered) or Frost (strategic, calculated, precise), there's a place for you here.
Before you explore, please review our community guidelines.
Background Image: (Optional) Firefrost Gaming banner or Fire/Frost gradient
Button Text: Continue
Step 3: Configure Rules Acceptance (REQUIRED)
Screen 2: Community Rules
- In onboarding editor, click "Add Default Channel"
- Select #rules from dropdown
- Toggle ON: "Require members to accept rules"
- Accept Button Text:
I Accept the Rules
What this does:
- Shows #rules channel content in onboarding flow
- User cannot proceed without clicking "I Accept the Rules"
- Once accepted, they receive
Wandererrole
Step 4: Configure Default Channels (Optional)
Screen 3: Get Started
Discord will ask if you want to show "recommended channels" in onboarding.
Our Answer: Skip this screen.
Why: We want Wanderers to see ALL channels (FOMO strategy), not a curated list. They'll discover channels organically.
How to skip:
- In onboarding editor, don't add any "Default Channels" beyond #rules
- Just have: Welcome Screen → Rules Acceptance → Finish
Step 5: Configure Completion Action
What happens when they click "Finish":
- In onboarding editor, go to "Completion Settings"
- Role to assign:
@Wanderer - Channel to send them to:
#welcomeor#general
Completion Message (in #welcome or #general):
Welcome to Firefrost Gaming, [username]! 🔥❄️
You've joined as a **Wanderer** — explore our community, chat in #general, and see what we're all about.
Ready to dive deeper? Subscribe to unlock full access:
🔗 firefrostgaming.com
Need help? Open a ticket in #open-a-ticket anytime.
Step 6: Set Wanderer Permissions
In Server Settings → Roles → @Wanderer:
Channel Access:
- ✅ See ALL channels (FOMO!)
- ✅ Can post in: #rules, #general, #open-a-ticket
- ❌ Cannot post in: Subscriber-only channels, Fire/Frost-specific channels, server channels
Specific Permissions:
View Channels: ✅ YES (for all channels)
Send Messages: ✅ YES (only in #general, #rules, #open-a-ticket)
Read Message History: ✅ YES
Add Reactions: ✅ YES
Use External Emojis: ✅ YES
Attach Files: ✅ YES (in allowed channels)
How to set "can post in some channels but not others":
- Base
@Wandererrole:Send Messages = ❌ NO(deny by default) - Per-channel overrides: Go to each channel → Permissions → @Wanderer →
Send Messages = ✅ YES- #general: ✅ Allow
- #rules: ✅ Allow
- #open-a-ticket: ✅ Allow
- All other channels: ⚫ Neutral (inherits deny from role)
Step 7: Test Wanderer Onboarding
- Create a test Discord account (or use alt account)
- Join server with invite link
- Verify flow:
- ✅ See welcome message
- ✅ See #rules content
- ✅ Cannot skip without clicking "I Accept the Rules"
- ✅ Assigned
@Wandererrole after acceptance - ✅ Can see ALL channels
- ✅ Can post in #general, #rules, #open-a-ticket
- ✅ Cannot post in subscriber channels
- If anything fails, review permissions and onboarding settings
🎨 STAGE 2: SUBSCRIBER ONBOARDING
Overview
When Arbiter assigns a subscriber role (Awakened, Elemental, Knight, Master, Legend, Sovereign), we want BOTH:
- Carl-bot DMs the new subscriber
- Welcome message posted in #choose-your-roles with @mention
Goal: Make them feel seen, welcomed, and excited to customize their experience.
Step 1: Create #choose-your-roles Channel
In Discord → Server Settings → Channels:
- Create new text channel: #choose-your-roles
- Category: Support (or create "Subscriber Lounge" category)
- Channel Description:
🔥❄️ Customize Your Firefrost Experience
Choose your path, select your servers, and make this community yours.
Permissions:
@everyone: ❌ Cannot see@Wanderer: ❌ Cannot see@Awakened(and all higher tiers): ✅ Can see and post@Staff: ✅ Full access
How to set:
- Channel Settings → Permissions
- Remove
@everyone/@Wandererview access - Add each subscriber role with View Channel + Send Messages
Step 2: Set Up Carl-bot Reaction Roles in #choose-your-roles
Pin a message at the top:
🔥❄️ **Welcome to the Family!** 🔥❄️
You're no longer a Wanderer — you're home.
Use the reaction roles below to customize your experience:
Reaction Role Setup (via Carl-bot dashboard or commands):
Fire or Frost Path
!rr create
**Choose Your Path:**
🔥 Fire — Bold, Passionate, Unfiltered
❄️ Frost — Strategic, Calculated, Precise
React below to choose your identity.
Add reactions:
- 🔥 →
@Firerole - ❄️ →
@Frostrole
Server Selection
!rr create
**Which servers do you play on?**
Select all that apply — you can change these anytime.
React to unlock server-specific channels:
Add reactions (examples — adjust to your actual servers):
- 🌍 →
@Overworld Playersrole - 🔮 →
@Arcane Academy Playersrole - 🏰 →
@Kingdom Buildersrole - 🚀 →
@Modpack Testersrole
Each role unlocks the corresponding server channel(s).
Notification Preferences (Optional)
!rr create
**Notification Preferences:**
📢 Announcements — Server news and updates
🎉 Events — Community events and giveaways
📰 Patch Notes — Modpack updates and changes
React to opt IN to notifications:
Add reactions:
- 📢 →
@Announcement Pingsrole - 🎉 →
@Event Pingsrole - 📰 →
@Patch Notes Pingsrole
Note: These roles should be mentionable and used in respective channels for pings.
Step 3: Configure Carl-bot Welcome DM
In Carl-bot Dashboard → Welcomer:
- Enable "Send welcome message via DM"
- Trigger: When user receives
@Awakenedrole (or any subscriber tier)
DM Message Template:
🔥❄️ **Welcome to Firefrost Gaming, {user}!** 🔥❄️
You've unlocked full access as an **{role}** subscriber.
Here's what's new:
✅ All channels unlocked
✅ Full chat permissions
✅ Server-specific channels (choose in #choose-your-roles)
✅ Fire or Frost path selection
✅ Priority support
**Next step:** Visit #choose-your-roles to customize your experience and choose your path!
Questions? Open a ticket in #open-a-ticket anytime.
— The Firefrost Team 💙🔥❄️
Variables:
{user}— Mentions the user{role}— Shows their subscriber tier (Awakened, Elemental, etc.)
How to set trigger:
- Carl-bot dashboard → Welcomer → "Trigger on role add"
- Select all subscriber tier roles: Awakened, Elemental, Knight, Master, Legend, Sovereign
Step 4: Configure Welcome Message in #choose-your-roles
Option A: Manual (Holly posts when someone subscribes)
When you see a new subscriber in the server member list:
- Go to #choose-your-roles
- Post:
Welcome, @username! 🔥❄️
You're officially part of the Firefrost family. Choose your path and servers below to customize your experience.
If you have any questions, we're here to help!
Option B: Automated (via Carl-bot or custom webhook)
If Arbiter can trigger a webhook when assigning roles, send to Carl-bot or Discord webhook:
Webhook Payload:
{
"content": "Welcome, <@user_id>! 🔥❄️\n\nYou're officially part of the Firefrost family. Choose your path and servers below to customize your experience.\n\nIf you have any questions, we're here to help!"
}
Webhook URL: #choose-your-roles webhook (create in Channel Settings → Integrations)
Option C: Michael can add webhook call to Arbiter
In Arbiter 3.5.0, after assigning Discord role via API, call Discord webhook:
// After successful role assignment
await fetch('https://discord.com/api/webhooks/[WEBHOOK_ID]/[WEBHOOK_TOKEN]', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
content: `Welcome, <@${discordUserId}>! 🔥❄️\n\nYou're officially part of the Firefrost family. Choose your path and servers below to customize your experience.\n\nIf you have any questions, we're here to help!`
})
});
Recommended: Start with Option A (manual) until subscriber volume requires automation.
Step 5: Test Subscriber Onboarding
- Have Michael manually assign a subscriber role to a test account
- Verify:
- ✅ User receives Carl-bot DM
- ✅ Welcome message appears in #choose-your-roles (if automated)
- ✅ User can see #choose-your-roles channel
- ✅ User can react to role selection messages
- ✅ Roles are assigned correctly when reacting
- ✅ Server channels unlock based on selections
PART 2: MODPACKCHECKER SUPPORT ECOSYSTEM
🎯 THE STRUCTURE
MVC owners need comprehensive support options:
- #mvc-general — Public chat for peer support, tips, discussion
- #mvc-support — Private tickets via Ticket Tool (role-gated)
- 🎙️ MVC Voice Support — Voice channel for live troubleshooting
- 📋 MVC Help Forum — Forum channel for FAQs, guides, troubleshooting threads
Access: All gated to @ModpackChecker Owner role
🛠️ STEP 1: CREATE MODPACKCHECKER CATEGORY
In Discord → Server Settings → Channels:
- Create new category: 📦 ModpackChecker
- Position: Below subscriber channels, above staff channels
- Permissions:
@everyone: ❌ Cannot see@Wanderer: ❌ Cannot see@ModpackChecker Owner: ✅ Can see all channels@Wizard(Michael): ✅ Full access@Staff/@Moderators: ✅ Can see (optional — for community helpers later)
📱 STEP 2: CREATE #mvc-general (Text Chat)
Channel Name: #mvc-general
Type: Text Channel
Category: 📦 ModpackChecker
Channel Topic:
Chat, tips, and peer support for ModpackChecker owners. Ask questions, share configs, help each other troubleshoot. For official support, open a ticket in #mvc-support.
Permissions:
- Inherits from category (MVC Owner can see/post)
Pin a welcome message:
🔌 **Welcome to #mvc-general!**
This is your space to:
✅ Ask quick questions
✅ Share configs and tips
✅ Help other MVC owners troubleshoot
✅ Discuss feature requests
**Need official support?** Open a ticket in #mvc-support — Michael typically responds within 24 hours.
**Resources:**
📖 Full Documentation: [GitBook URL when ready]
🔧 Troubleshooting Guide: [Direct link]
🎟️ Official Support: #mvc-support
Happy troubleshooting! 🔥❄️
🎟️ STEP 3: ADD MVC SUPPORT TICKET CATEGORY
In Ticket Tool Dashboard (tickettool.xyz):
- Go to Panels → Edit Panel (your existing support panel in #open-a-ticket)
- Click "Add Ticket Type"
Ticket Type Configuration:
| Field | Value |
|---|---|
| Name | ModpackChecker Support |
| Emoji | 🔌 (or 📦 or ⚙️) |
| Button Color | Purple |
| Welcome Message | See below |
| Support Roles | @Wizard (Michael only — you're the only one who knows the code) |
| Required Role | @ModpackChecker Owner ← CRITICAL SETTING |
| Category (Discord) | 📦 ModpackChecker |
| Ticket Name Format | mvc-{username} |
| Max Open Tickets Per User | 1 |
Welcome Message:
Thanks for purchasing ModpackChecker! 🔌
Please describe your issue and include the following information:
**Panel Info:**
✅ Pterodactyl Panel version
✅ Blueprint version
✅ PHP version
**Modpack Info:**
✅ Platform (CurseForge/Modrinth/FTB/Technic)
✅ Modpack name and ID (if manual config)
**Error Details:**
✅ What you expected to happen
✅ What actually happened
✅ Screenshots of errors (if any)
**Response Time:** We typically respond within 24 hours. Support hours are Monday-Friday, 9 AM - 5 PM CST.
While you wait:
📖 Check the documentation: [GitBook URL]
💬 Ask in #mvc-general — other owners may have solved similar issues
📋 Browse the MVC Help Forum for FAQs
We'll be with you shortly!
Save and Deploy Panel.
What this does:
- Only users with
@ModpackChecker Ownerrole can see the "ModpackChecker Support" button - Creates private ticket in 📦 ModpackChecker category
- Michael gets notified
- Ticket includes pre-filled troubleshooting info
🎙️ STEP 4: CREATE MVC VOICE SUPPORT CHANNEL
Channel Name: 🎙️ MVC Voice Support
Type: Voice Channel
Category: 📦 ModpackChecker
Channel Settings:
- User Limit: 10 (Michael + up to 9 buyers for group troubleshooting)
- Bitrate: 64 kbps (standard voice quality)
- Video Quality: Auto (allows screen sharing)
Permissions:
- Inherits from category (MVC Owner can join)
@Wizard: ✅ Full permissions (priority speaker, mute/deafen others if needed)
Channel Description:
Voice support for real-time troubleshooting.
**When to use:** Complex issues that need screen-sharing or live debugging.
**Availability:** Monday-Friday, 9 AM - 5 PM CST (when Michael is available).
Not required for most issues — text tickets in #mvc-support work great!
Pin a message in #mvc-general about voice support:
🎙️ **Voice Support Available**
For complex issues that need screen-sharing or live debugging, you can join 🎙️ MVC Voice Support.
**Availability:** Mon-Fri, 9 AM - 5 PM CST
**Use when:** Text troubleshooting isn't cutting it
Most issues are resolved via tickets — voice is optional!
📋 STEP 5: CREATE MVC HELP FORUM CHANNEL
Channel Name: 📋 MVC Help Forum
Type: Forum Channel
Category: 📦 ModpackChecker
Forum Settings:
Default Reaction Emoji: ✅ (marks as solved)
Available Tags: (Create these in Forum Settings → Tags)
FAQ(Color: Blue)Troubleshooting(Color: Orange)Configuration(Color: Green)Bug Report(Color: Red)Feature Request(Color: Purple)CurseForge(Color: Orange)Modrinth(Color: Green)FTB(Color: Yellow)Technic(Color: Light Blue)Solved(Color: Green) ← Auto-applied when thread is marked solved
Default Layout: List View
Permissions:
- Inherits from category (MVC Owner can create threads, post, react)
@Wizard: ✅ Can manage threads, pin, lock, mark as solved
Channel Guidelines (Pin at top):
📋 **MVC Help Forum**
This is a searchable knowledge base for ModpackChecker owners.
**How to use:**
1. Search existing threads before posting — your question may already be answered!
2. Create a new thread for your question or tip
3. Add relevant tags (CurseForge, Modrinth, Troubleshooting, etc.)
4. Mark thread as ✅ Solved when your issue is resolved
**What to post:**
✅ Common issues and solutions
✅ Configuration examples
✅ Tips and tricks
✅ Feature requests
✅ Bug reports
**What NOT to post:**
❌ Support tickets (use #mvc-support for private help)
❌ Off-topic discussion (use #mvc-general)
Let's build a great resource together! 🔥❄️
Pre-Seed Forum with Initial Threads
Michael (or Holly) should create these starter threads:
Thread 1: FAQ - Getting Started
Title: [FAQ] Getting Started with ModpackChecker
Tags: FAQ, Configuration
Content:
Welcome to ModpackChecker! Here's how to get started:
1. **Install the extension** via Blueprint
2. **Configure API keys** in Admin Panel → Extensions → ModpackChecker
3. **Wait for auto-detection** (runs every hour via cron)
4. **Check your dashboard** for update badges
**Supported Platforms:**
✅ CurseForge (auto-detection)
✅ Modrinth (auto-detection)
⚙️ FTB (manual config required)
⚙️ Technic (manual config required)
**Full Documentation:** [GitBook URL when ready]
Questions? Ask in #mvc-general or open a ticket in #mvc-support!
Mark as solved (✅), pin the thread.
Thread 2: Troubleshooting - Badge is Gray
Title: [Troubleshooting] My badge shows gray / "Not Configured"
Tags: Troubleshooting
Content:
If your dashboard badge is gray or says "Not Configured," this means:
❌ No modpack was auto-detected
❌ Manual configuration has not been set
**Common Causes:**
1. **Vanilla Server** — No modpack manifest exists
2. **Custom Modpack** — Not using CurseForge/Modrinth
3. **FTB/Technic Server** — Requires manual configuration
4. **Manifest File Deleted** — The installer removed manifest.json
**Solution:**
Use manual configuration in the server's Console Widget:
1. Click "Configure Manually"
2. Select platform (CurseForge, Modrinth, FTB, Technic)
3. Enter modpack ID
4. Save
The badge will update on the next cron run (every hour).
**Still stuck?** Open a ticket in #mvc-support with:
- Panel version
- Blueprint version
- Server details (modpack name, platform)
Mark as solved (✅), pin the thread.
Thread 3: Configuration - Where to Find Modpack IDs
Title: [Configuration] How to find your modpack ID for manual config
Tags: Configuration, CurseForge, Modrinth, FTB, Technic
Content:
When manually configuring a server, you need the modpack ID from the platform.
**CurseForge:**
1. Go to the modpack page (e.g., `curseforge.com/minecraft/modpacks/all-the-mods-9`)
2. Look at the URL — the ID is the number at the end: `715572`
3. OR: Look at `manifest.json` → `projectID` field
**Modrinth:**
1. Go to the modpack page (e.g., `modrinth.com/modpack/adrenaserver`)
2. The slug is the last part of the URL: `adrenaserver`
3. OR: Look at `modrinth.index.json` → Extract from `versionId` field
**FTB:**
1. Go to the FTB App modpack page
2. The ID is usually in the URL or modpack details
3. Contact FTB support if unclear
**Technic:**
1. Go to `technicpack.net/modpack/[slug]`
2. The slug is the modpack identifier (e.g., `tekkit-classic`)
**Still confused?** Open a ticket in #mvc-support with the modpack name and we'll help!
Mark as solved (✅), pin the thread.
✅ STEP 6: TEST MVC SUPPORT ECOSYSTEM
Test Checklist:
- Create test account with
@ModpackChecker Ownerrole - Test #mvc-general access:
- ✅ Can see channel
- ✅ Can post messages
- ✅ Welcome message is pinned
- Test ticket access:
- ✅ Can see "ModpackChecker Support" button in #open-a-ticket
- ✅ Clicking button creates ticket in 📦 ModpackChecker category
- ✅ Welcome message shows correct info
- ✅ Ticket is private (only user + Michael can see)
- Test voice channel:
- ✅ Can see 🎙️ MVC Voice Support
- ✅ Can join channel
- ✅ Can share screen (if needed for troubleshooting)
- Test forum channel:
- ✅ Can see 📋 MVC Help Forum
- ✅ Can create new thread
- ✅ Can add tags
- ✅ Can mark as solved (✅)
- ✅ Starter threads are visible and pinned
If any tests fail, review permissions and channel settings.
📊 WHAT THIS CREATES
For Wanderers:
- Simple onboarding: Accept rules → Welcome home
- See ALL channels (FOMO effect)
- Can chat in #general, get support in #open-a-ticket
- Clear path to subscribe for full access
For Subscribers:
- Warm welcome via DM + #choose-your-roles mention
- Full customization: Fire/Frost path, server selections
- Feel special, welcomed, part of the family
For MVC Owners:
#mvc-general— Quick questions, peer support, community#mvc-support— Private tickets, Michael responds 24 hrs🎙️ MVC Voice Support— Live troubleshooting when needed📋 MVC Help Forum— Searchable FAQs, guides, solved issues
Complete support ecosystem. Professional, welcoming, scalable. 🔥❄️💙
🔄 HANDOFF TO HOLLY
Holly, here's your implementation checklist:
Part 1: Onboarding (30-60 minutes)
- Enable Discord Native Onboarding
- Configure welcome screen
- Set rules acceptance (required)
- Set
@Wandererrole as completion action - Configure Wanderer permissions (see all, post in some)
- Test with alt account
Part 2: Subscriber Onboarding (30-60 minutes)
- Create #choose-your-roles channel
- Set up Carl-bot reaction roles (Fire/Frost, servers, notifications)
- Configure Carl-bot DM on role assignment
- Decide: Manual welcome messages or automated webhook?
- Test with test subscriber account
Part 3: MVC Support (60-90 minutes)
- Create 📦 ModpackChecker category
- Create #mvc-general (text chat)
- Add MVC Support ticket type in Ticket Tool
- Create 🎙️ MVC Voice Support (voice channel)
- Create 📋 MVC Help Forum (forum channel)
- Pre-seed forum with 3 starter threads
- Test with test MVC Owner account
Total Time: 2-3 hours
Questions? Tag Michael or open a ticket in #open-a-ticket.
Fire + Frost + Foundation = Where Love Builds Legacy 💙🔥❄️
Created by: Chronicler #64
Date: April 6, 2026
Status: Ready for Holly to implement