agentsclimarketplace

Minecraft server admin

Skill AIKUSAN/minecraft-agent-skills-bundle/.codex/skills/minecraft-server-admin

Minecraft AI agent skills bundle for Java and Bedrock server administration, development, packs, crossplay, and automation across Codex, Claude Code, and compatible agent hosts.

Install
npx -y skills add AIKUSAN/minecraft-agent-skills-bundle --skill minecraft-server-admin

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Set up, configure, build, analyze, and operate Minecraft Java Edition servers for 1.21.x across Paper, Purpur, Folia, Velocity networks, and modded (Fabric/NeoForge) deployments. Use this for Paper/Purpur/Folia/Velocity server building, plugin discovery/download/install planning from Hangar, Modrinth, GitHub, SpigotMC, or BukkitDev, plugin marketplace/source review, server zip/folder analysis, server archetype design (lobby, SMP, creative, minigames, proxy network), plugin compatibility/configuration planning, performance tuning, backups, incidents, Docker/Pterodactyl patterns, and security hardening. Use for Java server infrastructure and plugin operations, not for writing plugin or mod code.

SKILL.md

16.1 KB, as published. Nobody here has run it

Minecraft Server Administration Skill

Scope and Routing Boundaries

Routing Boundaries

  • Use when: the task is infrastructure or live operations for Java Minecraft servers (deployment choice, server buildout, plugin sourcing, plugin installation planning, plugin compatibility, tuning, backups, proxying, security, incident response, or existing server folder/zip analysis).
  • Do not use when: the task is writing plugin code (minecraft-plugin-dev) or writing mods/loaders (minecraft-modding, minecraft-multiloader).
  • Do not use when: the task is WorldEdit command workflows (minecraft-worldedit-ops) or EssentialsX workflow/policy design (minecraft-essentials-ops).
  • Do not use when: the task is datapack/resource-pack authoring (minecraft-datapack, minecraft-resource-pack).

Support Assets

  • Read references/deployment-checklists.md when the task is an incident, rollout window, proxy change, or recovery drill and you need a compact checklist before acting.
  • Read references/plugin-marketplaces.md when choosing, downloading, auditing, or updating plugins from Hangar, Modrinth, GitHub Releases, SpigotMC, BukkitDev, or project websites.
  • Read references/server-archetypes.md when designing a lobby, survival/SMP, creative/build, minigame, proxy network, or staging/test server.
  • Use scripts/analyze-java-server.py when the user provides an existing Java server folder or zip and needs a plugin/configuration report.

Java Server Orchestration and Delegation

Treat this skill as the Java server/plugin operations orchestrator. Keep these tasks here:

  • server jar selection, Java runtime checks, startup commands, Docker/Pterodactyl setup, file layout, and backups
  • plugin marketplace discovery, source trust review, direct-download/manual-download decisions, and install/update rollout planning
  • server archetype design for lobby, survival/SMP, creative/build, minigame, proxy network, and staging servers
  • server folder or zip inspection, plugin inventory, dependency warnings, duplicate jar detection, and configuration gap reports

Delegate specialized work when the prompt narrows to a tool or implementation surface:

  • minecraft-permissions-admin: LuckPerms groups, tracks, contexts, inheritance, temporary grants, audits, or rollback policy.
  • minecraft-essentials-ops: EssentialsX homes, warps, kits, moderation, economy, and command policy.
  • minecraft-worldedit-ops: WorldEdit selections, schematics, brushes, masks, paste safety, or in-world edit operations.
  • minecraft-crossplay-ops: Geyser/Floodgate placement, authentication mode, Bedrock client joining, and Java-to-Bedrock resource-pack delivery.
  • minecraft-plugin-dev: writing or modifying custom Java plugin code, Paper API usage, scheduler logic, commands, listeners, or plugin tests.

