Panel Features
Aquadactyl's additions to Pterodactyl: branding, account security, languages, server tools, extensions, activity filters and operator controls.
Aquadactyl includes Blueprint and adds tools for branding, account security and everyday server management. This guide explains where to find them and how administrators control their availability.
Most panel-wide settings use Admin → Settings. Set
APP_ENVIRONMENT_ONLY=false to manage database-backed settings there, then reload
open panel pages after saving. OAuth and passkey settings are stored in the
database even when other settings use environment-only configuration.
The homepage feature catalogue and comparison cover 24 documented feature areas against stock Pterodactyl v1.15.1. This guide describes how to use the additions. See frontend benchmarks for the measured build-time and asset-size comparison, including the pinned source revisions.
Appearance and branding
Open Admin → Settings → Appearance to configure:
- The site name and logo, including whether the name appears beside the logo.
- A primary colour for buttons, navigation, links, controls and focus highlights. CPU, memory and outbound network graphs use the same colour.
- Login and client background images, with adjustable blur and overlay strength.
- A centred login card or a full-height left or right pane covering half the page.
- The logo's position relative to the login form.
Desktop and mobile previews update as you edit. On small screens, side panes fill the width and an opposite-side logo moves above the form. Save applies the name, colour, layout and effects; Discard changes resets those values. Image upload and removal actions save immediately while preserving other edits.
The uploaded logo supplies navigation branding and browser icons. The site name also appears in page titles and home-screen shortcut names.
Passkeys and connected accounts
Open Admin → Settings → OAuth to enable passkeys and configure Discord, GitHub, Google or generic OpenID Connect. Each OAuth provider needs its client ID, secret and the exact callback URL shown in the tab. OpenID Connect also requires an HTTPS issuer with discovery and PKCE S256 support. Confirm your administrator password to save settings.
Users sign in with their existing password, then open Account settings → Passkeys and connected accounts to register a passkey or link a provider. Changes to sign-in methods require password confirmation. OAuth signs in existing linked users; it does not create accounts or link them by matching email addresses. Users and administrators keep the same permissions and two-factor verification checkpoint after either sign-in method.
Passkeys require HTTPS, except when testing at localhost. They are tied to the
panel hostname. Account sections and login buttons appear only for enabled,
configured methods; saved credentials and links are retained when a method is
disabled.
See the account security reference for callback paths, provider requirements and setup details.
Languages per account
English, French and German are bundled for the client and administration areas. Users choose Account → Language to save their own preference, or select Automatic (browser language) to follow their browser's language preferences. An account choice does not change the site's default language or other users' preferences. Automatic selection uses browser preferences rather than IP location.
Admins set the default language under Admin → Settings → General. Additional
language packs live in resources/lang/<locale> and use JSON catalogs with
optional locale.json metadata. Reload translations with
php artisan optimize:clear; adding a pack does not require a JavaScript build.
For Docker, include the pack in the image source or a managed language volume.
Core interface text has translation catalogs; some detailed forms and third-party addon text still use their own English strings. The translation guide explains coverage, fallbacks and pack installation. Translation contributions are maintained in panel-translations.
Server file trash
Enable Server file trash under Admin → Settings → General to offer Move to trash and Permanently delete when deleting server files or directories. Trash is disabled by default.
Open Trash from the server's Files page to see original paths and expiry dates, restore items or permanently delete them. Restore recreates missing parent directories and refuses to overwrite an existing file, folder or symlink. Listing requires file read permission, moving or deleting requires file delete permission, and restoration also requires file create permission.
Admins choose retention from 1–365 days, with 7 days as the default.
New deletions use the current retention; existing expiry dates are preserved.
The panel scheduler checks for expired items every 15 minutes and retries when
Wings is unreachable. Linux deployments need the normal artisan schedule:run
cron entry; the Docker image includes it.
Trash keeps files on the server and counts towards its disk limit. Retain both
the panel database and Wings data in backups. Files live in the reserved
.aquadactyl-trash directory; server programs and SFTP can still change them.
Avoid manually modifying that directory.
Disabling trash hides its controls and blocks its API, including restoration. Permanent file deletion stays available, and scheduled cleanup continues to honour existing expiry dates.
Console log sharing
Enable Console log sharing under Admin → Settings → General to show a clipboard button at the right end of the console command input. Sharing is disabled by default. Users with console access can upload the current console log tail and receive a copyable link to debug.euphoriadevelopment.uk.
The panel redacts common credentials, known secret server variables, IP addresses, email addresses and UUIDs before uploading. The returned link appears only to the requesting user in the panel; anyone given that link can read the paste. Pastes expire after 24 hours. Redaction is best effort, so inspect the paste before sharing it.
Disabling sharing hides the button and blocks new uploads. It does not remove
already-created pastes. Panel application logs can separately be previewed with
php artisan p:debug --dry-run and explicitly uploaded with php artisan p:debug.
Server overview and console tools
Server cards show resource usage, player counts for supported games and an optional node country flag. Console, Files, Start, Restart and Stop shortcuts follow the user's existing permissions. Configure game queries under Admin → Servers → Details → Game Player Counts, and node countries under Admin → Nodes → Settings. An unreachable query displays Unavailable.
On the Console page, click the UUID beneath the server name to copy the full identifier. The scroll-to-latest control uses a Lucide down arrow and supports mouse and keyboard activation. CPU, memory and outbound network graphs follow the configured primary colour.
Profile pictures and moderation
When custom profile pictures are enabled, users can upload a JPG, PNG or WebP image from Account settings. Administrators control uploads under Admin → Settings → General and can remove an individual picture under Admin → Users → View user. Removing a picture deletes the managed upload, restores the default avatar and records an administrative activity event.
Disabling the feature hides saved uploads and blocks new uploads. It retains saved images for when the feature is enabled again. An administrator can remove an uploaded picture even while uploads are disabled.
Sensitive-data blur
Users can choose to blur marked email addresses, IP addresses, passwords and access keys in their account's privacy settings. Hover, focus or tap a marked value to reveal it. Administrators can disable this preference panel-wide under Admin → Settings → General. Saved preferences are retained when disabled.
Blur is a presentation preference for screen sharing and everyday use; existing authorization and credential controls still determine who can access a value.
Optional account registration
Registration is off by default. Enable it under Admin → Settings → General when you want new users to create their own accounts. Registration uses the configured captcha flow, validates the username and email and requires a confirmed password. New accounts are not administrators and do not automatically receive game servers. Disable registration to return to administrator/API-created users.
Account and server activity filters
The Account → Activity and server Activity pages offer grouped event filters, an exact event choice, 24-hour/7-day/30-day/90-day ranges, a date filter, IP address, source and newest/oldest ordering. Sources include panel, API, SFTP and system activity. The controls narrow the existing permission-scoped log; they do not grant access to another account's activity.
Searchable client controls
The shared client select control supports searching option labels, grouped
choices and keyboard navigation while retaining ordinary form values, refs and
change events. Menus work within dialog focus handling. The admin area keeps
Select2 controls with the panel's charcoal styling. Addon authors can reuse
@/components/elements/Select rather than implementing another dropdown.
Email services
Open Admin → Settings → Mail to choose SMTP, Mailgun, Postmark or Amazon SES. The form shows the selected service's fields and includes a test email action. Provider credentials are encrypted in saved settings and are not displayed again. Leave a saved secret's field blank to retain it.
The log mailer is available for development and records messages locally without sending email. See Additional Configuration for SMTP environment configuration.
Egg Library
Open Admin → Service Management → Egg Library to search and filter the eggs.download catalogue, inspect an egg's settings and import it into an existing or new nest. The imported egg can then be selected during server creation.
Easier schedules
On a server's Schedules page, choose daily, weekly, monthly or regular interval timing. Add restart, backup or command steps with readable delays. Advanced cron remains available for custom timing. See the schedule reference for examples and execution behaviour.
Bundled Blueprint
Blueprint beta-2026-08 is included with its CLI, frontend hooks, admin pages and
extension routes. Installation initializes the framework; individual extensions
are separate packages. Place an identifier.blueprint archive in the panel root
and install with blueprint -i identifier. Keep the package there so managed
updates can restore its hooks. Update the panel and framework together rather
than running the stock Blueprint updater.
The development guide lists the current shared libraries, including React 19, TanStack Query, Zustand, Base UI, Zod, React Hook Form, Lucide, date-fns, es-toolkit, Motion and uPlot. The downloadable Server Pulse example demonstrates their use.
Legacy Blueprint compatibility
Compatibility API v1 adapts common legacy styling, Easy Peasy application hooks, React Router 5 interfaces, forms and icon imports while leaving the modern panel runtime in place. Check a package before installation:
blueprint -check myaddonThe check compiles the frontend in a temporary extraction without installing the addon or running its lifecycle scripts. Installation performs this check too. Adapters do not cover every private core component, old React API or shell script that patches the panel. Compilation still needs runtime and permission testing. See the compatibility reference and the migration guide.
Managed installation and updates
The Linux installer builds assets, applies migrations, initializes Blueprint and refreshes caches. Managed updates verify a reviewed release, back up both the database and panel files and preserve configuration and extension data. Follow the installation and update guides for service paths, backups and recovery.
Deployment profiles and asset loading
Supplied profiles configure Redis cache/sessions/queues, PHP OPcache, cached Laravel configuration/routes/views, Nginx compression and immutable caching for hashed assets. Filesystem permissions and PHP execution rules are included in the deployment templates. Upstream Pterodactyl also supports these technologies; Aquadactyl supplies a coordinated installation profile.
Account and server screens are loaded at their routes, and the frontend uses Vite for production builds. The benchmark guide measures the resulting dashboard artifacts and local build duration against the reviewed Pterodactyl release. These measurements do not establish backend or game-server performance.
Local development stack
The panel repository's Docker Compose test stack initializes a panel, MariaDB, Redis, Blueprint, a local administrator and a connected Wings node:
docker compose up -d --build --wait --wait-timeout 600This is a development setup with loopback bindings and published local test credentials. Use the production deployment guide for public hosting. See the building guide for local ports, volumes and configuration.
Telemetry choices
Aquadactyl and Blueprint telemetry are off by default on new installations. The upstream Pterodactyl telemetry collector has been removed. Administrators can opt in to Aquadactyl's aggregate reporting under Admin → Settings → Advanced Settings → Aquadactyl Telemetry; Blueprint retains its own opt-in setting. Updates preserve existing explicit choices.
The Aquadactyl report contains an anonymous installation UUID, versions, infrastructure driver names, Docker availability and aggregate user/server/node counts. It excludes names, domains, IP fields, credentials and request contents; the receiving service can still observe the connection's source IP. See the source report description.
Panel log diagnostics
Normal logs default to warning level with daily rotation and seven-day retention. Preview a bounded, redacted log tail before uploading it:
php artisan p:debug --dry-run
php artisan p:debugThe second command explicitly uploads to the configured debug service and prints a temporary link. Console sharing is a separate optional feature. Redaction is best effort; inspect the preview before distributing a paste. See the diagnostic command for file, size and expiry options.
Administrator feature controls
Under Admin → Settings → General, admins can enable or disable player counts, custom profile pictures, sensitive data blur and server list quick actions. Disabled features disappear from the relevant account or server screens; saved preferences are retained. Admins can remove a user's uploaded profile picture from Admin → Users → View.
Aquadactyl and Blueprint telemetry are disabled by default. Normal panel logs use warning-level logging with daily rotation and seven-day retention; debug logging is opt-in for troubleshooting.