diff --git a/app/Transformers/Api/Client/StatsTransformer.php b/app/Transformers/Api/Client/StatsTransformer.php index b438a8e1f..1d428a204 100644 --- a/app/Transformers/Api/Client/StatsTransformer.php +++ b/app/Transformers/Api/Client/StatsTransformer.php @@ -23,6 +23,7 @@ class StatsTransformer extends Transformer 'disk_bytes' => Arr::get($data, 'utilization.disk_bytes', 0), 'network_rx_bytes' => Arr::get($data, 'utilization.network.rx_bytes', 0), 'network_tx_bytes' => Arr::get($data, 'utilization.network.tx_bytes', 0), + 'uptime' => Arr::get($data, 'utilization.uptime', 0), ], ]; } diff --git a/docker-compose.example.yml b/docker-compose.example.yml index 42b02dbad..8ebc8d114 100644 --- a/docker-compose.example.yml +++ b/docker-compose.example.yml @@ -57,7 +57,7 @@ services: - cache volumes: - "/srv/pterodactyl/var/:/app/var/" - - "/srv/pterodactyl/nginx/:/etc/nginx/conf.d/" + - "/srv/pterodactyl/nginx/:/etc/nginx/http.d/" - "/srv/pterodactyl/certs/:/etc/letsencrypt/" - "/srv/pterodactyl/logs/:/app/storage/logs" environment: diff --git a/resources/scripts/api/server/getServerResourceUsage.ts b/resources/scripts/api/server/getServerResourceUsage.ts index 6b71dcf54..2a4c01cf6 100644 --- a/resources/scripts/api/server/getServerResourceUsage.ts +++ b/resources/scripts/api/server/getServerResourceUsage.ts @@ -10,6 +10,7 @@ export interface ServerStats { diskUsageInBytes: number; networkRxInBytes: number; networkTxInBytes: number; + uptime: number; } export default (server: string): Promise => { @@ -23,6 +24,7 @@ export default (server: string): Promise => { diskUsageInBytes: attributes.resources.disk_bytes, networkRxInBytes: attributes.resources.network_rx_bytes, networkTxInBytes: attributes.resources.network_tx_bytes, + uptime: attributes.resources.uptime, })) .catch(reject); }); diff --git a/resources/scripts/components/server/ServerDetailsBlock.tsx b/resources/scripts/components/server/ServerDetailsBlock.tsx index a87dc3b01..e0706832f 100644 --- a/resources/scripts/components/server/ServerDetailsBlock.tsx +++ b/resources/scripts/components/server/ServerDetailsBlock.tsx @@ -92,7 +92,7 @@ const ServerDetailsBlock = () => { />  {!status ? 'Connecting...' : (isInstalling ? 'Installing' : (isTransferring) ? 'Transferring' : status)} {stats.uptime > 0 && - + () } diff --git a/resources/scripts/components/server/UptimeDuration.tsx b/resources/scripts/components/server/UptimeDuration.tsx index 1406450fa..98c613a72 100644 --- a/resources/scripts/components/server/UptimeDuration.tsx +++ b/resources/scripts/components/server/UptimeDuration.tsx @@ -1,14 +1,15 @@ import React from 'react'; export default ({ uptime }: { uptime: number }) => { - const hours = Math.floor(Math.floor(uptime) / 60 / 60); + const days = Math.floor(uptime / (24 * 60 * 60)); + const hours = Math.floor(Math.floor(uptime) / 60 / 60 % 24); const remainder = Math.floor(uptime - (hours * 60 * 60)); - const minutes = Math.floor(remainder / 60); + const minutes = Math.floor(remainder / 60 % 60); const seconds = remainder % 60; - return ( - <> - {hours.toString().padStart(2, '0')}:{minutes.toString().padStart(2, '0')}:{seconds.toString().padStart(2, '0')} - - ); + if (days > 0) { + return <>{days}d {hours}h {minutes}m; + } + + return <>{hours}h {minutes}m {seconds}s; };