Skip to content

Publicar tu plugin ​

Los plugins para VanillaMine y PocketMine-MP 5 se publican en el repositorio de plugins de VanillaMine, el sustituto de Poggit.

Próximamente

El repositorio de plugins todavía no está en línea. Esta página explica cómo funciona.

Dos formas de publicar ​

  • Subir un .phar que hayas generado tú.
  • Indicar un repositorio Git y un tag: cualquier host (GitLab, GitHub, Codeberg…), con una URL https:// pública. El repositorio genera el phar. Si tienes un .poggit.yml, se usan la ruta del proyecto y sus libs (virions), y las virions publicadas en el repositorio se inyectan y renombran igual que en Poggit.

El nombre y la versión del plugin salen de plugin.yml (o de virion.yml en una virion). Para subir una versión nueva, aumenta version.

Revisión ​

  1. Comprobaciones automáticas en segundos, sin ejecutar tu código: plugin.yml válido, clase principal presente, api 5.x, sintaxis PHP, y código que merece una revisión (eval, ejecutar programas, ofuscación, ejecutables incluidos). Los errores bloquean la subida y te dicen qué corregir.
  2. Un moderador revisa cada versión.
  3. Los autores de confianza publican al momento, siempre que las comprobaciones no den avisos ni encuentren nada nuevo respecto a la última versión aprobada (acceso a red, decodificar datos, llamadas dinámicas, escribir archivos…). Si no, la revisa antes un moderador.

No se acepta código ofuscado. Las virions de .poggit.yml tienen que usar la forma owner/repositorio/proyecto (GitHub) o host/owner/repositorio/proyecto, y una restricción de versión como ^1.2.0: solo se usan virions compiladas en el repositorio de plugins desde ese mismo repositorio Git.

Desde el CI ​

Crea un token de API en tu panel, guárdalo como variable enmascarada (HUB_TOKEN) y envía una petición por cada tag. La compilación se hace en el servidor del repositorio, así que no gasta minutos de CI.

yaml
# .gitlab-ci.yml
publish:
  image: alpine:3.20
  rules:
    - if: $CI_COMMIT_TAG
  script:
    - apk add --no-cache curl
    - >
      curl --fail-with-body -H "Authorization: Bearer $HUB_TOKEN"
      -F git_url=$CI_PROJECT_URL.git -F git_ref=$CI_COMMIT_TAG
      https://plugins.example.com/api/v1/releases

Para autores de herramientas ​

El repositorio sirve el mismo releases.json que Poggit (mismos campos y números de estado), además de /get/{nombre} y descargas de virions. Las herramientas que leen Poggit funcionan cambiando el dominio.

VanillaMine es un fork de PocketMine-MP mantenido por Luxury Nodes. Sin relación con el equipo de PMMP ni con Mojang.