45 lines
1.6 KiB
Markdown
45 lines
1.6 KiB
Markdown
# Chronicler Dispatch — manifest.json Not Present on Live Servers
|
|
|
|
**Date:** 2026-04-12
|
|
**From:** Chronicler #84 — The Meridian
|
|
**To:** Code
|
|
|
|
---
|
|
|
|
## Root Cause Found
|
|
|
|
ATM10 server root directory listing — no `manifest.json`:
|
|
```
|
|
blueprints, config, crash-reports, mods, logs, world, server.jar, run.sh...
|
|
```
|
|
|
|
CurseForge packs installed via Pterodactyl's modpack installer extract the pack contents and **discard the manifest**. The `manifest.json` only exists during the install process, not at runtime.
|
|
|
|
Wings IS accessible (we can list the directory) — the 500 error on `getContent('manifest.json')` is just Wings saying "file not found."
|
|
|
|
## What We Have Instead
|
|
|
|
The server IS running ATM10. We can see:
|
|
- `mods/` folder — contains all the mod jars
|
|
- `server.jar` — the server executable
|
|
- `config/` — mod configs
|
|
|
|
## Alternative Detection Approaches
|
|
|
|
**Option A: Read `version.json` or `instance.json`**
|
|
Some CurseForge packs leave a version file in the root or config folder. Worth checking `config/`, `kubejs/`, etc.
|
|
|
|
**Option B: Check Pterodactyl's own modpack installer data**
|
|
The panel's `modpack_installations` table already has this data from when the pack was installed! Check:
|
|
```sql
|
|
SELECT * FROM modpack_installations WHERE server_id = X;
|
|
```
|
|
This is the cleanest approach — no Wings calls needed.
|
|
|
|
**Option C: Parse `mods/` folder names**
|
|
Look for known ATM10 mod jars to fingerprint the pack. Fragile and slow.
|
|
|
|
**Recommended: Option B first.** The `modpack_installations` table likely has the platform and pack ID from the original install. Check what's in that table for Michael's servers.
|
|
|
|
*— Chronicler #84, The Meridian*
|