# Pterodactyl

## Pelican Panel

{% hint style="warning" %}

#### **I have moved over to Pelican.**

Pelican is a fork of Pterodactyl that is currently in beta. It has some pretty cool features like OAuth and supports plugins, [You can view a comparison of Pelican vs Pterodactyl here](https://pelican.dev/docs/comparison/)

**Please look at my** [Pelican](/guides/installation-guides/pelican.md) **guide**

This guide is kept online as an archive and is NOT maintained
{% endhint %}

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Total Time Required</strong></td><td>1 Hour</td></tr><tr><td><strong>Difficulty</strong></td><td>Moderate</td></tr><tr><td><strong>Required Knowledge</strong></td><td>Docker, Docker Compose, Reverse Proxies, DNS, Dockflare</td></tr></tbody></table>

## The Scenario

Our goal is to create a new Pterodactyl Panel and Wings node for hosting game servers.

**This documentation is NOT intended for a professional / reseller environment.** Please do not follow this guide if you intend on selling or publicizing your server resources, as

* Proxy / Tunnelling wings and panel is NOT supported by Pterodactyl developers
* This guide is provided with best effort support

{% hint style="info" %}
*Further testing has confirmed the panel will ONLY talk to DB's on 3306*
{% endhint %}

## Prerequisites

* [ ] A machine to host the panel
  * [ ] [Docker and compose installed](https://docs.docker.com/engine/install/ubuntu/)
  * [ ] Port 3306 to be available

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><em>Further testing has confirmed the panel will ONLY talk to DB's on 3306</em></p></div>
* [ ] A machine to host the wings node

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><em>You can create multiple node machines and load balance your servers, our scale outwards in the future</em></p></div>

  * [ ] [Docker and Compose installed](https://docs.docker.com/engine/install/ubuntu/)
  * [ ] A high performance, well spec'd machine;
    * Lots of RAM
    * [High single thread passmark CPUs](https://www.cpubenchmark.net/cpu_list.php) (required for Minecraft)
    * SSD storage
* [ ] A Domain that's managed by Cloudflare
* [ ] [Cloudflare Zero Trust tunnel](/guides/other-guides/cloudflare/cloudflare-zero-trust.md)
* [ ] [Dockflare container](/guides/other-guides/cloudflare/dockflare-tunnel-management.md)
* [ ] [A Cloudflare DDNS container](/guides/other-guides/cloudflare/dynamic-dns.md)
  * [ ] With Proxy disabled

### Recommended

* [ ] [Portainer & GitOps](/guides/installation-guides/gitops.md)
* [ ] A separate server for the Panel and each Wings node (if setting up more than 1)

### Panel

The Pterodactyl Panel is the front end gui for managing your servers. The panel can be connected to multiple Wings nodes (or hosts), which this documentation is written for.

### Wings

Wings hosts the game server compute (CPU) and storage. As this machines job is to process data, a lot of high performing single thread cores are required as well as a lot of RAM.

### Flowchart

<figure><img src="https://4115153834-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s9LbmHPE41U6jxE7Mp6%2Fuploads%2FLIrMkgJVCxZY3X6E6Z20%2Ffile.excalidraw.svg?alt=media&#x26;token=492c8a46-ed18-4945-a4b2-b34ff40cbdf4" alt=""><figcaption><p>As you can see, Wings and Panel communicate via Cloudflare, over the internet. This is not great but OK for a homelab</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.trentbauer.com/guides/installation-guides/pterodactyl.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
