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
.pharque 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 suslibs(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
- Comprobaciones automáticas en segundos, sin ejecutar tu código:
plugin.ymlválido, clase principal presente,api5.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. - Un moderador revisa cada versión.
- 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.
# .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/releasesPara 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.
