# Pterodactyl Ops

> >-

- **Type:** Skill
- **Install:** `agentstack add skill-teddy563-mcwrench-pterodactyl-ops`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Teddy563](https://agentstack.voostack.com/s/teddy563)
- **Installs:** 0
- **Category:** [Cloud & Infrastructure](https://agentstack.voostack.com/c/cloud-infrastructure)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Teddy563](https://github.com/Teddy563)
- **Source:** https://github.com/Teddy563/mcwrench/tree/main/skills/pterodactyl-ops
- **Website:** https://mcwrench.teddy.bar

## Install

```sh
agentstack add skill-teddy563-mcwrench-pterodactyl-ops
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Pterodactyl / Pelican Ops

Run and configure Minecraft servers on Pterodactyl Panel and **Pelican Panel** (a fork by the
former Pterodactyl team, mid-2024; still **beta** as of 2026-06, relicensed **AGPLv3**). Pelican
imports Pterodactyl **eggs unmodified** and keeps the **API backward-compatible**, so this skill
applies to both — note the few differences in `references/panel-footguns.md`.

## Architecture (one-screen model)

- **Panel** (web UI) + **Wings** (daemon, one per node). Each server is an isolated **Docker
  container**; files live at **`/home/container`** (host bind-mount under
  `/var/lib/pterodactyl/volumes/`).
- The **STARTUP** command substitutes egg variables (`{{SERVER_JARFILE}}`, `{{SERVER_MEMORY}}`, …)
  from environment variables at boot. Console/stats stream to the panel.
- **Allocations**: the *primary* allocation is the game port. Anything else (RCON, query, Geyser,
  Dynmap) needs a **secondary allocation** added in the **Network** tab.

## Tasks

- **RCON** → `references/rcon-setup.md`. Key point: add a **secondary allocation** first, then set
  `enable-rcon=true` / `rcon.port=` / a strong `rcon.password` in `server.properties`.
  **Confirm with the user before enabling RCON**, and never expose the port publicly.
- **Memory / OOM** → if the container dies with "Cannot allocate memory" or the cgroup OOM-kills
  it: the JVM heap + `-XX:+AlwaysPreTouch` is claiming the full container limit at boot. **Set
  `Xmx` below the panel's allocated memory** (leave ~1–1.5 GB / 10–15% headroom for JVM native
  memory) and/or drop `AlwaysPreTouch`. The panel `{{SERVER_MEMORY}}` value is the *container*
  limit, not a safe heap size. (See `performance-tuning` for the full flag discussion.)
- **Backups** → `references/backup-strategies.md`. Panel/Wings backups archive the **live
  filesystem and are NOT atomic** — quiesce writes (`/save-off` then `/save-all flush` via console
  or the `/command` API) before taking one, or stop the server.
- **Editing config** → edit while **stopped** (a running server can overwrite files on shutdown),
  then start. Use **SFTP** for large/bulk file transfers the web file manager handles poorly.
- **Automation** → the client API (below) for scripted file edits, commands, and power actions.

## Client API (Pterodactyl + Pelican, backward-compatible)

Auth: `Authorization: Bearer ptlc_` (Account → API Credentials), `Accept: application/json`.
Rate limit ~240 req/min per key.

| Action | Endpoint |
|---|---|
| Read file | `GET /api/client/servers/{id}/files/contents?file=/path` |
| Write file | `POST /api/client/servers/{id}/files/write?file=/path` |
| List files | `GET /api/client/servers/{id}/files/list` |
| Send command | `POST /api/client/servers/{id}/command` — body `{"command":"save-all flush"}` |
| Power signal | `POST /api/client/servers/{id}/power` — body `{"signal":"start|stop|restart|kill"}` |

## Output

Give exact panel steps (which tab, which field) and exact file/`server.properties` edits. For any
destructive action (deleting server files, wiping a world, exposing RCON), state the risk and
confirm first.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Teddy563](https://github.com/Teddy563)
- **Source:** [Teddy563/mcwrench](https://github.com/Teddy563/mcwrench)
- **License:** MIT
- **Homepage:** https://mcwrench.teddy.bar

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-teddy563-mcwrench-pterodactyl-ops
- Seller: https://agentstack.voostack.com/s/teddy563
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
