Votifier Server
, (*1)
Installation
Add bfoxwell/votifier to composer.json., (*2)
"bfoxwell/votifier": "dev-master"
Run composer update to pull down the latest version of the Votifier Server., (*3)
Usage
Generate Keys, (*4)
openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout > public.pem
Set the Configuration
$config = [
'key' => __DIR__ . '/private.pem', // Required | /path/to/private-key.pem
'passphrase' => '', // Optional
'address' => '0.0.0.0', // Optional | Default: localhost
'port' => 8192, // Optional | Default: 8192
];
Initialize
// $message returns array | $logger returns instance of Psr\Log\LoggerInterface;
$server = new Votifier($config, function($message, $logger)
{
// Your code goes here
});
Message Returns, (*5)
array(4) {
'serviceName' =>
string(5) "MinecraftVoteSite"
'username' =>
string(5) "Steve"
'address' =>
string(9) "example.com"
'timeStamp' =>
string(10) "1400647120"
}
Set PSR-3 Compatible Logger (Optional)
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// create a log channel
$logger = new Logger('Votifier');
$logger->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
$server->setLogger($logger); // Set Logger
Run It
$server->run();
Run with Supervisord
Config Files
[program:votifier_vanilla]
command=php index.php vanilla
directory=/home/minecraft/http/viper-votifier
stdout_logfile=/home/minecraft/http/api/app/storage/logs/votifier_vanilla_supervisord.log
redirect_stderr=true