In the realm of game servers, self-hosting stands out as the optimal choice for both performance and cost-effectiveness. Many commercial server providers often fall short, offering limited resources at a premium price, frequently operating in virtual environments that lead to lag spikes and potential crashes. For nearly a decade, I have relied on self-hosting my game servers, including a TeamSpeak server, to circumvent these issues.
Recently, I discovered Pterodactyl, a robust game-server management tool that supports a variety of core games out of the box, such as Minecraft, Counter-Strike, and Garry’s Mod. Additionally, it features a wealth of community-created “Eggs” that expand its capabilities. Although setting up Pterodactyl can be somewhat intricate depending on your deployment system, I utilized Proxmox helper scripts to establish a Pterodactyl panel LXC alongside the corresponding “Wings” LXC for server deployment.
For those simply wishing to host a Minecraft server for a casual gaming session, tools like Crafty Controller may suffice. However, if you find yourself frequently tasked with organizing game nights or aspire to enhance your setup for future hosting, Pterodactyl is an excellent choice. I will delve into its features, my personal experiences, and the potential it offers.
What is Pterodactyl?
Pterodactyl operates through two main components: the panel, where server management occurs, and “Wings,” which handles the actual server operations. This division may seem unconventional, but it serves a practical purpose. For users managing multiple servers, installing Wings on each allows for individual registration with the primary panel. This setup enables seamless server deployment across various machines, granting control from a single interface. For those who prefer a straightforward hosting experience, this added complexity might not be necessary. Yet, for designated server hosts, the ability to swiftly select a game and deploy it to the appropriate device is invaluable. Notably, one can install Pterodactyl Wings on the same machine running the panel, as I have done with my Proxmox host, which operates both components in separate LXCs. Connecting Wings to the panel is as simple as executing a command provided by the panel.
Split into two components
The officially supported games, referred to as “core supported games” in the documentation, include:
- Minecraft (including Spigot, Sponge, Bungeecord, Waterfall, and more)
- Rust
- Terraria
- TeamSpeak
- Mumble
- Team Fortress 2
- Counter-Strike 2
- Garry’s Mod
- ARK: Survival Evolved
Pterodactyl also boasts a unique feature known as community-made “Eggs.” These configuration files, created by users, can be easily uploaded to the Pterodactyl panel, equipping it with the necessary details to host a server for a specific game. For instance, I tested it with Risk of Rain 2, and within moments, I was able to deploy a server ready for play, eliminating the need to navigate through SteamCMD or complex configuration files. While the initial setup of Pterodactyl may be lengthy, the time saved in subsequent server deployments is significant. I was able to spin up a Risk of Rain 2 server in under a minute, with a similar timeframe for Minecraft.
Deploying a server in Pterodactyl
Set and forget
Deploying a server within Pterodactyl involves allocating the necessary ports on the intended node. For example, Risk of Rain 2 requires ports 27015, 27016, and 27017. The configuration process is straightforward, with fields tailored to the specific Egg being used, simplifying the often tedious task of manual server deployment, especially for games with which one may not be familiar. While I am adept at configuring servers for Minecraft or Counter-Strike 2, I would certainly rely on a Pterodactyl Egg for deploying a Valheim server.
Once the server configuration is complete, Pterodactyl will take a few minutes to download and install the necessary packages. It creates a container on the selected machine running Wings, and the duration of this process depends on internet speed and connection quality. Upon completion, the server’s control panel displays the connection address and provides SFTP credentials for file modifications.
The user interface of my deployed Minecraft server is intuitive, presenting essential information at a glance—precisely what one desires from a game server management panel. After deployment, I can connect from my PC, Steam Deck, or any device running the Java edition of Minecraft. With a port forward configured on my OPNsense router, I can also share access with friends and family. Port forwarding the panel allows trusted players to manage the server in my absence, enabling them to restart it or modify configurations as needed.
This versatility is why Pterodactyl has become a favorite of mine. It offers complexity without unnecessary complications and presents numerous options for users seeking a quick server setup. For those requiring a more advanced solution, Pterodactyl streamlines the process, making it an ideal choice for anyone managing multiple game servers. I wholeheartedly recommend giving it a try.