Long-term fix for mobile task index - task numbers now in frontmatter. Numbers added from BACKLOG.md cross-reference: #2 rank-system-deployment #3 fire-frost-holdings-restructuring #14 vaultwarden-ssh-setup #22 netdata-deployment #23 department-structure #26 modpack-version-checker #32 terraria-branding-training-arc #35 pokerole-wikijs-deployment #36 notebooklm-integration #40 world-backup-automation #44 nc1-node-usage-stats #45 steam-and-state-server #48 n8n-rebuild #51 ignis-protocol #55 discord-invite-setup #65 claude-infrastructure-access #67 nc1-security-monitoring #82 plane-decommissioning #87 arbiter-2-1-cancellation-flow #89 staff-portal-consolidation #90 decap-tasks-collection #91 server-matrix-node-fix #92 desktop-mcp #93 trinity-codex #94 global-restart-scheduler #98 discord-channel-automation #99 claude-projects-architecture Chronicler #69
137 lines
3.4 KiB
Markdown
137 lines
3.4 KiB
Markdown
---
|
|
task_number: 91
|
|
status: complete
|
|
priority: P2
|
|
owner: Michael
|
|
created: 2026-04-04
|
|
---
|
|
task_number: 91
|
|
|
|
# Task: Fix Server Matrix Node Detection
|
|
|
|
**Task ID:** #91
|
|
**Created:** April 4, 2026
|
|
**Status:** In Progress — waiting for Michael to get home (needs MobaXterm)
|
|
**Priority:** High (blocking Holly's new servers from appearing)
|
|
|
|
---
|
|
task_number: 91
|
|
|
|
## Problem
|
|
|
|
Holly added 6 new servers ~2 hours ago. They don't appear in Trinity Console Server Matrix.
|
|
|
|
**Root Cause:** The matrix grouping logic filters servers by either:
|
|
1. Node name matching ("TX1", "NC1", "Node 2", "Node 3")
|
|
2. Server name containing "TX" or "NC"
|
|
|
|
Servers that match NEITHER condition fall through and aren't displayed.
|
|
|
|
**Affected Servers (not showing):**
|
|
- Beyond Ascension
|
|
- Wold's Vaults
|
|
- Otherworld [Dungeons & Dragons]
|
|
- DeceasedCraft
|
|
- Submerged 2
|
|
- (1 more — 18 total, 12 showing)
|
|
|
|
**Servers showing (have -TX or -NC suffix):**
|
|
- Mythcraft 5 - NC
|
|
- Create Plus - TX
|
|
- Vanilla - TX
|
|
- Beyond Depth - TX
|
|
- (8 more)
|
|
|
|
---
|
|
task_number: 91
|
|
|
|
## The Fix
|
|
|
|
### Part 1: Update discovery.js
|
|
|
|
**File:** `/home/claude/firefrost-services/services/arbiter-3.0/src/panel/discovery.js`
|
|
|
|
**Change:** Add `nodeId` to the returned server object.
|
|
|
|
```javascript
|
|
// Line 25-28, change from:
|
|
}).map(server => ({
|
|
identifier: server.attributes.identifier,
|
|
name: server.attributes.name
|
|
}));
|
|
|
|
// To:
|
|
}).map(server => ({
|
|
identifier: server.attributes.identifier,
|
|
name: server.attributes.name,
|
|
nodeId: server.attributes.node
|
|
}));
|
|
```
|
|
|
|
### Part 2: Update servers.js grouping logic
|
|
|
|
**File:** `/home/claude/firefrost-services/services/arbiter-3.0/src/routes/admin/servers.js`
|
|
|
|
**Change:** Replace name-based filtering with node ID filtering.
|
|
|
|
```javascript
|
|
// Line 47-48, change from:
|
|
const txServers = enrichedServers.filter(s => s.node === 'TX1' || s.node === 'Node 3' || s.name.includes('TX'));
|
|
const ncServers = enrichedServers.filter(s => s.node === 'NC1' || s.node === 'Node 2' || s.name.includes('NC'));
|
|
|
|
// To (replace X and Y with actual node IDs):
|
|
const TX_NODE_ID = X; // Get from Pterodactyl Admin → Nodes
|
|
const NC_NODE_ID = Y; // Get from Pterodactyl Admin → Nodes
|
|
|
|
const txServers = enrichedServers.filter(s => s.nodeId === TX_NODE_ID);
|
|
const ncServers = enrichedServers.filter(s => s.nodeId === NC_NODE_ID);
|
|
```
|
|
|
|
---
|
|
task_number: 91
|
|
|
|
## Information Needed
|
|
|
|
Before implementing, get from Pterodactyl Admin → Nodes:
|
|
|
|
- [ ] **TX1 (Dallas) Node ID:** ___
|
|
- [ ] **NC1 (Charlotte) Node ID:** ___
|
|
|
|
---
|
|
task_number: 91
|
|
|
|
## Implementation Steps
|
|
|
|
1. SSH to Command Center (63.143.34.217) via MobaXterm
|
|
2. `cd /path/to/arbiter-3` (verify actual path)
|
|
3. Edit `src/panel/discovery.js` — add nodeId
|
|
4. Edit `src/routes/admin/servers.js` — update grouping logic with node IDs
|
|
5. Restart Arbiter: `sudo systemctl restart arbiter-3`
|
|
6. Verify all 18 servers appear in Trinity Console
|
|
7. Commit changes to Gitea
|
|
|
|
---
|
|
task_number: 91
|
|
|
|
## Future Consideration
|
|
|
|
**Also discussed:** Removing the nest filter entirely for future expansion (Ark, Palworld, etc.)
|
|
|
|
Current filter: `MINECRAFT_NEST_IDS=1,6,7`
|
|
|
|
**Recommendation:** Consult Gemini before removing — may have downstream implications for whitelist sync trying to write to non-Minecraft servers.
|
|
|
|
---
|
|
task_number: 91
|
|
|
|
## Related Files
|
|
|
|
- `services/arbiter-3.0/src/panel/discovery.js`
|
|
- `services/arbiter-3.0/src/routes/admin/servers.js`
|
|
- `.env` (MINECRAFT_NEST_IDS)
|
|
|
|
---
|
|
task_number: 91
|
|
|
|
**Fire + Frost + Proper Node Detection** 🔥❄️
|