Skip to content

Instantly share code, notes, and snippets.

@BEcraft
Created March 25, 2019 22:22
Show Gist options
  • Save BEcraft/d131ebd0f077f75fb3b7c56716b9bd9a to your computer and use it in GitHub Desktop.
Save BEcraft/d131ebd0f077f75fb3b7c56716b9bd9a to your computer and use it in GitHub Desktop.
Corre tu servidor de PocketMine(Android) sin compilar.
<?php
/**
* Esta es un forma sencilla de ejecutar el software de pocketmine
* sin tener que compilarlo.
*
* Este método seria útil para aquellos que ejecutan sus proyectos en
* sus teléfonos y quieran ver/modificar el software directamente desde la raiz.
*
* Este script ha sido ejecutado con exitosamente en Android usando PocketMine para MCPE 1.1.0.55 y PHP 7.
*
* Pueden ejecutar este archivo en un consola o en una pagina web, ambos con PHP.
*/
# - Verífica si el servidor tiene la extención phar necesaria.
if (!(extension_loaded("phar"))) {
exit("[!] Debes tener la extención \"Phar\" habilitada.");
}
define("TRABAJO", (__DIR__ . DIRECTORY_SEPARATOR));
define("CARPETA", (TRABAJO . "_PocketMine_" . DIRECTORY_SEPARATOR));
# - Renombrar archivo si ya existe.
if (file_exists(CARPETA . "PocketMine-MP.phar")) {
rename(CARPETA . "PocketMine-MP.phar", CARPETA . "PocketMine-MP_" . time() . ".phar");
}
# - Crea la carpeta donde de guardará el archivo una vez creado.
if (!(is_dir(CARPETA))) {
mkdir(CARPETA);
}
# - Manejar las excepciones: UnexpectedValueException y BadMethodCallException.
try {
$archivo = new \Phar(CARPETA . "PocketMine-MP.phar");
} catch (\Exception $excepcion) {
exit($excepcion->getMessage());
}
# - Código que se agregará al archivo, este codigo incluirá
# el archivo PocketMine.php, el cual es necesarió para iniciar el servidor (en sí).
#
# - NOTA: Pueden modificar este código dependiendo de sus necesidades.
$codigo = <<<CODIGO
<?php
require_once(getcwd() . "/src/pocketmine/PocketMine.php");
__halt_compiler();
?>
CODIGO;
# - Verífica si hubo algún problema al agregar el código.
if (!($archivo->setStub($codigo))) {
exit("[!] No se ha podido agregar código al archivo, intenta de nuevo.");
}
/**
* Pasos a seguir una vez que el archivo ha sido creado:
*
* 1 - Mover el archivo "PocketMine-MP.phar" que ha sido creado por este
* script a la carpeta "PocketMine" de su servidor.
*
* > NOTA: Si tienen el archivo "PocketMine-MP.phar" en su servidor lo pueden renombrar antes
* de mover el nuevo para evitar sobre-escribir el archivo.
*
* 2 - Mover la carpeta "src" del software de PocketMine hacia la carpeta "PocketMine" de
* su servidor.
*
* 3 - Ir a la APP de PocketMine para Android y encender su servidor.
*
*
* >>> Si tienen alguna me pueden contactar por twitter: @BEcraft_MCPE
*
*/
echo("[¡] Se ha creado el archivo [PocketMine-MP.phar] correctamente en la ruta \"" . CARPETA . "\".");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment