Include egg variables in the output from the API

This commit is contained in:
Dane Everitt 2020-08-22 15:43:28 -07:00
parent 3a2c60ce31
commit cae604e79d
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
12 changed files with 204 additions and 92 deletions

View file

@ -0,0 +1,27 @@
<?php
namespace Pterodactyl\Services\Servers;
use Pterodactyl\Models\Server;
class StartupCommandService
{
/**
* Generates a startup command for a given server instance.
*
* @param \Pterodactyl\Models\Server $server
* @return string
*/
public function handle(Server $server): string
{
$find = ['{{SERVER_MEMORY}}', '{{SERVER_IP}}', '{{SERVER_PORT}}'];
$replace = [$server->memory, $server->allocation->ip, $server->allocation->port];
foreach ($server->variables as $variable) {
$find[] = '{{' . $variable->env_variable . '}}';
$replace[] = $variable->user_viewable ? ($variable->server_value ?? $variable->default_value) : '[hidden]';
}
return str_replace($find, $replace, $server->startup);
}
}