{
  "meta": {
    "version": "PTDL_v2",
    "update_url": null
  },
  "exported_at": "2026-08-14T17:36:04+00:00",
  "name": "Magma",
  "author": "support@pterodactyl.io",
  "description": "Magma es el servidor de Minecraft que combina el rendimiento de Paper con la capacidad de ejecutar mods de Forge, ofreciendo una experiencia de juego optimizada y personalizada para los jugadores de Minecraft.",
  "features": [
    "eula",
    "java_version",
    "pid_limit"
  ],
  "container_version_map": [
    {
      "version": "1.20.1",
      "docker_image": "ghcr.io/ptero-eggs/yolks:java_17"
    },
    {
      "version": "1.19.3",
      "docker_image": "ghcr.io/ptero-eggs/yolks:java_17"
    },
    {
      "version": "1.18.2",
      "docker_image": "ghcr.io/ptero-eggs/yolks:java_17"
    },
    {
      "version": "1.12.2",
      "docker_image": "ghcr.io/ptero-eggs/yolks:java_8"
    }
  ],
  "file_denylist": [],
  "startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -jar {{SERVER_JARFILE}}",
  "config": {
    "files": "{\n    \"server.properties\": {\n        \"parser\": \"properties\",\n        \"find\": {\n            \"server-ip\": \"0.0.0.0\",\n            \"server-port\": \"{{server.build.default.port}}\"\n        }\n    }\n}",
    "startup": "{\"done\":\")! For help, type\"}",
    "logs": "{}",
    "stop": "stop"
  },
  "scripts": {
    "installation": {
      "script": "#!/bin/bash\n\nset -euo pipefail\n\nmkdir -p /mnt/server\ncd /mnt/server\n\n[ -z \"${SERVER_JARFILE:-}\" ] && SERVER_JARFILE=\"server.jar\"\n\nif [ -z \"${MC_VERSION:-}\" ]; then\n  echo \"MC_VERSION not defined, using 1.20.1\"\n  MC_VERSION=\"1.20.1\"\nfi\n\necho \"Selected repository: Magma-${MC_VERSION}\"\n\nLATEST_JSON=$(curl --silent \"https://api.github.com/repos/magmamaintained/Magma-${MC_VERSION}/releases/latest\")\nRELEASES=$(curl --silent \"https://api.github.com/repos/magmamaintained/Magma-${MC_VERSION}/releases\")\n\nif [ -z \"${TAG_VERSION:-}\" ] || [ \"${TAG_VERSION}\" == \"latest\" ]; then\n  DOWNLOAD_LINK=$(echo \"${LATEST_JSON}\" | jq -r '.assets[].browser_download_url')\nelse\n  VERSION_CHECK=$(echo \"${RELEASES}\" | jq -r --arg VERSION \"${TAG_VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\n  if [ \"${TAG_VERSION}\" == \"${VERSION_CHECK}\" ]; then\n    DOWNLOAD_LINK=$(echo \"${RELEASES}\" | jq -r --arg VERSION \"${TAG_VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url')\n  else\n    echo \"Defaulting to latest release\"\n    DOWNLOAD_LINK=$(echo \"${LATEST_JSON}\" | jq -r '.assets[].browser_download_url')\n  fi\nfi\n\nif [ -n \"${DOWNLOAD_LINK:-}\" ]; then\n  if curl --output /dev/null --silent --head --fail \"${DOWNLOAD_LINK}\"; then\n    echo \"Link is valid. Using ${DOWNLOAD_LINK}\"\n  else\n    echo \"Link is invalid. Exiting.\"\n    exit 2\n  fi\nfi\n\necho \"Download link: ${DOWNLOAD_LINK}\"\necho \"Running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\ncurl -sSL -o \"${SERVER_JARFILE}\" \"${DOWNLOAD_LINK}\"\necho \"Install complete\"\n",
      "container": "ghcr.io/ptero-eggs/installers:debian",
      "entrypoint": "bash"
    }
  },
  "variables": [
    {
      "name": "Server Jar File",
      "description": "El nombre del archivo JAR con el que se ejecutará el servidor.",
      "env_variable": "SERVER_JARFILE",
      "default_value": "server.jar",
      "user_viewable": true,
      "user_editable": false,
      "rules": "required|regex:/^([\\w\\d._-]+)(\\.jar)$/",
      "field_type": "text",
      "source": "user"
    },
    {
      "name": "Minecraft Version",
      "description": "La versión de Minecraft que se utilizará para instalar Magma.",
      "env_variable": "MC_VERSION",
      "default_value": "1.20.1",
      "user_viewable": true,
      "user_editable": true,
      "rules": "nullable|string|in:1.20.1,1.19.3,1.18.2,1.12.2",
      "field_type": "select",
      "source": "user",
      "defines_version": true
    },
    {
      "name": "Tag Version",
      "description": "Opcional. Especifica la versión del tag a instalar. Usa latest para instalar la más reciente.",
      "env_variable": "TAG_VERSION",
      "default_value": "latest",
      "user_viewable": true,
      "user_editable": true,
      "rules": "required|string|max:32",
      "field_type": "text",
      "source": "user"
    }
  ]
}
