Files
firefrost-operations-manual/docs/guides/server-side-mod-deployment-guide.md
Claude 4c2a87a2f4 feat: Add Elite Holograms mod to deployment guide
Added Elite Holograms to Quality of Life mods section.

What it does:
- Creates floating holographic text/images in-game
- Display server info, rules, welcome messages, leaderboards
- Professional-looking information displays

Use cases for Firefrost:
- Spawn: Display server rules, tier comparison chart
- Welcome area: Greet new Awakened tier subscribers
- Hub: Show available perks per tier
- Events: Fire vs Frost standings, competitions

Dependencies: Architectury API (required)

Updated:
- Mod list: Elite Holograms is now mod #13
- Renumbered: Waystones → #14, Corpse → #15, Discord → #16, Plan → #17, Voice Chat → #18
- Dependency summary: Added to installation order
- Reference table: Added Elite Holograms entry

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

Chronicler #40
2026-03-22 12:41:59 +00:00

1172 lines
31 KiB
Markdown

# 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.
**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.
**Dependency for:** FTB Library (and transitively, all FTB mods)
**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.
**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.
**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.
**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.
**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.).
**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.
**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.
---
#### 14. **Waystones**
**What it does:** Fast travel between waystone structures. Players place waystones and teleport between them.
**Why we might use it:** Nice QoL feature. Could tie cooldowns to subscriber tiers (like /rtp).
**Dependencies:** Balm (Forge/NeoForge) - required library for Waystones
**Status:** Optional - only install if the modpack doesn't already include it.
**Download:**
- Waystones: https://www.curseforge.com/minecraft/mc-mods/waystones
- Balm (dependency): https://www.curseforge.com/minecraft/mc-mods/balm
---
#### 15. **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.
**Status:** Optional - check if modpack already has death management
**Download:** Search CurseForge for your version
---
### Discord Integration (Version-Dependent)
#### 16. **Discord Integration Mod**
**What it does:** Connects Minecraft server to Discord. Shows in-game chat in Discord channel, and vice versa.
**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
#### 17. **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.
**Status:** Optional - adds overhead, use if analytics are important
**Download:** https://www.playeranalytics.net/
---
### Voice Chat (Optional, if modpack includes it)
#### 18. **Simple Voice Chat**
**What it does:** Proximity voice chat in-game. Talk to players near you.
**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. Balm (if installing Waystones)
15. Waystones (requires: Balm)
16. Corpse/Grave mod (check dependencies)
17. Discord integration mod (varies by version)
18. Plan (if using analytics)
19. 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 |
| Balm | None | Waystones |
| Waystones | Balm | 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:**
**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.**
---
## ✅ 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)
```
#### 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