@if(!$status) {{-- Error state when status cannot be loaded --}} Unable to Load Server Status

Could not retrieve status from hypervisor:

Retry
@else @php // Calculate resource metrics $cpuCores = max(1, (int)($status->cpus ?? 1)); $cpuUsagePercent = round(max(0, ($status->cpu ?? 0) * 100), 1); $memoryTotal = (int)($status->maxmem ?? 0); $memoryUsed = (int)($status->mem ?? 0); $memoryPercent = $memoryTotal > 0 ? round(($memoryUsed / $memoryTotal) * 100, 1) : 0; $diskTotal = (int)($status->maxdisk ?? 0); $diskUsed = (int)($status->disk ?? 0); $diskPercent = $diskTotal > 0 ? round(($diskUsed / $diskTotal) * 100, 1) : 0; // Uptime $reportedUptime = $this->status && isset($this->status->uptime) ? $this->formatSeconds($this->status->uptime) : 'N/A'; // Power stats $powerStats = $this->powerEventStats ?? [ 'starts' => 0, 'shutdowns' => 0, 'reboots' => 0, ]; // Network $totalNetIn = (int)($status->netin ?? 0); $totalNetOut = (int)($status->netout ?? 0); // Product/Service info $productSettings = $server->service?->product?->settings ?? collect(); $allocatedCores = $productSettings->where('key', 'cores')->first()?->value ?? $cpuCores; $allocatedMemoryMiB = $productSettings->where('key', 'memory')->first()?->value ?? 0; $allocatedDiskGiB = $productSettings->where('key', 'disk')->first()?->value ?? 0; $allocatedBackups = $productSettings->where('key', 'backups')->first()?->value ?? 0; $servicePlan = $server->service?->plan; $serviceExpires = $server->service?->expires_at; $serviceStatus = $server->service?->status ?? 'unknown'; $productName = $server->service?->product?->name ?? 'Unknown Product'; $locationName = $server->node?->location?->name ?? 'Unknown'; $nodeName = $server->node?->name ?? 'Unknown'; // Badge helper $badgeForPercent = function (float $value) { if ($value >= 100) return ['label' => 'Critical', 'class' => 'bg-error/15 text-error']; if ($value >= 85) return ['label' => 'Warning', 'class' => 'bg-warning/15 text-warning']; return ['label' => 'Healthy', 'class' => 'bg-success/15 text-success']; }; $cpuBadge = $badgeForPercent($cpuUsagePercent); $memoryBadge = $badgeForPercent($memoryPercent); @endphp

The Server Overview provides a comprehensive real-time dashboard of your virtual machine's status, resource utilization, and configuration details.

Resource Metrics: Live CPU, memory, and storage utilization with health indicators.

Server Details: Operating system, hostname, IP addresses, and credentials.

DNS Configuration: Available hostname resolution options for your server.

Infrastructure: Datacenter location, billing cycle, and service information.

Resource Metrics

@if($status && $status->status === 'running') Running @else Stopped @endif
CPU
{{ $cpuBadge['label'] }}
{{ $cpuUsagePercent }}%

{{ number_format(($status->cpu ?? 0) * $cpuCores, 2) }} / {{ $cpuCores }} vCPU

Memory
{{ $memoryBadge['label'] }}
{{ $memoryPercent }}%

{{ \Illuminate\Support\Number::fileSize(bytes: $memoryUsed) }} / {{ \Illuminate\Support\Number::fileSize(bytes: $memoryTotal) }}

Uptime
Live
{{ $reportedUptime }}

{{ $powerStats['starts'] }} starts • {{ $powerStats['shutdowns'] }} shutdowns • {{ $powerStats['reboots'] }} reboots

Server Details

Status @if($status && $status->status === 'running') Running @else Stopped @endif
Operating System {{ $server->os->name }}
Hostname
{{ $server->hostname ?? $status->name ?? 'N/A' }}
@if($server->primaryIpv4)
IPv4 Address
{{ $server->primaryIpv4->ip }}
@endif @if($server->primaryIpv6)
IPv6 Address
{{ $server->primaryIpv6->ip }}
@endif
Root Password
@if(isset($server->password) && $server->password) •••••••• @else Emailed @endif
Reinstall Server

