Plugins del proxy (Go)
Los plugins de VanillaGate son paquetes de Go compilados dentro del binario (no se cargan en tiempo de ejecución). Así el proxy sigue siendo un único archivo.
Para añadir uno, impórtalo en cmd/vanillagate/plugins.go y compila con build.ps1:
go
package main
import (
_ "example.com/myplugin"
)El paquete se registra solo:
go
package myplugin
import "gitlab.com/vanillapocketmine/vanillagate/plugin"
type MyPlugin struct{}
func (*MyPlugin) Name() string { return "myplugin" }
// Enable se llama una vez al arrancar, antes de que entren jugadores. Si devuelve un error, el proxy se detiene.
func (*MyPlugin) Enable(p plugin.Proxy) error {
return nil
}
func init() {
plugin.Register(&MyPlugin{})
}Interfaces (paquete plugin): Plugin, Proxy, Sender, Player, PermissionProvider, VersionTranslator, y plugin/form para formularios.
Eventos: PreLogin, Login, ServerPreConnect (cambiar el destino o cancelar), ServerConnected, Disconnect, y comandos de consola. Si un plugin entra en pánico, se registra en el log y el proxy sigue funcionando.
Plugins incluidos:
plugins/permissions: grupos con herencia, usuarios, denegaciones con-permiso,/perm(alias/lp), guardado enpermissions.yml.plugins/multiversion: clientes más antiguos en los servidores más nuevos.
Para comunicarte con plugins PHP de los servidores, usa los mensajes del proxy desde los backends.
