Creating servers in Pterodactyl: Difference between revisions

add
be more specific that image lists nests, not eggs, as Fleff was confused when following this guide yesterday
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Construction}}
{{Ambox|type=|image=|text=Please note:
{{Ambox|type=|image=|text=Please note:
* The spinning up a server '''requires Fleff's approval''' as it consumes machine resources.
* The spinning up of a server '''requires Fleff's approval''' as it consumes machine resources.
* The spinning up of a server necessitates '''administrator privileges''' on the Pterodactyl panel. At present, only <code>@SYS:OP</code> members have this.
* The spinning up of a server necessitates '''administrator privileges''' on the Pterodactyl panel.
}}
}}


Line 8: Line 7:


== Eggs ==
== Eggs ==
An ''egg'' is a file which tells Pterodactyl ''how'' to install, launch, and manage whatever application the egg is advertising to be installable. It gives Pterodactyl the commands necessary to download server files, instructions on how to setup the environment for the software appropriately, and what configuration options should be available to server operators.<ref>For example, for the Arma server, it's egg tells Pterodactyl's GUI to provide an option to change the server's modlist. It maps the input made on the GUI to the relevant configuration file on the server.</ref>
An ''egg'' is a file which tells Pterodactyl how to install a particular application, and then Pterodactyl executes those instructions inside a docker container. The egg also translates application-specific settings (e.g. player slots for a ''Garry's Mod'' server) as options which are instead configurable in the panel.


As all games are different not ''all'' egg installations will be the same. ''Some'' degree of basic server and computer literacy will be necessary. This guide will aim to be as helpful as possible in spite of this.
While the adding of a new egg to the panel is always the same, because by their nature all game servers<ref>Pterodactyl can be used for non-game servers too, like [https://foundryvtt.com/ FoundryVTT] or TeamSpeak, but the point stands.</ref> are different, the configuration and effort required to get a server to launch for the first time is case-by-case.


The benefit of an egg is that, so long as it has been added to the list of eggs on the panel, EDC can terminate and boot up the relevant software on demand.
== Step 0: Checking if we have the egg ==
Before we scour the internet for an egg let's first check that we don't already have it.


== Step 0: Does the panel already have the egg? ==
# Log into the panel at https://edcgaming.org.
# Click the cog icon to the left of the colored smiley face to access the administrative section of Pterodactyl.[[File:Pterodactyl admin panel icon.png|none|thumb|''The Pterodactyl panel button to get to the administrative section.'']]
# Click the <code>Nests</code> button on the following page.[[File:Pterodactyl nests panel icon circled.png|none|thumb|383x383px|''The Pterodactyl panel nests button in the administrative section.'']]
You will then be greeted with the following list (or similar looking list).
[[File:Pterodactyl list of nests.png|none|thumb|820x820px|''List of Pterodactyl egg nests.'']]
'''<u>This is not a list of all available eggs</u>'''. '''This is a list of ''nests''''' {{Em dash}} '''a ''grouping'' of eggs.''' To check if an egg exists, look into all of the nests (e.g click <code>Non-Default Games</code> in most cases, or <code>Source Engine</code>, and so on)


Review the table below for what you should do now.
{| class="wikitable"
|+
!<span style="color:green">Desired egg IS present</span>
!<span style="color:red">Desired egg is NOT present</span>
|-
|Skip to [[Creating servers in Pterodactyl#Step 2: Spin up server|Step 2: Spin up server]]
|Continue to [[Creating servers in Pterodactyl#Step 1: Finding and installing an egg|Step 1: Finding and installing an egg]]
|}


== Step 1: Finding and installing an egg ==
{{Ambox|type=content|image=|text='''Please be cautious of uploading duplicate eggs'''. Pterodactyl does not in any way stop this. To maintain consistency of server setup, and general organization, multiple eggs for the same application is not desirable.
}}
=== a. Finding the egg ===
The following locations are recommended for finding eggs:
* https://pelican-eggs.github.io/pterodactyl/ (Option 1)
Regardless as to where an egg is found, it will always be a JSON file. For example, on the ''Option 1'' list, when we select ''Mordhau's'' entry, we are sent to the raw text of the egg. Right click and select <code>Save as</code> on your browser, or copy the contents into a new text file and change the extension to <code>.json</code>.
=== b. Installing the egg ===
Now, we are going to take the egg and upload it to our Pterodactyl instance. Once done, EDC has this egg forever, and it will be possible boot up and terminate it's associated application at will.
#Log into the panel at https://edcgaming.org.
# Click the cog icon to the left of the colored smiley face to access the administrative section of Pterodactyl.[[File:Pterodactyl admin panel icon.png|none|thumb|''The Pterodactyl panel button to get to the administrative section.'']]
# Click the <code>Nests</code> button on the following page.[[File:Pterodactyl nests panel icon circled.png|none|thumb|383x383px|''The Pterodactyl panel nests button in the administrative section.'']]
#You will be greeted with the following list (or similar looking list). Click <code>Import Egg</code>.[[File:Pterodactyl list of nests.png|none|thumb|820x820px|''List of Pterodactyl egg nests.'']]
#You will be shown a confirmation prompt. In this prompt, select the JSON file, and ensure to set the nest to <code>Non-Default Games</code>.[[File:Pterodactyl egg import prompt.png|none|thumb|402x402px|''Pterodactyl egg importing prompt.'']]
#Click <code>Import</code>.
#You should see a new page with a lot of information on it and a green prompt saying the import was successful.[[File:Pterodactyl successful egg import.png|none|thumb|361x361px|''Pterodactyl successful egg import notification.'']]
== Step 2: Spin up server ==
So, we either just installed our desired egg, or we found that the egg already exists. Let's try to launch a server running the application.
# Click the <code>Servers</code> button while in the administrative section of the panel.[[File:Pterodactyl servers panel icon circled.png|none|thumb|529x529px|''The Pterodactyl panel "Servers" button in the administrative section.'']]
#Near the top right of the server list, click the green <code>Create New</code> button.
From here, you are going to see a form requesting a ''lot'' from you. Review the table below for assistance.
{| class="wikitable"
!Field
!Instructions
|-
|'''''Server Name'''''
|[[File:Pencil font awesome.svg|20x20px]] Set as the name of the software/game.
|-
|'''''Server Owner'''''
|[[File:Pencil font awesome.svg|20x20px]] Set as your Pterodactyl account.
|-
|'''''Server Description'''''
|[[File:Shrug - Delapouite - game-icons.svg|20x20px]] Discretionary. Not relevant to anything.
|-
|'''''Node'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''Default Allocation'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''Additional Allocation(s)'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''Database Limit'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''Allocation Limit'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''Backup Limit'''''
|[[File:Pencil font awesome.svg|20x20px]] Discretionary; advise equal to or less than 3.
|-
|'''''CPU Limit'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''CPU Pinning'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''Memory'''''
|[[File:Pencil font awesome.svg|20x20px]] This is the server's available memory. Set to the minimum amount necessary to function. '''This may not be set to 0'''.
|-
|'''''Swap'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''Disk Space'''''
|[[File:Pencil font awesome.svg|20x20px]] This is the server's actual available disk space. Set to the minimum amount necessary to function. '''This may not be set to 0'''.
|-
|'''''Block IO Weight'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''Enable OOM Killer'''''
|[[File:Shrug - Delapouite - game-icons.svg|20x20px]] Terminates server if memory is exceeded. Discretionary.
|-
|'''''Nest'''''
|[[File:Pencil font awesome.svg|20x20px]] Select nest that has the egg you wish to use.
|-
|'''''Egg'''''
|[[File:Pencil font awesome.svg|20x20px]] Select egg you wish to use.
|-
|'''''Skip Egg Install Script'''''
|[[File:Information orange.svg|20x20px]] Advised it be left alone.
|-
|'''''Docker Image'''''
|[[File:Shrug - Delapouite - game-icons.svg|20x20px]] Egg dependent.
|}
Remaining options on this form are determined by the egg. This inherently makes it impossible to provide further assistance here. Seek help from other experienced operators and search online.


When all options have been set, click <code>Create Server</code>.


== Footnotes ==
== Footnotes ==
{{Reflist}}
{{Reflist}}
[[Category:Systems management]]
[[Category:Systems management]]