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
1172 lines
31 KiB
Markdown
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
|