For large prompts, decompose the work explicitly. Example: analyze the server folder here, route LuckPerms policy to minecraft-permissions-admin, route EssentialsX kit/economy setup to minecraft-essentials-ops, then return here for staged rollout, backups, and startup-log verification.


Workflow: Analyze Existing Server Folder or Zip

When the user provides a Java server directory or zip, inspect before recommending plugin changes:

python3 ./scripts/analyze-java-server.py \
  --input /path/to/server-or-archive.zip \
  --output server-report.json \
  --format json \
  --target-version 1.21.11 \
  --server-type auto

Use Markdown output for handoff reports:

python3 ./scripts/analyze-java-server.py \
  --input /path/to/server \
  --output server-report.md \
  --format md \
  --target-version 1.21.11

Review the report for:

  • detected server type and important config files
  • installed plugin metadata from plugin.yml, paper-plugin.yml, and velocity-plugin.json
  • missing hard dependencies, duplicate plugin names, missing config folders, suspicious jars, and Folia compatibility warnings
  • world, datapack, log, backup, and proxy hints
  • recommended next actions before downloading or changing plugins

The analyzer is intentionally read-only. It never executes jars, never downloads plugins, and never modifies the inspected server.


Deployment Decision Matrix

Use this table first. Pick a deployment type before changing configs.

Deployment profileRecommended stackPick this whenWatch-outs
Small SMP on PaperPaper onlyUp to ~30 concurrent players, broad plugin compatibility, low ops overheadDo not over-tune early; profile before changing many defaults
Larger public Paper serverPaper + Spark + stricter plugin/change controlPublic server with frequent joins, moderate plugin set, uptime mattersPlugin sprawl is the top TPS risk
Velocity-backed networkVelocity + multiple Paper backendsHub/minigame/factions split across servers, need shared entrypointForwarding/auth mismatches can block joins
Purpur gameplay-heavy serverPurpur (optionally behind Velocity)You want gameplay knobs exposed in config without custom plugin codeExtra toggles increase misconfiguration risk
Folia high-concurrency serverFolia + Folia-compatible plugins onlyVery high concurrency with region-threading goalsMany plugins are not Folia-safe
Fabric/NeoForge mod serverFabric or NeoForge server buildYou require loader mods, custom content, modpack behaviorBukkit/Paper plugins do not apply

Deployment Type Routing

  • Small SMP and most public plugin servers: use Paper baseline first.
  • Use Purpur only when you explicitly need Purpur gameplay controls.
  • Use Folia only when plugin compatibility has been validated for region-threading.
  • Use Velocity when one process is not enough or you need separate backend roles.
  • Use Fabric/NeoForge when the requirement is mod-driven, not plugin-driven.

Playbook: Performance Tuning

Step 1: Establish baseline

Collect a baseline before edits:

free -h
top -b -n 1 | head -n 25

In server console:

tps
mspt
spark healthreport

Record:

  • peak player count
  • MSPT at idle and at peak activity
  • top plugins by CPU from Spark report

Step 2: Profile the real bottleneck

Use Spark instead of guesswork:

spark profiler --timeout 180
spark tps
spark tickmonitor --interval 10

Then identify whether the issue is:

  • plugin task load
  • entity count / mob farm pressure
  • chunk generation / disk I/O
  • garbage-collection pauses

Step 3: Apply targeted fixes

Do not tune everything at once. Apply one group at a time.

  1. Chunk and simulation pressure:
  • lower view-distance and simulation-distance first
  • pre-generate worlds for survival-heavy maps
  1. Entity pressure:
  • adjust despawn ranges and mob-spawn behavior in Paper world config
  • cap problematic entities where appropriate
  1. Plugin pressure:
  • disable or replace top offenders from Spark traces
  • reduce async task frequency where plugin settings allow

Step 4: Use stable startup flags

For Java 21 on Paper/Purpur:

