pelican-panel-mirror/app/Services/Servers/StartupCommandService.php
JoanFo dca37ccc95
Server Without Allocations (#1432)
Co-authored-by: RMartinOscar <40749467+RMartinOscar@users.noreply.github.com>
2025-06-25 19:49:43 -04:00

29 lines
851 B
PHP

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