# Firefrost Gaming - Server-Side Mod Deployment Guide

**Version:** 1.0  
**Date:** March 23, 2026  
**Author:** Chronicler #40  
**Audience:** Holly (Lead Builder) - Step-by-step implementation guide  
**Purpose:** Deploy all required server-side mods across 13+ Minecraft servers

---

## 📋 TABLE OF CONTENTS

1. [Overview](#overview)
2. [Before You Start - Michael's Setup Tasks](#before-you-start)
3. [Required Mods List](#required-mods-list)
4. [Installation Process](#installation-process)
5. [Per-Mod Configuration](#per-mod-configuration)
6. [Testing & Verification](#testing-verification)
7. [Troubleshooting](#troubleshooting)
8. [Reference](#reference)

---

## 🎯 OVERVIEW

### What This Guide Does

This guide walks you through installing and configuring server-side mods on all Firefrost Gaming Minecraft servers. These mods handle:
- Permissions and ranks (LuckPerms)
- Chunk claiming (FTB Chunks)
- Homes and teleports (FTB Essentials)
- Building tools (WorldEdit)
- Discord integration
- And more

### Servers You'll Configure

**Total: 13 servers** across two dedicated machines:

**TX1 Dallas (38.68.14.26):**
- 6-7 modpack servers

**NC1 Charlotte (216.239.104.130):**
- 6-7 modpack servers

### Time Estimate

- **Per server:** 30-45 minutes
- **All 13 servers:** 6-8 hours (spread across multiple days is fine)

### What You Need

- SSH access to TX1 and NC1
- Pterodactyl Panel access (panel.firefrostgaming.com)
- This guide
- Michael's help for MySQL setup (see next section)

---

## 🔧 BEFORE YOU START - MICHAEL'S SETUP TASKS

**STOP: Michael needs to complete this section BEFORE you start installing mods.**

### Task 1: MySQL Database Setup on Command Center

Michael will set up a MySQL database that all 13 servers will connect to for LuckPerms.

**Michael's Steps:**

```bash
# SSH to Command Center
ssh root@63.143.34.217

# Access MySQL
mysql -u root -p

# Create database
CREATE DATABASE luckperms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# Create user (change password!)
CREATE USER 'luckperms'@'%' IDENTIFIED BY 'CHANGE_THIS_PASSWORD';

# Grant permissions
GRANT ALL PRIVILEGES ON luckperms.* TO 'luckperms'@'%';
FLUSH PRIVILEGES;

# Verify
SHOW DATABASES;
SELECT User, Host FROM mysql.user WHERE User='luckperms';

# Exit
exit
```

**What Michael gives you:**
- Database host: `63.143.34.217`
- Database name: `luckperms`
- Database user: `luckperms`
- Database password: `[password Michael sets]`
- Database port: `3306` (default MySQL)

**Save these credentials securely - you'll need them for EVERY server.**

### Task 2: Store Credentials in Vaultwarden

Michael will store the MySQL credentials in Vaultwarden so you can access them securely.

**Location:** Vaultwarden → Firefrost Gaming → "LuckPerms MySQL Credentials"

---

## 📦 REQUIRED MODS LIST

### Core Mods (Required on ALL servers)

#### 1. **LuckPerms**
**What it does:** Permission management system. Controls who can do what (ranks, permissions, subscriber tiers).

**Why we need it:** This is how subscriber tiers work. Awakened subscribers get 1 home, Elemental gets 5 homes, etc. LuckPerms manages all of that.

**Dependencies:** None

**Versions needed:**
- 1.16.5: LuckPerms Forge v5.4.x
- 1.20.x: LuckPerms Forge/NeoForge v5.4.x
- 1.21.x: LuckPerms NeoForge v5.4.x

**Download:** https://luckperms.net/download

---

#### 2. **FTB Chunks (Forge/NeoForge)**
**What it does:** Chunk claiming and protection. Players claim chunks to protect their builds.

**Why we need it:** Subscriber tiers give different chunk limits. Awakened = 0 chunks, Elemental = 25 chunks, Knight = 49 chunks, etc.

**Dependencies:** FTB Library, FTB Teams, Architectury API (install these first!)

**Versions needed:**
- 1.16.5: FTB Chunks Forge
- 1.20.x: FTB Chunks Forge/NeoForge
- 1.21.x: FTB Chunks NeoForge

**Download:** https://www.curseforge.com/minecraft/mc-mods/ftb-chunks-forge

---

#### 3. **FTB Essentials**
**What it does:** Essential commands like /home, /sethome, /rtp (random teleport), /spawn, /back.

**Why we need it:** Subscriber tiers have different home limits and /rtp cooldowns. This mod enforces those limits.

**Dependencies:** FTB Library, Architectury API (install these first!)

**Versions needed:**
- 1.16.5: FTB Essentials Forge
- 1.20.x: FTB Essentials Forge/NeoForge  
- 1.21.x: FTB Essentials NeoForge

**Download:** https://www.curseforge.com/minecraft/mc-mods/ftb-essentials-forge

---

#### 4. **FTB Library** (Dependency)
**What it does:** Required library for FTB Chunks, FTB Essentials, and FTB Teams to work.

**Why we need it:** FTB mods won't run without this.

**Dependencies:** Architectury API (install this first!)

**Dependency for:** FTB Chunks, FTB Essentials, FTB Teams

**Download:** https://www.curseforge.com/minecraft/mc-mods/ftb-library-forge

---

#### 5. **Architectury API** (Dependency)
**What it does:** Required library for many cross-platform mods (works with both Forge and Fabric).

**Why we need it:** Required by FTB Library and some other mods.

**Dependencies:** None

**Dependency for:** FTB Library (and transitively, all FTB mods), Elite Holograms

**Download:** https://www.curseforge.com/minecraft/mc-mods/architectury-api

---

#### 6. **FTB Teams**
**What it does:** Team system that integrates with FTB Chunks. Players can form teams and share chunk claims.

**Why we need it:** Better than solo chunk claiming - teams can build together.

**Dependencies:** FTB Library, Architectury API (install these first!)

**Dependency for:** FTB Chunks (required)

**Download:** https://www.curseforge.com/minecraft/mc-mods/ftb-teams-forge

---

#### 7. **WorldEdit**
**What it does:** Powerful building and editing tool. Copy/paste structures, fill areas, replace blocks, etc.

**Why we need it:** Essential for builders (like you!). Staff rank gets full WorldEdit access.

**Dependencies:** None

**Versions needed:**
- 1.16.5: WorldEdit Forge
- 1.20.x: WorldEdit Forge/NeoForge
- 1.21.x: WorldEdit NeoForge

**Download:** https://enginehub.org/worldedit

---

#### 8. **YAWP (Yet Another World Protector)**
**What it does:** Advanced world protection and region management. Protect spawn areas, create safe zones, etc.

**Why we need it:** Protects important areas like spawn, prevents griefing in public spaces.

**Dependencies:** Check mod page - varies by version (may require additional libraries)

**Note:** May require additional dependencies depending on version - check mod page.

**Download:** https://www.curseforge.com/minecraft/mc-mods/yawp (check version availability)

---

### Performance & Optimization Mods (Highly Recommended)

#### 9. **ServerCore**
**What it does:** Server-side performance optimizations. Reduces lag, improves TPS (ticks per second).

**Why we need it:** Running 13 servers requires good performance. This helps.

**Dependencies:** None

**Download:** https://www.curseforge.com/minecraft/mc-mods/servercore

---

#### 10. **FerriteCore**
**What it does:** Reduces memory usage significantly (up to 30-40% in some cases).

**Why we need it:** Less RAM per server = more stable operation across all 13 servers.

**Dependencies:** None

**Download:** https://www.curseforge.com/minecraft/mc-mods/ferritecore

---

#### 11. **Spark**
**What it does:** Performance profiling and monitoring. Helps diagnose lag.

**Why we need it:** When a server lags, Spark tells us why (which mod, which chunk, etc.).

**Dependencies:** None

**Download:** https://spark.lucko.me/download

---

### Protection & Rollback Mods

#### 12. **Prism** (if available for your version)
**What it does:** Block logging and rollback protection. Records who placed/broke what blocks.

**Why we need it:** If someone griefs a subscriber's build, we can roll it back and prove who did it.

**Dependencies:** Check mod page - varies by version (Forge/NeoForge ports may have different requirements)

**Status:** Check if Prism exists for Forge/NeoForge on your version. If not available, rely on backups.

**Download:** Search CurseForge for "Prism Forge" + your version

---

### Quality of Life Mods (Optional but Recommended)

#### 13. **Elite Holograms**
**What it does:** Creates floating holographic text and images in-game. Can display server info, rules, welcome messages, leaderboards, etc.

**Why we need it:** Creates professional-looking information displays at spawn, server rules, tier benefits explanations, welcome messages for new players.

**Dependencies:** 
- Architectury API (required)
- Fabric API / Forge API (depending on mod loader - usually auto-included)

**Use cases:**
- Spawn area: Display server rules, tier comparison chart
- Welcome area: Greet new Awakened tier subscribers
- Shop/Hub areas: Show available perks per tier
- Event areas: Announce competitions or Fire vs Frost standings

**Download:** https://www.curseforge.com/minecraft/mc-mods/elite-holograms

**Note:** Check if your modpack already includes a hologram mod before adding this.

---

### Discord Integration (Version-Dependent)

#### 14. **Discord Integration Mod**

**What it does:** Connects Minecraft server to Discord. Shows in-game chat in Discord channel, and vice versa.

**Dependencies:** Varies by mod - check mod page for each version

**Recommended mods by version:**

**For 1.16.5:**
- **DiscordSRV (Forge fork)** or **Discord Integration by Cadiboo**
- Download: Search "DiscordSRV Forge 1.16.5" or "Discord Integration Forge"

**For 1.20.x (NeoForge):**
- **dcintegration**
- Download: https://www.curseforge.com/minecraft/mc-mods/dcintegration

**For 1.21.x (NeoForge):**
- **dcintegration** (if updated) or check modpack for built-in integration
- Download: https://www.curseforge.com/minecraft/mc-mods/dcintegration

---

### Monitoring & Analytics

#### 15. **Plan** (Optional)
**What it does:** Player analytics dashboard. Track playtime, most active players, server performance over time.

**Why we might use it:** Helps Michael/Meg understand player engagement and server health.

**Dependencies:** None (standalone mod)

**Status:** Optional - adds overhead, use if analytics are important

**Download:** https://www.playeranalytics.net/

---

### Voice Chat (Optional, if modpack includes it)

#### 16. **Simple Voice Chat**
**What it does:** Proximity voice chat in-game. Talk to players near you.

**Dependencies:** None

**Status:** Only configure if the modpack already has it installed. Don't add it separately.

**If present:** Configure permissions via LuckPerms (which tiers can use voice).

**Download:** https://www.curseforge.com/minecraft/mc-mods/simple-voice-chat

---

#### 13. **Corpse** or **You're In Grave Danger**
**What it does:** When you die, your items are stored in a grave/corpse instead of scattering.

**Why we might use it:** Much better death experience for subscribers. Items protected, easy to retrieve.

**Download:** Search CurseForge for your version

---

## 📋 DEPENDENCY SUMMARY

**Before installing mods, understand the dependency chain:**

### Critical Dependencies (Install These First)

1. **Architectury API** → Required by FTB Library
2. **FTB Library** → Required by FTB Chunks, FTB Essentials, FTB Teams
3. **FTB Teams** → Required by FTB Chunks

### Installation Order (Required Mods)

**Step 1: Install Dependencies**
1. Architectury API
2. FTB Library
3. FTB Teams

**Step 2: Install Core Functionality Mods**
4. LuckPerms (no dependencies)
5. FTB Chunks (requires: FTB Library, FTB Teams, Architectury API)
6. FTB Essentials (requires: FTB Library, Architectury API)
7. WorldEdit (no dependencies)
8. YAWP (check mod page for dependencies - varies by version)

**Step 3: Install Performance Mods**
9. ServerCore (no dependencies)
10. FerriteCore (no dependencies)
11. Spark (no dependencies)

**Step 4: Install Optional Mods (if desired)**
12. Prism (if available - check dependencies on mod page)
13. Elite Holograms (requires: Architectury API)
14. Discord integration mod (varies by version)
15. Plan (if using analytics)
16. Simple Voice Chat (if modpack includes it)

### Quick Dependency Reference

| Mod | Requires | Required By |
|-----|----------|-------------|
| Architectury API | None | FTB Library, Elite Holograms |
| FTB Library | Architectury API | FTB Chunks, FTB Essentials, FTB Teams |
| FTB Teams | FTB Library, Architectury API | FTB Chunks |
| FTB Chunks | FTB Library, FTB Teams, Architectury API | None |
| FTB Essentials | FTB Library, Architectury API | None |
| LuckPerms | None | None |
| WorldEdit | None | None |
| Elite Holograms | Architectury API | None |

**If a mod won't load:** Check server console for "missing dependency" errors and install the required mod(s).

---

## 🚀 INSTALLATION PROCESS

### Step 1: Access the Server

You'll be working through **Pterodactyl Panel** (easier) or **SSH** (advanced).

#### Option A: Via Pterodactyl Panel (Recommended)

1. Go to https://panel.firefrostgaming.com
2. Log in
3. Click on the server you want to configure
4. Go to **Files** tab
5. Navigate to `/mods/` directory

#### Option B: Via SSH (Advanced)

```bash
# SSH to TX1
ssh root@38.68.14.26

# Or SSH to NC1
ssh root@216.239.104.130

# Find your server directory
cd /var/lib/pterodactyl/volumes/[server-uuid]/mods/
```

---

### Step 2: Download Mods

**For each mod:**

1. Go to the mod's download page (links above)
2. Select your Minecraft version
3. Select Forge or NeoForge (match what the modpack uses)
4. Download the `.jar` file

**Example: Downloading LuckPerms for 1.20.1 NeoForge**

1. Go to https://luckperms.net/download
2. Click "Forge/NeoForge"
3. Find version compatible with 1.20.1
4. Download `LuckPerms-Forge-5.4.xxx.jar`

---

### Step 3: Upload Mods to Server

#### Via Pterodactyl Panel:

1. In the **Files** tab, navigate to `/mods/`
2. Click **Upload** button (top right)
3. Drag and drop the `.jar` file
4. Wait for upload to complete

#### Via SSH (if you prefer):

```bash
# Upload from your local machine using SCP
scp LuckPerms-Forge-5.4.xxx.jar root@38.68.14.26:/var/lib/pterodactyl/volumes/[server-uuid]/mods/
```

---

### Step 4: Verify Mod Installation

**After uploading all mods:**

1. In Pterodactyl Panel, go to **Console** tab
2. Click **Start** to start the server
3. Watch the console for mod loading messages
4. Look for lines like:
   ```
   [Server thread/INFO] [LuckPerms]: Loading LuckPerms v5.4.xxx
   [Server thread/INFO] [FTB Chunks]: Loading FTB Chunks
   ```

**If you see errors:**
- Check that you downloaded the correct version (Forge vs NeoForge)
- Check that you downloaded for the correct Minecraft version
- Check server logs for "dependency missing" errors

---

### Step 5: Stop Server for Configuration

**Before configuring mods, stop the server:**

1. In Pterodactyl Console, click **Stop**
2. Wait for server to fully shut down
3. Now you can edit configuration files

---

## ⚙️ PER-MOD CONFIGURATION

### LuckPerms Configuration

**Location:** `/config/luckperms/luckperms.conf`

#### Step 1: Switch to MySQL Storage

**Find this section:**
```conf
storage-method = h2
```

**Change to:**
```conf
storage-method = mysql
```

#### Step 2: Configure MySQL Connection

**Find the `data` section and configure:**

```conf
data {
  # MySQL connection details
  address = "63.143.34.217:3306"
  database = "luckperms"
  username = "luckperms"
  password = "PASSWORD_FROM_MICHAEL"
  
  # Connection pool settings (leave these default)
  pool-settings {
    maximum-pool-size = 10
    minimum-idle = 10
    maximum-lifetime = 1800000
    connection-timeout = 5000
  }
}
```

**Replace:**
- `PASSWORD_FROM_MICHAEL` with the actual password Michael gave you

#### Step 3: Configure Sync Settings

**Find the `messaging-service` section:**

```conf
messaging-service = none
```

**Change to:**
```conf
messaging-service = sql
```

**This enables cross-server permission sync via MySQL.**

#### Step 4: Save and Close

**Via Pterodactyl Panel:**
1. Click **Save Content** button
2. Close the editor

---

### FTB Chunks Configuration

**Location:** `/config/ftbchunks/common-config.snbt`

**This file configures chunk claiming limits and force-loading.**

#### Default Configuration

The default config works, but you'll set limits via LuckPerms permissions instead. Leave this file as-is for now.

**Key settings to note:**
- `max_claimed_chunks: 100` (default max, overridden by permissions)
- `max_force_loaded_chunks: 25` (default max, overridden by permissions)

**We'll set per-tier limits in the Subscription Automation Guide.**

---

### FTB Essentials Configuration

**Location:** `/config/ftbessentials.snbt`

**This file configures homes and teleports.**

#### Key Settings to Configure

**Find and modify:**

```snbt
{
  # Home settings
  max_homes: 1  # Default (will be overridden by LuckPerms)
  
  # RTP settings
  rtp_cooldown: 600  # 10 minutes default (will be overridden by LuckPerms)
  rtp_min_distance: 500
  rtp_max_distance: 10000
  
  # Spawn settings
  spawn_dimension: "minecraft:overworld"
}
```

**Leave defaults for now - we'll set per-tier values via LuckPerms permissions.**

---

### WorldEdit Configuration

**Location:** `/config/worldedit/worldedit.properties`

**Default settings are fine for most servers.**

#### CRITICAL: WorldEdit Permissions via LuckPerms

**WorldEdit is a POWERFUL tool that can destroy or duplicate items/blocks. Only staff should have access.**

**After creating LuckPerms groups (Part 3), configure WorldEdit permissions:**

**💡 RECOMMENDED: Use LuckPerms Web Editor**

The easiest way to configure WorldEdit permissions is via the LuckPerms web editor:

1. Join server in-game
2. Run `/lp editor`
3. Click the link to open web interface
4. Create Builder and Owner groups (see Subscription Automation Guide Part 3)
5. Add WorldEdit permissions to Builder group
6. Explicitly deny `worldedit.*` to all subscriber groups
7. Save and apply

**See `docs/guides/subscription-automation-guide.md` Part 3 for complete web editor instructions.**

---

**ALTERNATIVE: Console Commands (if you prefer terminal)**

**On ONE server console (syncs to all via MySQL):**

```
# Deny WorldEdit to ALL subscriber groups
/lp group wanderer permission set worldedit.* false
/lp group awakened permission set worldedit.* false
/lp group fire_elemental permission set worldedit.* false
/lp group frost_elemental permission set worldedit.* false
/lp group fire_knight permission set worldedit.* false
/lp group frost_knight permission set worldedit.* false
/lp group fire_master permission set worldedit.* false
/lp group frost_master permission set worldedit.* false
/lp group fire_legend permission set worldedit.* false
/lp group frost_legend permission set worldedit.* false
/lp group sovereign permission set worldedit.* false

# Create Builder staff group (for Holly)
/lp creategroup builder
/lp group builder parent add default
/lp group builder setweight 1000
/lp group builder meta setprefix "&6[🔨 Builder] "
/lp group builder permission set worldedit.* true
/lp group builder permission set worldedit.navigation.* true
/lp group builder permission set worldedit.selection.* true
/lp group builder permission set worldedit.region.* true
/lp group builder permission set worldedit.analysis.* true
/lp group builder permission set worldedit.butcher true
/lp group builder permission set worldedit.clipboard.* true
/lp group builder permission set worldedit.generation.* true
/lp group builder permission set worldedit.history.* true
/lp group builder permission set worldedit.schematic.* true
/lp group builder permission set worldedit.scripting.* true
/lp group builder permission set worldedit.snapshots.* true
/lp group builder permission set worldedit.superpickaxe.* true
/lp group builder permission set worldedit.tool.* true
/lp group builder permission set worldedit.brush.* true
/lp group builder permission set minecraft.command.gamemode true
/lp group builder permission set ftbchunks.* true
/lp group builder meta setmeta max-homes 100

# Create Owner group (for Michael/Frostystyle)
/lp creategroup owner
/lp group owner parent add builder
/lp group owner setweight 10000
/lp group owner meta setprefix "&c[👑 Owner] "
/lp group owner permission set * true

# Assign Holly to Builder group
/lp user unicorn20089 parent set builder

# Assign Michael to Owner group (use your Minecraft username)
/lp user Frostystyle parent set owner
```

**What this does:**
- ✅ **Holly (Builder):** Full WorldEdit access, gamemode, unlimited chunks/homes
- ✅ **Michael (Owner):** All permissions (full admin)
- ❌ **ALL subscribers (even Sovereign $499):** NO WorldEdit access

**This prevents:**
- Subscribers using WorldEdit to duplicate items
- Subscribers using WorldEdit to bypass chunk claims
- Subscribers using WorldEdit to grief or crash servers

#### Optional: Increase Max Blocks for Staff

**If you want staff (Builder rank) to have higher WorldEdit limits:**

Edit `/config/worldedit/worldedit.properties`:

```properties
# Maximum number of blocks that can be changed at once
max-blocks-changed=10000000  # 10 million for staff (default is 1 million)

# Maximum number of polygonal points
max-polygon-points=50  # Higher for complex selections

# Maximum radius for commands
max-radius=5000  # Larger radius for staff

# Maximum super pickaxe size
max-super-pickaxe-size=500
```

**Note:** These limits apply to everyone with WorldEdit access (Builder and Owner ranks only).

---

### YAWP Configuration

**Location:** `/config/yawp/` (exact path depends on YAWP version)

**YAWP is typically configured in-game via commands.**

**Basic setup:**

1. Start the server
2. Join as an admin/op
3. Use commands like:
   ```
   /yawp region create spawn
   /yawp region flag spawn pvp deny
   /yawp region flag spawn mob-spawning deny
   ```

**Full YAWP configuration is beyond this guide - configure as needed per server.**

---

### Discord Integration Configuration

**Configuration varies by mod - choose based on your server version:**

#### For DiscordSRV (1.16.5):

**Location:** `/config/discordsrv/config.yml`

```yaml
# Discord bot token (get from Michael or Discord Developer Portal)
BotToken: "YOUR_DISCORD_BOT_TOKEN"

# Channel IDs
Channels:
  global: "DISCORD_CHANNEL_ID"

# Options
DiscordChatChannelConsoleCommandNotificationsEnabled: false
DiscordChatChannelServerStartupMessageEnabled: true
DiscordChatChannelServerShutdownMessageEnabled: true
```

#### For dcintegration (1.20.x / 1.21.x NeoForge):

**Location:** `/config/dcintegration/config.toml`

```toml
[discord]
  # Bot token
  token = "YOUR_DISCORD_BOT_TOKEN"
  
  # Channel ID for chat relay
  channelId = "DISCORD_CHANNEL_ID"
  
[minecraft]
  # Enable chat relay
  enableChatRelay = true
  
  # Webhook settings (optional)
  useWebhook = false
```

**Get bot token and channel IDs from Michael.**

---

### Spark Configuration

**Location:** No config file needed!

**Spark works out of the box.**

**Usage:**
1. In-game, run `/spark profiler start`
2. Let it run for 30-60 seconds
3. Run `/spark profiler stop`
4. Spark gives you a web link to view results

**Only staff (Builder rank and above) should have access to Spark commands.**

---

### Waystones Configuration (If Modpack Includes It)

**ONLY configure if the modpack already has Waystones installed. Do NOT add this mod separately.**

**What Waystones does:** Fast travel between waystone structures that players place in the world.

**Integration with Subscriber Tiers:** Waystones cooldown should match /rtp cooldown per tier.

#### Configure Waystones Cooldowns via LuckPerms

**Location:** Configure via LuckPerms permissions (not config file)

**Set cooldown permissions for each subscriber tier:**

```
# Awakened - No Waystones access (same as no /rtp)
/lp group awakened permission set waystones.use false

# Fire/Frost Elemental - 60 minute cooldown
/lp group fire_elemental permission set waystones.use true
/lp group fire_elemental meta setmeta waystones-cooldown 3600
/lp group frost_elemental permission set waystones.use true
/lp group frost_elemental meta setmeta waystones-cooldown 3600

# Fire/Frost Knight - 30 minute cooldown
/lp group fire_knight meta setmeta waystones-cooldown 1800
/lp group frost_knight meta setmeta waystones-cooldown 1800

# Fire/Frost Master - 15 minute cooldown
/lp group fire_master meta setmeta waystones-cooldown 900
/lp group frost_master meta setmeta waystones-cooldown 900

# Fire/Frost Legend - 10 minute cooldown
/lp group fire_legend meta setmeta waystones-cooldown 600
/lp group frost_legend meta setmeta waystones-cooldown 600

# Sovereign - No cooldown (unlimited)
/lp group sovereign meta setmeta waystones-cooldown 0

# Staff - No cooldown
/lp group builder meta setmeta waystones-cooldown 0
/lp group owner meta setmeta waystones-cooldown 0
```

**Cooldown Summary:**
- Awakened: Cannot use Waystones
- Elemental: 60 minutes (3600 seconds)
- Knight: 30 minutes (1800 seconds)
- Master: 15 minutes (900 seconds)
- Legend: 10 minutes (600 seconds)
- Sovereign/Staff: No cooldown (0 seconds)

**Note:** These cooldowns match the /rtp cooldowns, maintaining tier consistency.

---

## ✅ TESTING & VERIFICATION

### Test Checklist - Per Server

After configuring all mods on a server, test the following:

#### 1. Server Starts Successfully

- [ ] Server starts without errors
- [ ] All mods load (check console)
- [ ] No "missing dependency" errors
- [ ] Server reaches "Done" state

#### 2. LuckPerms Works

```
# In-game or console, run:
/lp info

# Should show LuckPerms version and connection status
# Should say "Storage: MySQL" (not h2 or sqlite)
```

**💡 TIP: Use the LuckPerms Web Editor**

Instead of managing permissions via console commands, you can use the visual web editor:

1. Join the server in-game
2. Run command: `/lp editor`
3. Click the link that appears in chat
4. Opens https://luckperms.net/editor/xxxxxxxx in your browser
5. Visual interface to create groups, set permissions, configure prefixes
6. Click "Save" when done, copy the command, paste in console

**Benefits:**
- Visual group hierarchy
- Color picker for chat prefixes
- Drag-and-drop permissions
- No typing errors
- Much faster than console commands

**See the Subscription Automation Guide (Part 3) for detailed web editor instructions.**

#### 3. FTB Chunks Works

```
# In-game:
/ftbchunks

# Should open chunk claiming GUI
# Try claiming a chunk (right-click a chunk on the map)
```

#### 4. FTB Essentials Works

```
# In-game:
/sethome test
/home test
/delhome test

# Should set, teleport to, and delete home successfully
```

#### 5. WorldEdit Works

```
# In-game (as Builder rank):
//wand

# Should give you a wooden axe (WorldEdit selection tool)
```

#### 6. Discord Integration Works

```
# In-game, type a message in chat
# Check Discord channel - message should appear
# Type in Discord - message should appear in-game
```

---

## 🔧 TROUBLESHOOTING

### Server Won't Start

**Symptom:** Server crashes on startup or gets stuck loading.

**Common Causes:**
1. **Wrong Forge/NeoForge version** - Make sure mod matches server type
2. **Missing dependencies** - Check for "missing required mod" errors
3. **Incompatible mods** - Some mods conflict with each other
4. **Corrupted jar file** - Re-download and re-upload

**Solution:**
1. Check server console for specific error messages
2. Look for lines like "Missing required mod: [modname]"
3. Download missing dependencies
4. If still broken, remove mods one by one to find the problem

---

### LuckPerms Can't Connect to MySQL

**Symptom:** LuckPerms loads but shows errors about database connection.

**Common Causes:**
1. **Wrong MySQL credentials** - Double-check username, password, host, port
2. **Firewall blocking connection** - Server can't reach Command Center
3. **MySQL not running** - Database server is down

**Solution:**
1. Check credentials in `/config/luckperms/luckperms.conf`
2. Test connection from server to MySQL:
   ```bash
   telnet 63.143.34.217 3306
   ```
3. If connection fails, ask Michael to check firewall rules

---

### FTB Chunks Claims Not Working

**Symptom:** Players can't claim chunks or claims don't protect.

**Common Causes:**
1. **Permission not granted** - Player doesn't have `ftbchunks.claim` permission
2. **Chunk limit reached** - Player hit their claim limit for their tier
3. **Protected area** - Trying to claim in spawn protection zone

**Solution:**
1. Grant permission via LuckPerms:
   ```
   /lp group awakened permission set ftbchunks.claim true
   ```
2. Check player's claim count:
   ```
   /ftbchunks admin info <playername>
   ```
3. Adjust claim limits in config or via permissions

---

### Discord Integration Not Working

**Symptom:** Messages don't relay between Minecraft and Discord.

**Common Causes:**
1. **Wrong bot token** - Discord bot token is incorrect or expired
2. **Wrong channel ID** - Pointing to wrong Discord channel
3. **Bot not in server** - Discord bot hasn't been invited to your Discord server
4. **Missing bot permissions** - Bot doesn't have Send Messages / Read Messages permissions

**Solution:**
1. Double-check bot token in config file
2. Verify channel ID (right-click channel in Discord, Copy ID)
3. Re-invite bot to Discord server with proper permissions
4. Restart Minecraft server after config changes

---

## 📚 REFERENCE

### Quick Command Reference

#### LuckPerms Commands

```bash
# View user info
/lp user <username> info

# View group info
/lp group <groupname> info

# Add user to group
/lp user <username> parent add <groupname>

# Set permission
/lp group <groupname> permission set <permission> true

# View all groups
/lp listgroups
```

#### FTB Chunks Commands

```bash
# Open chunk claiming GUI
/ftbchunks

# View player's claims
/ftbchunks admin info <playername>

# Force claim for player (admin only)
/ftbchunks admin claim <playername>

# Unclaim chunk
/ftbchunks unclaim
```

#### FTB Essentials Commands

```bash
# Set home
/sethome <name>

# Go to home
/home <name>

# Delete home
/delhome <name>

# List homes
/homes

# Random teleport
/rtp

# Go back to previous location
/back
```

#### WorldEdit Commands (Staff Only)

```bash
# Get selection wand
//wand

# Set position 1
//pos1

# Set position 2
//pos2

# Replace blocks in selection
//replace <from> <to>

# Fill area
//set <block>

# Copy selection
//copy

# Paste selection
//paste
```

---

### File Locations Quick Reference

```
Server Root
├── mods/
│   ├── LuckPerms-Forge-5.4.xxx.jar
│   ├── ftbchunks-forge-xxx.jar
│   ├── ftbessentials-xxx.jar
│   ├── ftblibrary-xxx.jar
│   ├── ftbteams-xxx.jar
│   ├── worldedit-forge-xxx.jar
│   ├── ServerCore-xxx.jar
│   ├── FerriteCore-xxx.jar
│   └── ... (other mods)
│
├── config/
│   ├── luckperms/
│   │   └── luckperms.conf
│   ├── ftbchunks/
│   │   └── common-config.snbt
│   ├── ftbessentials.snbt
│   ├── worldedit/
│   │   └── worldedit.properties
│   └── ... (other configs)
│
└── logs/
    └── latest.log
```

---

### Subscriber Tier Limits (Quick Reference)

| Tier | Homes | Claimed Chunks | Force-Load Chunks | /rtp Cooldown |
|------|-------|----------------|-------------------|---------------|
| Wanderer | 0 | 0 | 0 | None (no access) |
| Awakened | 1 | 0 | 0 | None (no access) |
| Elemental | 5 | 25 | 0 | 60 min |
| Knight | 10 | 49 | 4 | 30 min |
| Master | 20 | 100 | 9 | 15 min |
| Legend | 35 | 121 | 16 | 10 min |
| Sovereign | 50 | 225 | 81 | None (unlimited) |

**These limits are configured in the Subscription Automation Guide (separate document).**

---

### Important Reminders

1. **Always stop the server before editing config files**
2. **Test changes on ONE server before applying to all 13**
3. **MySQL credentials are the SAME for all servers** (they all connect to the same database)
4. **Make backups before making major changes**
5. **Ask Michael if you're unsure** - don't guess

---

### Getting Help

**If something isn't working:**

1. **Check server console** - Most errors are logged there
2. **Check `/logs/latest.log`** - More detailed error information
3. **Ask Michael** - He can check from the backend
4. **Discord/Pterodactyl Panel** - Michael can see console remotely

**When asking for help, provide:**
- Which server (name/IP)
- What you were trying to do
- Exact error message from console/logs
- What you've already tried

---

## 🎯 DEPLOYMENT CHECKLIST

Use this checklist to track your progress across all 13 servers.

### TX1 Dallas Servers

- [ ] Server 1: All mods installed, configured, tested
- [ ] Server 2: All mods installed, configured, tested
- [ ] Server 3: All mods installed, configured, tested
- [ ] Server 4: All mods installed, configured, tested
- [ ] Server 5: All mods installed, configured, tested
- [ ] Server 6: All mods installed, configured, tested
- [ ] Server 7: All mods installed, configured, tested (if applicable)

### NC1 Charlotte Servers

- [ ] Server 1: All mods installed, configured, tested
- [ ] Server 2: All mods installed, configured, tested
- [ ] Server 3: All mods installed, configured, tested
- [ ] Server 4: All mods installed, configured, tested
- [ ] Server 5: All mods installed, configured, tested
- [ ] Server 6: All mods installed, configured, tested
- [ ] Server 7: All mods installed, configured, tested (if applicable)

### Post-Deployment

- [ ] All servers connecting to MySQL successfully
- [ ] LuckPerms syncing across all servers
- [ ] FTB Chunks working on all servers
- [ ] FTB Essentials working on all servers
- [ ] WorldEdit permissions configured for Builder rank
- [ ] Discord integration tested on at least one server per modpack type
- [ ] Documented any server-specific issues or configurations

---

**End of Server-Side Mod Deployment Guide**

**Next Step:** Proceed to **Subscription Automation Guide** to configure the Paymenter → Discord → LuckPerms integration.

**Fire + Frost + Foundation = Where Love Builds Legacy** 🔥❄️

---

**Document Version:** 1.0  
**Last Updated:** March 23, 2026  
**Maintained By:** Firefrost Gaming Infrastructure Team