java -Xms10G -Xmx10G \
  -XX:+UseG1GC \
  -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC \
  -XX:+AlwaysPreTouch \
  -XX:G1NewSizePercent=30 \
  -XX:G1MaxNewSizePercent=40 \
  -XX:G1HeapRegionSize=8M \
  -XX:G1ReservePercent=20 \
  -XX:G1HeapWastePercent=5 \
  -XX:G1MixedGCCountTarget=4 \
  -XX:InitiatingHeapOccupancyPercent=15 \
  -XX:G1MixedGCLiveThresholdPercent=90 \
  -XX:G1RSetUpdatingPauseTimePercent=5 \
  -XX:SurvivorRatio=32 \
  -XX:+PerfDisableSharedMem \
  -XX:MaxTenuringThreshold=1 \
  -Dfile.encoding=UTF-8 \
  -jar server.jar --nogui

For under 12 GB memory budgets, reduce heap and use smaller region size.

Step 5: Verify improvements

After each change set:

spark tps
spark healthreport

Keep the change only if MSPT/tick stability improves under representative load.


Playbook: Plugin Operations

Use references/plugin-marketplaces.md before adding or updating plugins. Prefer trusted public sources that expose clear version, platform, dependency, license, and release provenance. Do not assume paid, authenticated, or license-restricted resources can be downloaded automatically; provide manual steps instead.

Safe plugin change workflow

  1. Build a plugin inventory:
  • plugin name and version
  • required dependencies
  • minimum server version
  1. Stage updates:
  • apply plugin updates in staging first
  • run smoke checks: joins, teleports, economy, permissions, saves
  1. Production rollout window:
  • announce maintenance window
  • stop server cleanly
  • snapshot plugin jars and config
  • deploy update batch
  1. Post-rollout verification:
  • watch startup logs for API warnings
  • run command and permission sanity checks
  • track TPS/MSPT for 15-30 minutes

Rollback checklist

  • Keep previous plugin directory snapshot.
  • If severe regression occurs:
    • stop server
    • restore prior plugin jars/configs
    • start and confirm login/world integrity
  • Document failing plugin/version pair for future blocks.

Playbook: Server Archetype Planning

Use references/server-archetypes.md for practical starting stacks. Pick the server role before choosing plugins; a lobby, SMP, creative/build server, minigame backend, proxy network, and staging environment have different plugin risk profiles.

For every archetype:

  1. Define player journey and administrative controls.
  2. Choose the minimal plugin stack that supports that journey.
  3. Check Minecraft version, server type, Java version, hard dependencies, soft dependencies, Folia safety, and release recency.
  4. Stage the exact plugin set, generate configs, and review logs before production rollout.
  5. Keep rollback snapshots of plugins/, config/, and server properties.

Playbook: Proxy and Forwarding (Velocity)

Velocity baseline

velocity.toml essentials:

bind = "0.0.0.0:25565"
online-mode = true
player-info-forwarding-mode = "modern"
forwarding-secret-file = "forwarding.secret"

Backend server requirements

server.properties on backend:

online-mode=false
enforce-secure-profile=false

Paper backend forwarding support (config/paper-global.yml):

proxies:
  velocity:
    enabled: true
    online-mode: true
    secret: "paste-the-shared-forwarding-secret-here"

Use the same secret value stored in Velocity's forwarding.secret file; the backend config takes the secret string itself, not a file path.

Validation runbook

  1. Confirm proxy port is reachable from clients.
  2. Confirm backend is firewalled from direct internet access.
  3. Join through proxy and verify:
  • UUID consistency
  • skin/profile forwarding
  • plugin permission behavior

Common proxy incidents

  • "Invalid player info forwarding":
    • mismatch in forwarding mode or shared secret between Velocity and backend.
  • Random auth/session failures:
    • mixed online-mode expectations or direct backend exposure.

Playbook: Backup and Recovery

Backup policy template

AssetFrequencyRetentionNotes
World folders (world*)Hourly incremental + daily full7 daily, 4 weeklyHighest priority
plugins/ and config/Daily14 dailyRequired for quick rollback
Proxy config/secretsDaily30 dailyStore encrypted off-host
Container/orchestration filesOn change + weekly8 weeksGit-tracked where possible

Example backup script

#!/usr/bin/env bash
set -euo pipefail

DATE="$(date +%Y-%m-%d_%H-%M-%S)"
BACKUP_ROOT="/backups/minecraft"
SERVER_ROOT="/srv/minecraft"
DEST="${BACKUP_ROOT}/${DATE}"

mkdir -p "$DEST"
tar -czf "${DEST}/worlds.tar.gz" -C "$SERVER_ROOT" world world_nether world_the_end
tar -czf "${DEST}/plugins-config.tar.gz" -C "$SERVER_ROOT" plugins config
cp "$SERVER_ROOT/server.properties" "$DEST/server.properties"

Recovery drill (must be tested)

  1. Stop server.
  2. Restore selected backup to staging directory.
  3. Validate ownership/permissions.
  4. Start server in maintenance mode.
  5. Verify:
  • world spawn loads
  • player data is readable
  • key plugins initialize
  1. Reopen to players.

Define targets:

  • RPO (acceptable data loss window)
  • RTO (acceptable restore duration)

Playbook: Live Troubleshooting

Incident triage flow

  1. Classify incident:
  • crash on startup
  • severe lag / TPS collapse
  • join/auth failures
  • memory/disk pressure
  1. Capture evidence first:
df -h
free -h

From server/proxy console:

spark tps
spark healthreport
  1. Stabilize:
  • stop risky rollout changes
  • disable newest suspect plugin first
  • reduce player impact (maintenance mode, temporary queue, restricted worlds)
  1. Recover and document:
  • apply rollback or hotfix
  • document root cause and permanent preventive action

Fast symptom map

SymptomFirst checksTypical root cause
Startup crash after plugin updatelatest logs, plugin dependency chainincompatible plugin/API mismatch
High MSPT only at peak hoursSpark profiler, entity/chunk statsmob farms, heavy scheduled tasks, chunk I/O
Players cannot join via proxyforwarding mode + secret + backend exposureVelocity/backend config mismatch
Periodic hard lag spikesGC pauses + autosave + backup overlapmemory pressure, backup I/O contention

Operational Config Reference

server.properties high-impact keys

max-players=100
view-distance=10
simulation-distance=8
sync-chunk-writes=true
max-tick-time=60000
enable-rcon=false

bukkit.yml and spigot.yml

Use Spigot/Bukkit docs as authoritative for version-specific defaults and side effects. Tune conservatively and re-measure after every change set.

Paper config files

  • config/paper-global.yml
  • config/paper-world-defaults.yml

Adjust these only after profiling identifies an actionable bottleneck.


Deployment Patterns

Docker Compose (Paper)

services:
  paper:
    image: itzg/minecraft-server:java21
    container_name: mc-paper
    environment:
      EULA: "TRUE"
      TYPE: "PAPER"
      VERSION: "1.21.11"
      MEMORY: "10G"
    ports:
      - "25565:25565"
    volumes:
      - ./data:/data
    restart: unless-stopped

Pterodactyl/Wings notes

  • Keep startup command and memory allocations consistent with tested JVM flags.
  • Pin panel and Wings versions to supported combinations.
  • Validate backup mount and restore workflow before production.

Security Hardening Checklist

  • Keep online-mode=true unless proxy forwarding requires backend online-mode=false.
  • Never expose backend Paper ports directly when using Velocity.
  • Restrict RCON and panel/admin surfaces by firewall/IP allowlist.
  • Rotate secrets (forwarding.secret, panel credentials, backup credentials).
  • Keep plugin sources trusted; verify checksum/release source before install.
  • Maintain off-host encrypted backups.
  • Keep Java runtime and host OS patched.

References

Paper (primary)

Spigot/Bukkit (primary config reference)

Proxy and ecosystem docs

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.