api-and-interface-desi…
Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints,…
Host modded Minecraft servers (CurseForge, Modrinth).
$ npx -y skills add kevinnft/ai-agent-skills --skill minecraft-modpack-server --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/minecraft-modpack-serverContext preview
The summary Claude sees to decide when to auto-load this skill.
Host modded Minecraft servers (CurseForge, Modrinth).
name: minecraft-modpack-server description: "Host modded Minecraft servers (CurseForge, Modrinth)." tags: [minecraft, gaming, server, neoforge, forge, modpack] origin: aggregated source_license: MIT source_repo: NousResearch/hermes-agent source_url: https://github.com/NousResearch/hermes-agent/tree/main/skills/gaming/minecraft-modpack-server language: en
Before starting setup, ask the user for:
Use sensible defaults if the user doesn't care, but always ask before generating the config.
mkdir -p ~/minecraft-server cd ~/minecraft-server wget -O serverpack.zip "<URL>" unzip -o serverpack.zip -d server ls server/
Look for: `startserver.sh`, installer jar (neoforge/forge), `user_jvm_args.txt`, `mods/` folder. Check the script to determine: mod loader type, version, and required Java version.
Most server packs include an install script. Use the INSTALL_ONLY env var to install without launching:
cd ~/minecraft-server/server ATM10_INSTALL_ONLY=true bash startserver.sh # Or for generic Forge packs: # java -jar forge-*-installer.jar --installServer
This downloads libraries, patches the server jar, etc.
echo "eula=true" > ~/minecraft-server/server/eula.txt
Key settings for modded/LAN:
motd=\u00a7b\u00a7lServer Name \u00a7r\u00a78| \u00a7aModpack Name server-port=25565 online-mode=true # false for LAN without Mojang auth enforce-secure-profile=true # match online-mode difficulty=hard # most modpacks balance around hard allow-flight=true # REQUIRED for modded (flying mounts/items) spawn-protection=0 # let everyone build at spawn max-tick-time=180000 # modded needs longer tick timeout enable-command-block=true
Performance settings (scale to hardware):
# 2 players, beefy machine: view-distance=16 simulation-distance=10 # 4-6 players, moderate machine: view-distance=10 simulation-distance=6 # 8+ players or weaker hardware: view-distance=8 simulation-distance=4
Scale RAM to player count and mod count. Rule of thumb for modded:
-Xms12G -Xmx24G -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
sudo ufw allow 25565/tcp comment "Minecraft Server"
Check with: `sudo ufw status | grep 25565`
cat > ~/start-minecraft.sh << 'EOF' #!/bin/bash cd ~/minecraft-server/server java @user_jvm_args.txt @libraries/net/neoforged/neoforge/<VERSION>/unix_args.txt nogui EOF chmod +x ~/start-minecraft.sh
Note: For Forge (not NeoForge), the args file path differs. Check `startserver.sh` for the exact path.
Create backup script:
cat > ~/minecraft-server/backup.sh << 'SCRIPT'
#!/bin/bash
SERVER_DIR="$HOME/minecraft-server/server"
BACKUP_DIR="$HOME/minecraft-server/backups"
WORLD_DIR="$SERVER_DIR/world"
MAX_BACKUPS=24
mkdir -p "$BACKUP_DIR"
[ ! -d "$WORLD_DIR" ] && echo "[BACKUP] No world folder" && exit 0
TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_FILE="$BACKUP_DIR/world_${TIMESTAMP}.tar.gz"
echo "[BACKUP] Starting at $(date)"
tar -czf "$BACKUP_FILE" -C "$SERVER_DIR" world
SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
echo "[BACKUP] Saved: $BACKUP_FILE ($SIZE)"
BACKUP_COUNT=$(ls -1t "$BACKUP_DIR"/world_*.tar.gz 2>/dev/null | wc -l)
if [ "$BACKUP_COUNT" -gt "$MAX_BACKUPS" ]; then
REMOVE=$((BACKUP_COUNT - MAX_BACKUPS))
ls -1t "$BACKUP_DIR"/world_*.tar.gz | tail -n "$REMOVE" | xargs rm -f
echo "[BACKUP] Pruned $REMOVE old backup(s)"
fi
echo "[BACKUP] Done at $(date)"
SCRIPT
chmod +x ~/minecraft-server/backup.shAdd hourly cron:
(crontab -l 2>/dev/null | grep -v "minecraft/backup.sh"; echo "0 * * * * $HOME/minecraft-server/backup.sh >> $HOME/minecraft-server/backups/backup.log 2>&1") | crontab -
191 attribution-first agent skills for Hermes Agent, Claude Code, Cursor — one installer, 28 categories, searchable catalog. See NOTICE for upstream attribution.
Repo: kevinnft/ai-agent-skills
Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints,…
Tests in real browsers. Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console errors, analyze…
Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test…
Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to…
Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend…
Optimizes agent context setup. Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to configure…