Under Construction: The site is currently being updated. That means its NOT FINISHED AND IS BEING BUILT!!!!!!
Docs / Features / Panel Settings
Features

Panel Settings

Configure panel branding, features, rate limits, and more.

Admin Settings

All panel settings are stored in a single settings database row. Admins can modify them through the admin panel or API.

Settings Categories

General Settings

Setting Default Description
title "Airlink" Panel title
description "Airlink is..." Panel description
logo "../assets/logo.png" Logo path
favicon "../assets/favicon.ico" Favicon path
theme "default" UI theme
lightTheme "default" Light theme
darkTheme "default" Dark theme
language "en" Default language
allowRegistration false Allow public registration
uploadLimit 100 File upload limit (MB)
onboardingEnabled true Show onboarding to new users
PATCH /api/v2/admin/settings/general
{ "title": "My Panel", "allowRegistration": true }

Security Settings

Setting Default Description
loginMaxAttempts 5 Max failed login attempts
loginLockoutMinutes 15 Lockout duration
rateLimitEnabled true Enable rate limiting
rateLimitRpm 100 Requests per minute
enforceDaemonHttps false Force HTTPS to daemons
require2faForAdmins false Require 2FA for admin accounts
behindReverseProxy false Trust X-Forwarded-For headers
hashApiKeys false Hash API keys in database
PATCH /api/v2/admin/settings/security
{ "rateLimitEnabled": true, "rateLimitRpm": 200 }

Server Policy Settings

Setting Default Description
allowUserCreateServer false Users can create servers
allowUserDeleteServer false Users can delete servers
defaultServerLimit 0 Default max servers per user
defaultMaxMemory 512 Default memory limit (MB)
defaultMaxCpu 100 Default CPU limit
defaultMaxStorage 5120 Default storage limit (MB)
defaultMaxDatabases 0 Default database limit
defaultOverallocateMemory 0 Default memory overallocation
defaultOverallocateDisk 0 Default disk overallocation
defaultOverallocateCpu 0 Default CPU overallocation
allowPrivilegedServerLimit 5 Admin max servers
allowPrivilegedMaxMemory 2048 Admin max memory
allowPrivilegedMaxCpu 200 Admin max CPU
allowPrivilegedMaxStorage 61440 Admin max storage
allowPrivilegedMaxDatabases 10 Admin max databases
defaultMemory 512 Server creation default memory
defaultCpu 100 Server creation default CPU
defaultDisk 5120 Server creation default disk
maxServersPerUser 10 Hard cap on servers per user
onboardingSteps "[]" Onboarding step configuration
PATCH /api/v2/admin/settings/server-policy
{ "allowUserCreateServer": true, "defaultMaxMemory": 1024 }

Feature Toggles

Setting Default Description
twoFactorRequired false Require 2FA for all users
sftpEnabled true Enable SFTP access
backupsEnabled true Enable backup system
schedulesEnabled true Enable scheduled tasks
databasesEnabled true Enable database management
fileManagerEnabled true Enable file manager
consoleEnabled true Enable server console
playerTrackingEnabled false Enable player stats collection
scannerEnabled true Enable file scanner
airlinkCloudEnabled false Enable Airlink Cloud features
PATCH /api/v2/admin/settings/features
{ "backupsEnabled": true, "consoleEnabled": true }

SMTP Settings

Setting Default Description
smtpHost null SMTP server hostname
smtpPort 587 SMTP port
smtpUser null SMTP username
smtpPassword null SMTP password
smtpFrom null From address
smtpSecure false Use TLS
emailCooldown 30 Seconds between emails
PATCH /api/v2/admin/settings/smtp
{ "smtpHost": "smtp.gmail.com", "smtpPort": 587 }

Test SMTP:

POST /api/v2/admin/settings/smtp/test

S3 Settings

Setting Default Description
s3Enabled false Enable S3 storage
s3Endpoint null S3 endpoint URL
s3Region null AWS region
s3Bucket null Bucket name
s3AccessKey null Access key
s3SecretKey null Secret key
s3PathStyle false Use path-style URLs
PATCH /api/v2/admin/settings/s3
{ "s3Enabled": true, "s3Endpoint": "https://s3.amazonaws.com" }

Test S3:

POST /api/v2/admin/settings/s3/test

IP Management

Ban IP addresses:

POST /api/v2/admin/settings/ban-ip
{ "ip": "192.168.1.100", "reason": "Abuse" }

Unban:

POST /api/v2/admin/settings/unban-ip
{ "ip": "192.168.1.100" }

Banned IPs are stored as a JSON array in the bannedIps setting field. The middleware checks this list before any route handler runs.

Wallpaper Settings

Custom wallpapers for different pages:

Setting Description
loginWallpaper Login page background
registerWallpaper Register page background
panelWallpaper Main panel background

Cloud Settings

Setting Description
airlinkCloudApiKey Airlink Cloud API key
airlinkCloudBackupEnabled Enable cloud backups