Pocket Tebex
Código fuentePocketTebex
Este plugin fue generado con asistencia de inteligencia artificial. Se distribuye bajo la licencia MIT y es de uso completamente libre. No se aceptan donaciones — el único propósito es contribuir a la comunidad de PocketMine-MP y facilitar la integración con Tebex para todos.
Tebex webstore integration plugin for PocketMine-MP (API 5.x).
Requisitos
- PocketMine-MP 5.0.0 o superior
- PHP 8.1+ con las extensiones
curl,igbinary,pmmpthread - Una cuenta activa en Tebex
Instalación
- Descarga y descomprime el plugin en la carpeta /plugins de tu servidor.
- Reinicia el servidor.
- Configura tu secret key (ver abajo).
- Listo — el plugin comenzará a procesar comandos automáticamente.
Configuración inicial
Obtener tu Secret Key
- Ve a https://creator.tebex.io/game-servers
- Haz clic en Edit en el servidor que quieres conectar
- Copia el Secret Key que aparece ahí
Método 1 — Desde la consola del servidor
El sistema de Tebex te dará un comando listo para usar. Ejecútalo directamente en la consola del servidor:
tebex secret <tu-secret-key>
Ejemplo:
tebex secret abcdef1234567890abcdef1234567890
Método 2 — Desde el archivo de configuración
Abre plugin_data/PocketTebex/config.yml y establece tu secret:
secret: "tu-secret-key-aqui"
Reinicia el servidor. El plugin validará la clave automáticamente al arrancar.
Comandos
Todos los comandos requieren el permiso pockettebex.admin (por defecto: OP).
| Comando | Alias | Descripción |
|---|---|---|
/tebex secret <key> | — | Establece o cambia la secret key |
/tebex info | — | Muestra información de la cuenta y servidor |
/tebex refresh | /tebex forcecheck | Fuerza la verificación de comandos pendientes |
/tebex sendlink <jugador> <package_id> | — | Envía un link de compra a un jugador |
/tebex ban <usuario> [razón] | — | Banea a un jugador de la tienda Tebex |
/tebex lookup <usuario> | — | Busca el historial de compras de un jugador |
/tebex dropall | — | Elimina todos los comandos pendientes de la cola |
Configuración completa
Archivo: plugin_data/PocketTebex/config.yml
# Tu secret key de Tebex (https://creator.tebex.io/game-servers)
secret: ""
# Número de hilos worker para llamadas a la API (recomendado: 1-4)
worker-limit: 2
# Sub-comandos a deshabilitar en producción
disabled-sub-commands: []
# Permisos adicionales para el ejecutor de comandos de Tebex
# Permite que los comandos ejecutados por Tebex bypassen permisos de otros plugins
# permissions:
# - myplugin.vip.give
# - myplugin.command.addtags
permissions: []
Cómo funciona
Comandos Offline
Se ejecutan automáticamente cada 60 segundos. No requieren que el jugador esté conectado. Tebex los envía y el plugin los ejecuta inmediatamente.
Comandos Online
Se ejecutan solo cuando el jugador objetivo está conectado. El plugin:
- Detecta cuando un jugador se conecta
- Consulta la API de Tebex por comandos pendientes para ese jugador
- Ejecuta los comandos si se cumplen las condiciones (delay, slots de inventario)
- Respeta estrictamente el intervalo
next_checkde la API
Sistema de hilos
Las llamadas a la API se ejecutan en hilos separados para no bloquear el servidor principal. Usa un pool de workers con balanceo de carga.
Eventos para desarrolladores
El plugin emite eventos cancelables que otros plugins pueden escuchar:
ExecuteOfflineCommandEvent— Se dispara antes de ejecutar un comando offlineExecuteOnlineCommandEvent— Se dispara antes de ejecutar un comando online
Ambos eventos permiten:
- Cancelar la ejecución del comando
- Modificar los placeholders (
{name},{id},{player},{username})
Placeholders soportados
| Placeholder | Comandos Offline | Comandos Online |
|---|---|---|
{name} | Nombre del jugador (entrecomillado) | Nombre del jugador en el servidor |
{player} | Igual que {name} | Igual que {name} |
{username} | Igual que {name} | Nombre del jugador en Tebex |
{id} | UUID del jugador | XUID (Bedrock online) o nombre |
Integración para desarrolladores
use pockettebex\event\ExecuteOnlineCommandEvent;
// Cancelar un comando específico
$this->getServer()->getPluginManager()->registerEvents(new class implements \pocketmine\event\Listener {
/**
* @priority NORMAL
*/
public function onOnlineCommand(ExecuteOnlineCommandEvent $event) : void {
if(str_contains($event->getFinalCommand(), "op ")) {
$event->cancel(); // Bloquea comandos que dan OP
}
}
}, $plugin);
Notas importantes
- El plugin respeta estrictamente el
next_checkde Tebex. No hacerlo resultaría en revocación de la secret key o ban de IP. - Límite de la API: 500 requests por 5 minutos.
/tebex lookuprequiere un plan Ultimate o superior en Tebex.- El plugin no tiene dependencias de virion — es completamente standalone.
Licencia
MIT License. Uso libre, sin garantías.