Community GuidesEgg Creation

Creating a Custom Egg

Import an egg, or create your own, and organize eggs with tags.

Introduction

An egg tells the Panel how to install and run one kind of server, such as a Minecraft server or a Discord bot: its Docker image, startup command, user-editable settings, and install script. You organize eggs with tags.

Do not edit the eggs that ship with the Panel. Every Panel update replaces them, and your changes are lost. To change one, export it, import it as a new egg, and edit the copy.

Manage eggs under Admin → Eggs. There are three ways to add one:

  • Browse Catalog imports eggs from the community catalog at eggs.pterodactyl.io.
  • Import Egg uploads an egg file you already have.
  • New Egg creates an egg from scratch.

Importing an Egg

From the Catalog

Click Browse Catalog. Search by name or description, or pick a Category, then click Import on the egg you want. The Panel adds it with its variables and install script.

The catalog is cached for an hour. Click Refresh Catalog to load the latest list.

From a File

Click Import Egg, choose the egg's .json file, and click Import Egg. Eggs exported from Pterodactyl 1.x and 2.x are accepted.

An imported egg has no tags. Add them on the egg's Tags tab.

Creating an Egg

Click New Egg. The form has two sections.

Configuration

  • Name: The name users see as their server's type.
  • Description: A description of the egg.
  • Force Outgoing IP: Sends the server's outgoing traffic from its primary allocation's IP address. Use it for games that check the address a server connects from. It also blocks the server from reaching other servers on the node over the internal network.
  • Docker Images: The images servers may run in, one per line. See Docker Images.
  • Startup Command: The command that starts the server. See Startup and Configuration.
  • Features: Optional, comma-separated names of features that help users fix common problems, such as eula for Minecraft.

Process Management

These settings control how Wings starts, watches, and stops the server. See Startup and Configuration for each one.

Click Create Egg. The Panel opens the new egg, where you add its variables and install script.

Features

A feature watches the console for a known problem and shows the user how to fix it. Built-in features:

FeatureWhat It Does
eulaAsks the user to accept Minecraft's EULA when the server will not start without it.
java_versionLets the user pick another Docker image when the server needs a different Java version.
gsl_tokenWarns when the server's Steam Game Server Login Token is missing or invalid.
pid_limitExplains that the server has started too many processes.
steam_disk_spaceWarns when SteamCMD runs out of disk space.
hytale_oauthShows the sign-in link when a Hytale server asks for authentication.

Extensions may add their own features.

Managing an Egg

An egg's page has four tabs:

  • Configuration: The settings you entered at creation.
  • Tags: The egg's tags.
  • Variables: Per-server settings that users and administrators can change. See Egg Variables.
  • Install Script: The script that installs the server. See Install Scripts.

Buttons at the top of the page:

  • Export downloads the egg as a .json file. Settings inherited from another egg are written in, so the file is self-contained.
  • Update From File replaces the egg's settings with a file's. Variables missing from the file are removed. Servers already using the egg keep their startup command and Docker image.
  • Delete Egg deletes the egg. You cannot delete an egg that servers use, or that other eggs copy settings from.

Organizing Eggs With Tags

Tags group related eggs, such as every Minecraft egg. To create one, open Admin → Tags, click New Tag, and enter:

  • Name: The label shown throughout the Panel.
  • Slug: A short, stable API identifier, such as minecraft. It cannot be only numbers.
  • Color: Optional. A hexadecimal color.

To assign tags, open an egg's Tags tab, choose tags under Assigned Tags, and click Save tags.

These slugs are reserved for built-in game tags: srcds, bedrock, minecraft, rust, garrysmod, fivem, and voice. A tag created with one of them gets its name and color from the Panel, such as Minecraft for minecraft, and cannot be edited or deleted.

A new installation has no tags, and the bundled eggs have none assigned. Upgrading from 1.x creates tags from your nests. See Nests Are Replaced by Tags.

Edit on GitHub

Last updated on

On this page