R

RPEncrypter

por poggit-archive
No disponible
VariosHerramientasEstadísticaspocketmine
3visitas
0descargas

RPEncrypter

A PocketMine-MP plugin that automatically encrypts all loaded resource packs.

Just install the plugin and restart your server. All loaded resource packs (such as ones defined in your resource_packs/resource_packs.yml) will automatically be encrypted. This plugin uses your machine ID as the encryption key.

API

ResourcePackEncrypter::encrypt() encrypts resource packs with the supplied encryption-key.

/** @var PluginBase plugin∗/plugin */ rp_path = $plugin->getDataFolder() . DIRECTORY_SEPARATOR . "MyResourcePack.zip";

// encrypt MyResourcePack.zip encrypter=newResourcePackEncrypter(encrypter = new ResourcePackEncrypter(plugin->getDataFolder()); encryptionkey=opensslrandompseudobytes(32,encryption_key = openssl_random_pseudo_bytes(32, strong_result); fileencryptionkeygen=fn(stringfile_encryption_keygen = fn(string path, string contents)=>md5(contents) => md5(path . contents);contents); info = encrypter−>encryptZip(newZipArchive(encrypter->encryptZip(new ZipArchive(rp_path), encryptionkey,encryption_key, file_encryption_keygen);

// register encrypted resource pack manager=manager = plugin->getServer()->getResourcePackManager(); stack=stack = manager->getResourceStack(); stack[]=stack[] = info->pack; manager−>setResourceStack(manager->setResourceStack(stack); manager−>setPackEncryptionKey(manager->setPackEncryptionKey(pack->getPackId(), $encryption_key);

// hold reference to encrypted file's resource throughout server runtime plugin−>encryptedResourcePackResource=plugin->encryptedResourcePackResource = info->resource;

To generate static encryption keys (instead of random keys), consider using your machine ID.

use pocketmine\utils\Utils;

machineid=Utils::getMachineUniqueId()−>getBytes();machine_id = Utils::getMachineUniqueId()->getBytes(); encryption_key = md5($machine_id); // 32-byte encryption key

Alternatively, generate a 32-length random string via 1Passoword and store it on your server somewhere.

$encryption_key = "6]xFaeMs9b)UnybZ?raH]*)PJ.Jx!3:0";