Panel β This refers to Pterodactyl Panel itself, and is what allows you to add additional nodes and servers to the system.
Node β A node is a physical machine that runs an instance of Wings.
Wings β The newer service written in Go that interfaces with Docker and the Panel to provide secure access for controlling servers via the Panel.
Server β In this case, a server refers to a running instance that is created by the panel. These servers are created on nodes, and you can have multiple servers per node.
Docker β Docker is a platform that lets you separate the application from your infrastructure into isolated, secure containers.
Docker Image β A Docker image contains everything needed to run a containerized application. (e.g. Java for a Minecraft Server).
Container β Each server will be running inside an isolated container to enforce hardware limitations (such as CPU and RAM) and avoid any interference between servers on one node. These are created by Docker.
Nest β Each nest is usually used as a specific game or service, for example: Minecraft, Teamspeak or Terraria and can contain many eggs.
Egg β Each egg is usually used to store the configuration of a specific type of game, for example: Vanilla, Spigot or Bungeecord for Minecraft.
Yolks β A curated collection of core docker images that can be used with Pterodactyl's Egg system.
flowchart TD
Panel[Panel] --> Node1[Node #1]
Panel[Panel] --> Node2[Node #2]
Panel[Panel] --> Node3[Node #n]
Node1 ---> Server1[Server #1]
Node1 ---> Server2[Server #2]
Node1 ---> Server3[Server #3]
Node1 ---> Server4[Server #n]
Server1 --> Nest1[Nest #1]
Server1 --> Nest2[Nest #2]
Nest1 --> Eggs1[Eggs #1]
Eggs1 --> Yolk11[Yolk #1]
Eggs1 --> Yolk12[Yolk #2]
Panel and Wings on the same machine
It is also possible to install wings on the panel machine so it acts as panel and node machine at once.
flowchart LR
subgraph P[ Panel Machine ]
Redis[(Redis)]
Database[(Database<br> 'MySQL/MariaDB')]
subgraph Web[Webserver <br> 'Nginx/Apache']
Panel[Panel]
end
end
subgraph N[Node Machines]
Wings[Wings]
subgraph Docker[Docker]
subgraph C[Container]
subgraph Server[Server]
end
end
end
end
admin((Administrator))<-->|80 & 443| Web
player1((Player #1))<-->|Node IP : Game Port#| Server
player2((Player #n))<-->|Node IP : Game Port#| Server
Server ~~~ player1
Server ~~~ player2
Panel <--> |3306| Database
Panel <--> |6379| Redis
Panel <--> |8080/8443 & 2022| Wings
Panel ---o |IP Address | N
Wings <--> Docker
style N fill:blue,stroke:black,stroke-width:2px,color:#fff
style P fill:blue,stroke:black,stroke-width:2px,color:#fff
style C fill:blue,stroke:black,stroke-width:2px,color:#fff
style Panel fill:red,stroke:black,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
style Wings fill:red,stroke:black,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
style Redis fill:green,stroke:black,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
style Database fill:green,stroke:black,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
style Web fill:green,stroke:black,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
style Docker fill:green,stroke:black,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
style Server fill:yellow,stroke:black,stroke-width:2px,color:black,stroke-dasharray: 5 5
flowchart LR
subgraph Legend
b["Blue = '(Virtual)' Server/ Machine or Container"]
style b fill:blue,stroke:black,stroke-width:2px,color:#fff
g["Green = Dependency Software"]
style g fill:Green,stroke:black,stroke-width:2px,color:#fff
r["Red = Pterodactyl"]
style r fill:Red,stroke:black,stroke-width:2px,color:#fff
y["Yellow = Pterodactyl"]
style y fill:Yellow,stroke:black,stroke-width:2px,color:black
subgraph a[Arrows]
direction LR
start1[ ] <--->|Communication| stop1[ ]
style start1 height:0px;
style stop1 height:0px;
start2[ ] ---o|'has' Relation| stop2[ ]
style start2 height:0px;
style stop2 height:0px;
end
end