Others
1. Custom Route Category
To organize the server menu (tabs) into sections like "General", "Management" or "Configuration", we use something called categories.
These categories are defined in a file called dravix-config.ts
, which is located at:
/var/www/pterodactyl/resources/scripts/
Open the file and look for the following section:
export const SERVER_ROUTE_CATEGORIES = {
general: 'general',
management: 'management',
configuration: 'configuration',
} as const;
Each entry here represents a group name to display and organize navigation links in the server page.
Adding a new category
Let's say you want to add a new section called "Minecraft".
Just add a new line like this:
export const SERVER_ROUTE_CATEGORIES = {
general: 'general',
management: 'management',
configuration: 'configuration',
minecraft: 'minecraft', // 👈 here is your category
} as const;
That's it, now you can use it to your routes.
Assign the category to a route
After you've added your category in dravix-config.ts
, the next step is to use that category in the routes array, located at:
/var/www/pterodactyl/resources/scripts/routers/routes.ts
Inside this file, you'll find a large list of all routes displayed under each server.
Each route is an object that defines:
the path
the permission required
the component to load
and now: the category it belongs to
Now, in routes.ts
, you can assign this new category to a route like so:
{
path: '/minecraft',
permission: null,
name: 'minecraft',
icon: LuSettings2,
category: SERVER_ROUTE_CATEGORIES.minecraft, // ✅ use your new category here
component: StartupContainer,
}
Once added, the route will appear under a new navigation section labeled "Minecraft".
After making this changes, you must rebuild the panel assets.
Click here if you don't know how to do that.
2. Restrict a Route to Specific Egg IDs
Sometimes, you might want a route to appear only for a specific server type (for example, only for Minecraft server or only for Rust servers).
To achieve this, you can use the eggIds
option.
What is eggId
?
eggId
?Every server in Pterodactyl is created using an Egg (template).
Each Egg has a unique numeric ID, which is used to identify the type of server (e.g. Minecraft = 1, Rust = 7, etc).
You can restrict certain routes to show up only if the current server matches on of those Egg IDs.
Where to add eggIds
:
eggIds
:Go to this file:
/var/www/pterodactyl/resources/scripts/routers/routes.ts
Then find the route you want to restrict.
Add the eggIds
field like this:
{
path: '/minecraft',
permission: null,
name: 'minecraft',
icon: LuSettings2,
category: SERVER_ROUTE_CATEGORIES.minecraft,
component: StartupContainer,
eggIds: [3, 4, 5], // ✅ only visible for these Egg IDs
}
This means that this route will only be visible to servers created using Egg ID 3, 4 or 5.
What happens if you don't add eggIds
?
eggIds
?If you don't define eggIds
, the route will be shown to all server types.
This is the default behavior.
After making this changes, you must rebuild the panel assets.
Click here if you don't know how to do that.
3. Change the Default Theme
By default, the panel uses the system's theme preference (light or dark).
If you want to set a different default theme (regardless of the user's system), you can change the DEFAULT_THEME_MODE
value.
Open dravix-config.ts
, which is located at:
/var/www/pterodactyl/resources/scripts
Then replace 'system' with one of the following values:
'light'
- Force light mode'dark'
- Forces dark mode'system'
- Uses the user's system preference (default)
After making this changes, you must rebuild the panel assets.
Click here if you don't know how to do that.
Build the assets
cd /var/www/pterodactyl
yarn run build:production
Last updated