Back to Directory

Decimal Units

Blueprint extension for Pterodactyl that displays byte values (storage, memory, network) in decimal units (KB/MB/GB) instead of binary (KiB/MiB/GiB).

Description

Blueprint extension for Pterodactyl that displays byte values (storage, memory, network) in decimal units (KB/MB/GB) instead of binary (KiB/MiB/GiB).

decimalunits A Blueprint extension for Pterodactyl that displays all storage, memory and network byte values shown to users on the client dashboard in decimal units (KB, MB, GB, TB) instead of Pterodactyl's default binary units (KiB, MiB, GiB, TiB). Admin-side values (server edit, egg configuration, etc.) are left untouched and are still entered/displayed in raw MiB. How it works Pterodactyl's own bytesToString() (resources/scripts/lib/formatters.ts) is the single place that formats every DOM-rendered byte value shown to users, always using binary units with a 1024 divisor: ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB']. There is no supported Components.yml hook to override that function directly, so this extension instead: • Watches the rendered DOM with a MutationObserver and rewrites any already-rendered text matching that binary output into decimal units (1000 divisor) — see components/elements/DecimalUnitConverter.tsx. • Registers a global Chart.js plugin that rewrites tick labels on the CPU/Memory/Network usage graphs (resources/scripts/components/server/console/StatGraphs.tsx), since those are drawn onto a and can't be reached by scanning DOM text nodes — see components/elements/lib/chartPlugin.ts. Both entry points share the same conversion helpers in components/elements/lib/units.ts, so the DOM scanner and the chart plugin always agree on exactly which strings count as "binary unit output" and how they're rewritten. Converted output never contains the binary i suffix again, so re-scanning already-converted text is always a no-op. Why Dashboard.Global.BeforeSection Components.yml binds the (invisible) converter component to Dashboard.Global.BeforeSection, which is rendered by Pterodactyl's shared PageContentBlock — used by every dashboard/account/server page. Binding it here means the converter mounts once and applies everywhere, without needing a separate binding per page. Installation 1. Download the latest decimalunits.blueprint file from the Releases page. 2. Upload it to your panel and run: Uninstallation This extension has no install/update/remove scripts and patches no panel files directly — removal simply unmounts the component and reverts to Pterodactyl's default binary-unit formatting. Compatibility Last verified against: • Pterodactyl Panel: develop branch (as of the date of this commit). • Blueprint Framework: beta-2026-06 (current stable release, matching info.target in conf.yml). Since the DOM converter relies on matching the exact output format of Pterodactyl's bytesToString(), compatibility with future Pterodactyl versions is not guaranteed, but a format change would simply result in unconverted (binary) values being shown again, not a broken UI.

Free
View on GitHub

Free & open source — install it from the repository

Specifications

Authorjw2702
Last UpdatedJuly 23, 2026
CompatibilityPterodactyl beta-2026-06

Tags

reacttypescriptui
OIDC SSO Login
AddonsFree

OIDC SSO Login

by jw2702

OIDC single sign-on for Pterodactyl — just-in-time account provisioning, email-based matching, IdP-controlled admin status, and RP-/Back-/Front-Channel Logout.

1stars
Delete Files on Reinstall
AddonsFree

Delete Files on Reinstall

by jw2702

Blueprint extension for Pterodactyl adding a "delete all files before reinstalling" checkbox to the server reinstall dialog.

No ratings yet
Minecraft Library Manager
AddonsFree

Minecraft Library Manager

by nicolasjm0702

Pterodactyl Blueprint extension. Adds a "Library" and "Modpack" tab to the server panel for searching and installing mods, plugins, datapacks and resource packs from Modrinth or CurseForge, without leaving the panel.

1stars