Data permanently deleted. Irreversible.

DNS Configuration

DNS hostnames that automatically resolve to your server's IP address. These work without any configuration.

Note: DNS is configured via cloud-init. For Windows or manual configuration, configure DNS directly within the guest OS.

@if($server->primaryIpv6) @php $ipv6Dashed = str_replace(':', '-', $server->primaryIpv6->ip); $dnsProviders = [ ['name' => 'Virtnet Internal', 'domain' => $ipv6Dashed . '.virtnet.host', 'badge' => 'Internal'], ['name' => 'nip.io', 'domain' => $ipv6Dashed . '.nip.io', 'badge' => 'Public'], ['name' => 'sslip.io', 'domain' => $ipv6Dashed . '.sslip.io', 'badge' => 'Public'], ['name' => 'backname.io', 'domain' => $ipv6Dashed . '.backname.io', 'badge' => 'Public'], ]; @endphp @foreach($dnsProviders as $provider)
{{ $provider['name'] }} {{ $provider['badge'] }}
{{ $provider['domain'] }}
@endforeach @else

No IPv6 address assigned

@endif

@ = root domain • *.@ = wildcard subdomains

Notes

(Markdown supported)
@if($isEditingNotes)
@if($notesError)

{{ $notesError }}

@endif
@else
@if($notes) {!! \Illuminate\Support\Str::markdown(e($notes), ['allow_unsafe_links' => false, 'renderer' => ['soft_break' => "
"]]) !!} @else

No notes yet. Click Edit to add some.

@endif
@endif

Export Error

No notes available to export. Add some notes first.

@if(stripos($server->os->name, 'Windows') !== false)

Windows Configuration

Windows doesn't support cloud-init for automated configuration. You'll need to manually configure networking, hostname, and system settings.

Network Setup

Configure IP addresses manually in Windows Network Settings.

Licensing

You must maintain valid Windows licensing.

Compliance

Non-compliant installations may be suspended.

@endif

Server Information

Specifications

vCPU Cores {{ $allocatedCores }} cores
Memory @if($allocatedMemoryMiB > 0) {{ number_format($allocatedMemoryMiB / 1024, 1) }} GiB @else {{ \Illuminate\Support\Number::fileSize(bytes: $memoryTotal) }} @endif
Storage @if($allocatedDiskGiB > 0) {{ $allocatedDiskGiB }} GiB @elseif($diskTotal > 0) {{ number_format($diskTotal / 1024 / 1024 / 1024, 0) }} GiB @else N/A @endif
Backups {{ $allocatedBackups > 0 ? $allocatedBackups . ' slots' : 'Disabled' }}

Network Transfer

Inbound {{ \Illuminate\Support\Number::fileSize(bytes: $totalNetIn) }}
Outbound {{ \Illuminate\Support\Number::fileSize(bytes: $totalNetOut) }}
Total {{ \Illuminate\Support\Number::fileSize(bytes: $totalNetIn + $totalNetOut) }}

Billing

Product {{ $productName }}
Status {{ ucfirst($serviceStatus) }}
Renewal {{ $serviceExpires ? $serviceExpires->format('M d, Y') : 'N/A' }}

Infrastructure

Datacenter {{ $locationName }}
Node {{ $nodeName }}
VM ID {{ $server->vm_id ?? 'N/A' }}

Identifiers

Server ID {{ $server->id }}
Service ID {{ $server->service_id ?? 'N/A' }}
Created {{ $server->created_at?->format('M d, Y') ?? 'N/A' }}

Live Usage

CPU
{{ $cpuUsagePercent }}%
Memory
{{ $memoryPercent }}%
@if($diskTotal > 0)
Disk
{{ $diskPercent }}%
@endif
@once @endonce @endif