Files
firefrost-operations-manual/docs/tasks/pterodactyl-modpack-version-display
The Chronicler d4e92bb27e Task #30: Pterodactyl Modpack Version Display
Created new quality-of-life task for tracking modpack versions in Pterodactyl panel.

TASK DETAILS:
- Add custom egg variable for modpack version display
- Visible in Startup tab for all modpack servers
- Manual entry (simple, low complexity)
- Improves version tracking and troubleshooting

SCOPE:
- 9 modpack servers (All The Mons, Stoneblock 4, etc.)
- Excludes Vanilla, Hytale, FoundryVTT (not applicable)

IMPLEMENTATION:
- Phase 1: Add variable to Minecraft egg (15 min)
- Phase 2: Populate current versions (30 min)
- Phase 3: Document update procedure (15 min)
- Total time: 1-2 hours

BENEFITS:
- Version visibility at a glance
- Change tracking when modpacks update
- Troubleshooting clarity (identify version mismatches)
- Professional operations appearance

ALTERNATIVE METHODS DOCUMENTED:
- Script-based auto-detection (future enhancement)
- Include version in server name (quick hack)

Updated tasks.md: Total tasks now 30

Status: Ready to implement

Fire + Frost + Foundation 💙🔥❄️
2026-02-18 22:55:04 +00:00
..

Pterodactyl Modpack Version Display

Status: Ready
Priority: Tier 3 - Quality of Life
Time: 1-2 hours
Last Updated: 2026-02-18
Created By: The Chronicler


Overview

Add a custom "Modpack Version" field to Pterodactyl panel that displays the current modpack version for each Minecraft server. Makes version tracking visible at a glance without digging through server files.

Problem: Currently no easy way to see which modpack version is running on each server
Solution: Custom egg variable that displays in Startup tab


Benefits

  • Version visibility - See modpack version at a glance
  • Change tracking - Know when updates were applied
  • Troubleshooting - Quickly identify version mismatches
  • Documentation - Server state clearly visible in panel
  • Staff clarity - Everyone knows what's running

Scope

Affected Servers:

  • All The Mons (Cobblemon)
  • Stoneblock 4
  • Society: Sunlit Valley
  • Reclamation
  • The Ember Project
  • Minecolonies: Create and Conquer
  • All The Mods 10
  • Homestead
  • EMC Subterra Tech

Not applicable:

  • Vanilla 1.21.11 (no modpack)
  • Hytale (different game)
  • FoundryVTT (not Minecraft)

Implementation Methods

Pros:

  • Clean UI integration
  • Per-server editable
  • No code changes needed
  • Visible in Startup tab

Cons:

  • Manual entry (not auto-detected)
  • Must update when modpack updates

Complexity: Low


Method 2: Custom Script Parser

Pros:

  • Auto-detects from modpack manifest
  • No manual updates needed
  • Always accurate

Cons:

  • Requires custom Pterodactyl extension
  • More complex to maintain
  • Breaks on Pterodactyl updates

Complexity: High


Create custom variable in Minecraft egg:

Variable Details

Name: Modpack Version
Description: Current version of the modpack running on this server
Environment Variable: MODPACK_VERSION
Default Value: Not Set
User Viewable: Yes
User Editable: Yes (allows updates)
Rules: None (free text)


Implementation Steps

Phase 1: Add Variable to Egg (15 minutes)

Location: Pterodactyl Admin Panel → Nests → Minecraft → [Egg]

  1. Log into Pterodactyl admin panel
  2. Navigate to NestsMinecraft
  3. Click on the egg used for modded servers (likely "Forge" or "NeoForge")
  4. Go to Variables tab
  5. Click New Variable

Configuration:

Name: Modpack Version
Description: Current version of the modpack (e.g., "1.2.3" or "2024-02-18")
Environment Variable: MODPACK_VERSION
Default Value: Not Set
Display Order: 10 (or any position you prefer)

Permissions:
☑ User Viewable
☑ User Editable
☐ Hidden from users
  1. Click Save
  2. The variable now appears in Startup tab for all servers using this egg

Phase 2: Populate Current Versions (30 minutes)

For each modpack server:

  1. Research current modpack version

    • Check modpack manifest file
    • Check CurseForge/Modrinth page
    • Check server files for version.json
  2. Go to server in Pterodactyl panel

  3. Click Startup tab

  4. Find "Modpack Version" field

  5. Enter current version (e.g., "1.5.2" or "2024-02-18")

  6. Click Save


Phase 3: Document Process (15 minutes)

Create update procedure:

When updating a modpack:

  1. Update modpack files
  2. Test server restart
  3. Update "Modpack Version" field in Pterodactyl
  4. Document in changelog

Location: docs/procedures/modpack-update-procedure.md


Alternative: Display in Server Name

Quick hack (no code needed):

Include version in server display name:

Before: "All The Mons"
After: "All The Mons [v1.5.2]"

Pros:

  • Instantly visible in server list
  • No panel modifications needed
  • Works immediately

Cons:

  • Clutters server name
  • Must manually update name field
  • Looks less professional

Version Format Standards

Recommended formats:

Semantic Versioning

  • Format: MAJOR.MINOR.PATCH
  • Example: 1.5.2, 2.0.1
  • Best for: Official modpack releases

Date-Based

  • Format: YYYY-MM-DD
  • Example: 2026-02-18
  • Best for: Custom/internal modpacks

Hybrid

  • Format: VERSION (DATE)
  • Example: 1.5.2 (2026-02-18)
  • Best for: Tracking both

Pick ONE format and use consistently across all servers.


Automation Opportunities (Future)

Auto-Detection Script

Concept: Script that reads modpack version from manifest and updates Pterodactyl via API

#!/bin/bash
# Auto-update modpack version in Pterodactyl

SERVER_ID="668a5220-7e72-4379-9165-bdbb84bc9806"
MANIFEST="/var/lib/pterodactyl/volumes/${SERVER_ID}/manifest.json"

# Extract version from manifest
VERSION=$(jq -r '.version' "$MANIFEST")

# Update via Pterodactyl API
curl -X PUT "https://panel.firefrostgaming.com/api/application/servers/${SERVER_ID}/startup" \
  -H "Authorization: Bearer ${PTERO_API_KEY}" \
  -H "Content-Type: application/json" \
  -d "{\"environment\": {\"MODPACK_VERSION\": \"${VERSION}\"}}"

Status: Future enhancement (not needed for MVP)


Success Criteria

  • Egg variable created in Pterodactyl
  • Variable visible in Startup tab for all modded servers
  • Current versions documented for all 9 modpack servers
  • Update procedure documented
  • Staff trained on updating field when modpacks update

Rollback

If implementation causes issues:

  1. Delete custom variable from egg
  2. Field disappears from all servers
  3. No data loss (versions can be recorded elsewhere)

Risk: None (purely cosmetic addition)


  • Task #23: Game Server Startup Script Audit (same servers affected)
  • Future: Automated version detection system
  • Future: Changelog integration (link version to release notes)

Notes

  • This is a tracking feature, not a functional requirement
  • Servers will run fine without it
  • Primary benefit is operational clarity
  • Consider extending to other metadata fields:
    • Minecraft version
    • Java version
    • Last updated date
    • Responsible admin

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

Version tracking = Professional operations