I m using pterodactyl from 1.5 years, its great to see some known RUclipsr to make a installation guid and reviewing it.Also i m hosting Minecraft, satisfactory, Rust and various other servers on my machine with the pterodactyl panel.
I started to use pterodactyl in 2020 in the beginning of CV19. My friends and I was having a server in Aternos before, move it into to a cheap minecraft hosting and at some point we hear about the free arm resources in oracle, so we say "heck yeah!” and move our already two servers there. Currently I have an OKE Oracle cluster where the Pterodactyl Panel is hosted on and my friends have their own accounts in oracle to provide nodes for their use. There’s a lot of good list of nest and eggs out there, so we also host RED discord bot and JMusic using Pterodactyl. Thanks Tim for every video, you’re an inspiration. Disclaimer: I work as SRE in a small startup so I’m kinda the maintainer of all the decentralised ecosystem my friends and I have build.
OMG! I've been scratching my head a few day trying to put together this setup!! Thanks for sharing!! Very very useful!!! And awesome Pterodactyl explanation!
If you are ever short on videos, I would love to see a video on how your home lab copes with day to day stress. You lab is well documented. What you are running is well documented. I am kinda curious how stressed your hardware gets, and how that insight guides decisions, past, present, and future.
Loved the Minecraft music in the background. Made a complex install much more serene lol. Thanks for making the switch from Multicraft to Pterodactyl so much easier! Been looking at doing this for a while, this video has finally tipped the balance.
Thank you so much for this - I was struggling to make this setup work on Proxmox, where the panel and wings were on different VMs, behind a reverse proxy on a third VM. The "Behind Proxy" option and 443 port for wings SOLVED it!
Excellent video! I've played around with Pterodactyl a little. When looking at new Eggs you will really need to look at the requirements of that server for memory. For instance 7 Days to Die servers can need anywhere from 8-16GB or more depending on if you plan on running any mods or overhauls on it, Darkness Falls or Undead Legacy overhauls need about 16GB RAM per server. Working on building my new server to start hosting all my games instead of paying for hosting services.
What did you end up going with for your game servers? I want to move away from pingperfect and g-portal and I already have my own webserver 4 core / 8 thread Intel Xeon-D CPU 8 GB RAM 1 TB HDD that I am already paying for that I would like to move my V-Rising and Valheim servers over to and be able to deploy any others if we decide we are going to play them.
Hi brother. I follow all your tutorials and have learned everything of my little acknowledgement in virtualization from you, and thanks a lot for that, much obliged, from Florida. I love and enjoy all your tutorials, but this one, specifically this one "I Built the PERFECT Game Server with Pterodactyl and Docker" is the one the I love the most. I have followed step by step without failing on create my own Pterodactyl Game Server Control Panel. I wanted to change the web port for something else. I know you have the best advice for it. Keep up the great work. Will follow you until the day the internet depletes, lol.
Tim - Your video's and guides are always next level. In this case, even tho I have been 'playing' with docker, I continue to feel in my own use and stuck in my ways - I would still lean towards just spinning up VMs and hosting game servers 'the old way' . I think I'm getting old, cos I just don't enjoy the docker methods. In use, I come to a feeling that dockers use just as much time and resource as VMs, or in my case more time and the same resource. That being said, in reality 'the way now' is indeed a reverse proxy and doing things the way you are. I'm currently - I should say when I get in the mood to ... hosting insurgency (2014).. Thanks for the awesome video!
No worries! At the end of the day you have to support and maintain your infrastructure so do what's best (and easiest) for you! Thank you for your honesty!
I am NOT a docker evangelist, and I to have many VMs setup to do dedicated jobs. I just recently build up an Ark server for my boys and it wasn't all that fun. With the pre-made configs, there's less to think about, not to mention, what Tim has done here helps immensely. If this pans out, I'll probably stick going this route, but for my boys, they're not Linux users at all, so, getting a web interface in their face to do what they want makes things easier for me. But I do get where you're coming from.
If you are running your reverse proxy on the same machine in a docker container you may be required to put the docker network interface IP of your reverse proxy in the trusted proxies list if not using the wildcard *
Marking as something to come back to later. I have some new server hardware coming that I think is going to be dedicated to this kind of thing. My boys are playing games together, and I setup an Ark server for them. I'm the one maintaining it, but, I don't play Ark (I did, but, didn't enjoy it as much as they do). So doing this, one of the boys can have access to create and destroy the server, make changes, start up, shut down, do the research I don't want to do. Then I can also go spin up my own Space Engineers server for myself. I don't plan on ever opening this up to the public, and seeing that you're not using a "reverse proxy" really since you're using local IP addresses, seems fine to me to go this route.
@@TylerMcBride-bl3po I used a single docker compose file in portainer to set up all the containers. I think there were three, DB, wings, and the other one. Pterodactyl creates more for each game server when it needs to.
@@spottenn So how would you recommend that I go about doing this? I have Proxmox on baremetal, which can spin up seperate VMs. I was thinking about doing two instances of Proxmox -> Ubuntu Server -> Pterodactyl since he recommends sperate servers for client/server side. Is this the best way to go about it? I can modify the setup if need be.
I recently setup Proxmox with OMV+Docker+Portainer, next steps were to setup a local Minecraft server. Now, I feel like getting Pterdactly on there! Thanks for this video!
Thanks to you I was able to set this up for me and my family. My siblings are in college and really enjoy minecraft with their friends so they love being able to log on and host a server.
Is it possible for you to go into more detail about protecting your game server setup using a vps? To then proxy connections to your home network. That way people can self host game servers to their friends and don't need to worry about any attacks.
I am very interested in this also. I want to deploy my own game servers that I control instead of the ones I already have that I am paying another hosting company for.
While I get that they might seem cringey to most, I actually found the pterodactyl/bird metaphors very cute and actually useful to learn/teach. But well I am a dad and laugh at dad jokes so if you did cringe that's probably a more common response.
Your channel is insane. I don't have a home server yet, but your content is certainly compelling me to want to get into it and spend completely outlandish amounts of money to get and fill a rack.
I think part of the confusion ("I click back here because I am not sure what else to do"). I think that nest should have been named steam_cmd with the egg being Terraria. As its based off the steam_cmd "engine". In other news, dang it Tim, your awesome videos are making me need to buy more and more hardware!
Nice, thanks for the information Tim! I've been running a Minecraft server as a docker deployment through Ansible, but if I ever choose to expand out to more games or more servers I'll keep this video in mind 😁
I wish I could write some comments on the article detailing this process. If you're like me and like to do things manually, then your nginx reverse proxy should only ever point to port 444 where I did the port mapping of 444:443 for the wings container. I really had to do everything possible to ensure the panel can talk to the wings container on proxmox. Also, try not to setup both panel and wings on the same container, you'll experience pain like I did. It doesn't cost too much to setup a second container for the wings server. I did additional configs of passing through a gpu to the nvidia-docker instance running on the wings server (not the usual docker install). I don't know currently but I honestly hope that it can make a difference of sorts.
Whenever looking at stuff for Pterodactyl I keep hearing we need two servers, and I am starting to believe this is one situation where I can't just have one server, running both the panel and the game servers themselves
Hey thanks for this! Man if I'd have just known "Behind a proxy." I made DNS records with private Ip's and did the text change to get the cert, then put it on my servers. Such a pain and a bad security practice, but it did at least work.
I opted in to go with the Docker, Portainer route to host game servers. It's super smooth and practically instant once you unerstand the variables to load.
You didn't mention SFTP for file management! It's a great way to download backups of your server if ever needed As for schedules, they are so powerful. You could configure automatic restarts for mine craft servers for example, or backups, execute commands on a cron schedule. Great for setting up weekly/monthly/hourly etc. events on your public servers
Need to figure out how to get it running in my traefik environment. Besides that it looks really awesome. As you are running traefik yourself, do you, by any chance, plan on enhancing your documentation by adding modified compose files for usage with traefik?
I am so happy I went back to this video when creating a wings node. Spent 3 hrs trying to figure out why my node was not connecting when everything was perfect to the docs. Use port:443. 😅 10:40
That was a pain in the butt to install. Never got wings working in docker. But did get it working outside docker in a LXC debian 11 container.. I also had to add wings, the the Traefik config and a bunch of other stuff. Fought with this for 2 days.... Now I guess I get to fight with it to run a game..
Hey thanks for the intro Tim! I am a bit confused on how to remote and get into docker_volumes at 3:45 (or even what that means). Sorry for being a noob, just a little stuck.
Looks like a great dashboard / interface for hosting multiple games in one server. I would definitely use it. Getting down to the nuts and bolts of the server a roadmap would need to be constructed for hardware and bandwidth requirements. How could you monetize the use of the server? Of course you would need to pay for monthly internet and initial hardware cost. As a side note one of my favorite games back in the day was Unreal Tournament.
I figured everything you did a year ago and I wish I didn’t have to. I went crazy and was pulling my hair out because their docs don’t explain the wings part really well (Because they figure if you are smart enough to have infrastructure apart from the panel you are smart enough to figure this out, which is not wrong but I sure wish it was easier)
I've been wrestling with Pterodactyl for a while now. The daemon port issue behind a reverse proxy is a pain, since I also use Nginx Proxy Manager on the same docker node which requires 443. No idea what to do yet other than moving NPM to another server, which I want to avoid.
I had to edit the pterodactyl panel nginx to include SSL configurations, and change the pterodactyl letsencrypt tpo the same location as nginix-prox-manager's volume. My NPM and Pterodactyl panel is on the same ubuntu-docker host.
If your device (in my case a LXC) has multiple IPs you can specify which IP and Port the docker is supposed to listen to. That way you can give out the same port multiple times on different IP addresses
I watched many of your videos, but this one is AMAZING! Looking forward to try this out. Question 🙋♂️ : the servers must be bare metal or they can also be in proxmox? Please do more videos like this 😍😍😍
this is so dope, i have an old pc i wanna use to host multiplayer lobbies, i also wanna run obs on a separate container to handle my stream encoding off my old gpu...i think this is my solution...
I'm always interested in solutions like this. But for some reason I can't Minecraft (modded) running smooth on my server. It's a beefy one (Epyc 7352) but yet starting a Minecraft server takes 15 minutes. When I compare this to say mc-host or etheron it takes 1 minute. Like sure they have more experience in Minecraft directly.. but what are they doing different? I notice all of them use Pterodactyl, I wonder if that's the difference? (been using AMP myself)
How did you set up the panel on 443? When I try to point traefik to 443 on the service, it just returns a bad gateway error, ive only gotten it to work setting it to 80.
Bruutha..this is dope. I set it up on 3 Proxmox Ubuntu 20.04 LXC containers (1 gameserver, 2 nodes) just gonna say my productivity may drop a bit this month, working from home and all 😉Minecraft,Terrari,Valheim,Team Fortress 2, Left 4 Dead 2, GTA V
An important thing to note. If you are using a reverse proxy make sure to specify port 443 and not 80 for your pterodactyl server (not panel) entry. I spent a good while troubleshooting this.
That looks so great but the fact that we need 2 servers is kind of a bump for me ... I've had my first VPS for a week, despite having followed some courses about Docker, now I'm trying to mess with it to really « master » the thing. I've been trying to get some UT2K4 server running with LGSM, I guess I'll stick to that But I never heard about Pterodactyl, that looks really awesome. Having an interface to see the status of your game servers is great, I'll follow all that when I'm more used to Docker
So can I set this up on one machine? You mentioned a few times the two servers, one for panel and one for games/nodes. What if I have just one machine built to be my server? How would I go about that?
So im trying to set this server up and it will all be hosted on one machine (Virtual Machine). I got to the point i composed it (Had to change the port for the panel connection as 80 was used) but when i finally connect to it i get this error, 500 SERVER ERROR. Im not sure what went wrong here, any ideas?
So do I actually meet two separate servers ? Can I not run the panel and the game server on one machine ? Also what is the easiest os or hypervisor to run pterodactyl on? I was wanting to run this on unraid but also looking at proxmox.
I'm having an issue with this. I got the panel running, but when I try to configure the wings node (It is on the same physical server) it doesn't seem to reach the panel. It is stuck at "fetching list of servers from API" and with debug on it clearly keeps retrying without any information as to what goes wrong. When accessing the API from a browser it shows as intended. I am using Nginx proxy manager, could this be the reason why it isn't working?
@@cockroach1325 I’s a while ago, but I think I managed to solve it by adding the subdomain into the hosts file with loopback address (your server’s public IP) on the server, and that way the FQDN seemed to bind properly. The reason you have to do this is that Pterodactyl is not designed to run both panel and daemon(wing) on the same machine, but it does work as long as it can bind to the FQDN. Feel free to contact me in DM if you want further help :) you can find it under my profile-> info.
There is no /etc/pterodactyl folder in either of the servers. I have the panel running. Followed the instructions on the wing. No idea about the etc/pterodactyl folder. What did I miss?
I've been running a vanilla Minecraft game out of a tiny AMD PC in my apartment, but when I get a higher-powered server, I think I'll try setting up Pterodactyl. It seems like the up-front config effort will pay off in ease of game management.
This is my second time trying this, I configured traefik by following your tutorial but I can't figure how to configure pterodactyl and traefik to work together. I really hope you'll soon update the tutorial to include traefik support.
A lot of these panels always display the local IP, which is great if you're playing only with people connected on your local network, however in situations that you want someone who is not on your local network to connect to your server, you're forced to lookup your public IP to let them connet servers, that in itself is not a problem, the problem I'm seeing is that when you want to let friends and/or family have access to your panel externally so that they may create their own game servers that this can become an issue since in that situation, if they're not tech savvy enough to look up the IP hidden behind the domain name you've given them, they wont actually know how to connect to the server from outside the network. How would one go about simplifying this for them and having it display the actual IP of the game server that they're going to be connecting to? I've noticed pterodactyl has an option to use an alias, into which you can write your external IP. But that seems like a bad idea
I think I understand your question and that being, an easier way to have your public IP known for your friends and family to know. If that's the case Id use a domain and link it to your public IP. If thats what your asking haha if this is it i can give you more info on the topic
Edit: I'm wondering if perhaps this is 2 separate VMs you refer to, rather than 2 separate physical machines. Hey I think this is a n00b question but we've all got to start somewhere. Am I right in thinking that this could be done with just 1 server running say Debian and Pterodactyl and hosting the games? Can you explain why 2 servers are needed? (Apologies if this was explained but I didn't spot it in the first 10 mins of the video. I only have 1 spare PC so if I really need 2 for this then I'll look for an alternative solution. Love the video. 99% likely to become a new sub...
I have the panel up and running through my domain, I cannot for the life of me create a user. when running "docker-compose run --rm panel php artisan p:user:mak" I get no configuration file provided: not found. does anyone maybe know whats up
This happens because you are not in the same directory as the docker compose yaml file when you ran that command. If you are using just docker then change directory to where you put this. I'm using portainer so I used the web interface to open a shell in the panel container and ran just "php artisan p:user:mak".
When you say you need two servers, does that mean we need two separate operating systems? Whether that be a proxmox container or a separate machine entirely?
They can be virtual, yes, or even lxc's (if you can figure that out). It's just better if you separate the control plane from the nodes running the game servers.
@@TechnoTim thanks, I've been struggling to get that little heart to turn green. Even added some extra stuff to the config file based on a recommendation from the pterodactyl discord. I think I may try placing the wings server in a completely separate container on my proxmox server, or maybe just another VM.
Just in case anyone else is reading this... yes :) Just set the config to something like 8480:80 and set your reverse proxy config (if using) to "FQDN:8480"
Well I got the panel setup on a raspberry pi4 and using cloudflared tunneling to get it mapped to a domain. Now the trick is getting the wings server on my TrueNAS Scale server. I thought about hosting the wings agent on AWS but that's about $500 a month :(
Great video! The kids have been asking me to build them a Pixelmon server. I have a feeling once I build that one they will want many more games. I'm curious did you install Linux on bare metal or a VM on ______ hypervisor?
@@TechnoTim 🤔 I have a ridiculously overpowered Nutanix server which we decomm-ed. It now runs proxmox. The panel has to be separate from the nodes/wings/nests/eggs/yolks?
I don't understand the FQDN part. We need to setup a reverse proxy with nginx reverse proxy and create a subdomain on cloudflare? I'm more than confused
did you ever get it to work using cloudflare? I'm also using cloudflare but with caddy as reverse proxy, and haven't gotten it to work after a few hours ;-;
@@iamasink No sadly, I tried everything. But I believe the only way to proxy your minecraft server on cloudflare I believe is to pay for the premium plan or whatever. But it's kind of expensive if it's only for a minecraft server. I was very let down when I found this out
@@agreniers Thanks for the reply I eventually got it to work, I think I was reverse-proxying the wrong port I think you have to pay for cloudflare proxy but you can still use it as DNS Only, which is what I did.
I'm sorry I'm new here but you lost me from the beginning 3.45 where did docker volumes come from and docker compose file i really couldn't understand where you got everything could you not show how to install everything first so I could follow along I couldn't even get started sorry for the trouble but I thought this was for beginners
I cannot get this to work. I don't get anything when i navigate to the IP address of my docker server and port for the panel. When i setup the url in NPM, all i get is a bad gateway. Error logs show that it can't pull an SSL cert but I don't know why it cant because all my other services have no issues with pulling SSL from NPM.
I honestly don't understand. I was able to install Ptero on a fresh Debian box, change the port forwarding from my NPM to the box and let Let's Encrypt do it's thing and have a panel that way. Using your docker compose, my understanding is if I don't uncomment the LE_EMAIL line, it won't try to pull an SSL from Let's Encrypt but will instead pull from my NPM, however it never pulls the cert and when i attempt to access the URL, i just get 502 bad gateway. I have tried setting the TRUSTED_PROXY line to the IP of my NPM as well as leaving it as a wild card and still cannot make any progress. I have the URL setup in NPM to use a cert i generated for the URL and forward 443 traffic to the host side port I configured on the container. Still nothing.
@@sneecePersonal request ssl for your wings domain with npm. then copy paste them in the wings directory that is noted in the config. also use port 8080 and do not thick behind porxy when creating the node. that worked for me after 2 weeks of not getting it right
Which games are you playing or hosting? 🎮🕹
I m using pterodactyl from 1.5 years, its great to see some known RUclipsr to make a installation guid and reviewing it.Also i m hosting Minecraft, satisfactory, Rust and various other servers on my machine with the pterodactyl panel.
anythink like Grafana SinusBot nodejs Projects ore custom eggs Databases NGINX etc
Currently: MC Enigmatica 6 Expert, Farming Simulator 2022, Ark Survival Evolved (30 mods), Satisfactory, The Forest and GTA V: FiveM
terraria ; counter strike ; minecraft
I started to use pterodactyl in 2020 in the beginning of CV19. My friends and I was having a server in Aternos before, move it into to a cheap minecraft hosting and at some point we hear about the free arm resources in oracle, so we say "heck yeah!” and move our already two servers there.
Currently I have an OKE Oracle cluster where the Pterodactyl Panel is hosted on and my friends have their own accounts in oracle to provide nodes for their use. There’s a lot of good list of nest and eggs out there, so we also host RED discord bot and JMusic using Pterodactyl.
Thanks Tim for every video, you’re an inspiration.
Disclaimer: I work as SRE in a small startup so I’m kinda the maintainer of all the decentralised ecosystem my friends and I have build.
OMG! I've been scratching my head a few day trying to put together this setup!! Thanks for sharing!! Very very useful!!! And awesome Pterodactyl explanation!
Glad it was helpful!
If you are ever short on videos, I would love to see a video on how your home lab copes with day to day stress. You lab is well documented. What you are running is well documented. I am kinda curious how stressed your hardware gets, and how that insight guides decisions, past, present, and future.
Loved the Minecraft music in the background. Made a complex install much more serene lol. Thanks for making the switch from Multicraft to Pterodactyl so much easier! Been looking at doing this for a while, this video has finally tipped the balance.
Thank you so much for this - I was struggling to make this setup work on Proxmox, where the panel and wings were on different VMs, behind a reverse proxy on a third VM. The "Behind Proxy" option and 443 port for wings SOLVED it!
Excellent video! I've played around with Pterodactyl a little. When looking at new Eggs you will really need to look at the requirements of that server for memory. For instance 7 Days to Die servers can need anywhere from 8-16GB or more depending on if you plan on running any mods or overhauls on it, Darkness Falls or Undead Legacy overhauls need about 16GB RAM per server. Working on building my new server to start hosting all my games instead of paying for hosting services.
What did you end up going with for your game servers? I want to move away from pingperfect and g-portal and I already have my own webserver 4 core / 8 thread
Intel Xeon-D CPU 8 GB RAM 1 TB HDD that I am already paying for that I would like to move my V-Rising and Valheim servers over to and be able to deploy any others if we decide we are going to play them.
Hi brother. I follow all your tutorials and have learned everything of my little acknowledgement in virtualization from you, and thanks a lot for that, much obliged, from Florida. I love and enjoy all your tutorials, but this one, specifically this one "I Built the PERFECT Game Server with Pterodactyl and Docker" is the one the I love the most. I have followed step by step without failing on create my own Pterodactyl Game Server Control Panel. I wanted to change the web port for something else. I know you have the best advice for it. Keep up the great work. Will follow you until the day the internet depletes, lol.
Tim - Your video's and guides are always next level.
In this case, even tho I have been 'playing' with docker, I continue to feel in my own use and stuck in my ways - I would still lean towards just spinning up VMs and hosting game servers 'the old way' . I think I'm getting old, cos I just don't enjoy the docker methods. In use, I come to a feeling that dockers use just as much time and resource as VMs, or in my case more time and the same resource. That being said, in reality 'the way now' is indeed a reverse proxy and doing things the way you are.
I'm currently - I should say when I get in the mood to ... hosting insurgency (2014)..
Thanks for the awesome video!
No worries! At the end of the day you have to support and maintain your infrastructure so do what's best (and easiest) for you! Thank you for your honesty!
I am NOT a docker evangelist, and I to have many VMs setup to do dedicated jobs. I just recently build up an Ark server for my boys and it wasn't all that fun. With the pre-made configs, there's less to think about, not to mention, what Tim has done here helps immensely. If this pans out, I'll probably stick going this route, but for my boys, they're not Linux users at all, so, getting a web interface in their face to do what they want makes things easier for me. But I do get where you're coming from.
Happy to see your channel keeps on growing Tim, you really deserve it. Your video quality has always been top notch
Thanks a ton!
If you are running your reverse proxy on the same machine in a docker container you may be required to put the docker network interface IP of your reverse proxy in the trusted proxies list if not using the wildcard *
Marking as something to come back to later. I have some new server hardware coming that I think is going to be dedicated to this kind of thing. My boys are playing games together, and I setup an Ark server for them. I'm the one maintaining it, but, I don't play Ark (I did, but, didn't enjoy it as much as they do). So doing this, one of the boys can have access to create and destroy the server, make changes, start up, shut down, do the research I don't want to do.
Then I can also go spin up my own Space Engineers server for myself.
I don't plan on ever opening this up to the public, and seeing that you're not using a "reverse proxy" really since you're using local IP addresses, seems fine to me to go this route.
SOOO Helpful. I was struggling with some of these problems for HOURS.
How did you set up your two docker servers? Seperate Docker VMs?
@@TylerMcBride-bl3po I used a single docker compose file in portainer to set up all the containers. I think there were three, DB, wings, and the other one. Pterodactyl creates more for each game server when it needs to.
I don't remember all the exact details, but I do remember that I only have one physical server that's running all of it.
@@spottenn So how would you recommend that I go about doing this? I have Proxmox on baremetal, which can spin up seperate VMs. I was thinking about doing two instances of Proxmox -> Ubuntu Server -> Pterodactyl since he recommends sperate servers for client/server side. Is this the best way to go about it? I can modify the setup if need be.
I recently setup Proxmox with OMV+Docker+Portainer, next steps were to setup a local Minecraft server. Now, I feel like getting Pterdactly on there! Thanks for this video!
Thanks to you I was able to set this up for me and my family. My siblings are in college and really enjoy minecraft with their friends so they love being able to log on and host a server.
Is it possible for you to go into more detail about protecting your game server setup using a vps? To then proxy connections to your home network. That way people can self host game servers to their friends and don't need to worry about any attacks.
I am very interested in this also. I want to deploy my own game servers that I control instead of the ones I already have that I am paying another hosting company for.
Look into Tailscale. They have an example of how to do this for a minecraft server and it is super simple to setup.
While I get that they might seem cringey to most, I actually found the pterodactyl/bird metaphors very cute and actually useful to learn/teach. But well I am a dad and laugh at dad jokes so if you did cringe that's probably a more common response.
I too found them to be helpful when breaking down the layers, that's why I dedicated a few minutes on it :)
As a gamer, nerd, IT guy and dad I thought they were well done and helpful. Is a HA "cluster" of pterodactyl servers a flock?
I agree that it helped learn the stack
Dad power!
It's the only seconds in this video where I didn't feel a complete idiot. So I have to agree
This is an awesome build and thank you for making the video. I want to do something similar but also add in a FoundryVTT container.
I wasnt sure about it right away when i first learned of it, but since then and seeing what it can do, I'm all for it!
dockercompose is when the docker-compose plugin is installed in docker I believe. Great video man, very cool!
Your channel is insane. I don't have a home server yet, but your content is certainly compelling me to want to get into it and spend completely outlandish amounts of money to get and fill a rack.
I think part of the confusion ("I click back here because I am not sure what else to do"). I think that nest should have been named steam_cmd with the egg being Terraria. As its based off the steam_cmd "engine". In other news, dang it Tim, your awesome videos are making me need to buy more and more hardware!
Thank you!
Buying more and more hardware is definately a problem I think most of us have lol
Nice, thanks for the information Tim! I've been running a Minecraft server as a docker deployment through Ansible, but if I ever choose to expand out to more games or more servers I'll keep this video in mind 😁
I wish I could write some comments on the article detailing this process. If you're like me and like to do things manually, then your nginx reverse proxy should only ever point to port 444 where I did the port mapping of 444:443 for the wings container. I really had to do everything possible to ensure the panel can talk to the wings container on proxmox. Also, try not to setup both panel and wings on the same container, you'll experience pain like I did. It doesn't cost too much to setup a second container for the wings server.
I did additional configs of passing through a gpu to the nvidia-docker instance running on the wings server (not the usual docker install). I don't know currently but I honestly hope that it can make a difference of sorts.
Can you please share your docker files?
Whenever looking at stuff for Pterodactyl I keep hearing we need two servers, and I am starting to believe this is one situation where I can't just have one server, running both the panel and the game servers themselves
You can, but it's more complex to configure
pterodactyl is really nice but a hell to set up from the last time I looked at the project
Hey thanks for this! Man if I'd have just known "Behind a proxy." I made DNS records with private Ip's and did the text change to get the cert, then put it on my servers. Such a pain and a bad security practice, but it did at least work.
Being that I have refused to use windows outside of a vm occasionally, hearing I can get risk of rain 2 up and running sounds pretty sweet to me
I opted in to go with the Docker, Portainer route to host game servers. It's super smooth and practically instant once you unerstand the variables to load.
Thanks a lot Tim. This was a really helpful video and saved a ton of time for me, Subscribed :)
You didn't mention SFTP for file management! It's a great way to download backups of your server if ever needed
As for schedules, they are so powerful. You could configure automatic restarts for mine craft servers for example, or backups, execute commands on a cron schedule. Great for setting up weekly/monthly/hourly etc. events on your public servers
Still the best Pterodactyl tutorial on RUclips.
I have been looking forward to you dropping another video, thanks for all you do!
Also, can I host this on my Proxmox server?
Glad you like them!
Also, yes! That's what I do!
Need to figure out how to get it running in my traefik environment. Besides that it looks really awesome. As you are running traefik yourself, do you, by any chance, plan on enhancing your documentation by adding modified compose files for usage with traefik?
how did i miss this on my feed. You the best and again ty
I am so happy I went back to this video when creating a wings node. Spent 3 hrs trying to figure out why my node was not connecting when everything was perfect to the docs. Use port:443. 😅 10:40
I already run pterodactyl. But I'm excited for this.
Pterodactyl is just perfect! Thanks for sharing this project 😊.
That was a pain in the butt to install. Never got wings working in docker. But did get it working outside docker in a LXC debian 11 container.. I also had to add wings, the the Traefik config and a bunch of other stuff. Fought with this for 2 days.... Now I guess I get to fight with it to run a game..
Hey thanks for the intro Tim! I am a bit confused on how to remote and get into docker_volumes at 3:45 (or even what that means). Sorry for being a noob, just a little stuck.
thank you for this. Can you explain the pros/cons of having a separate server for panel and games please?
I just spun up Retropie for my kids. Looks like Pterodactyl will be my next project with them. 😁
They and you will love it!
Looks like a great dashboard / interface for hosting multiple games in one server. I would definitely use it. Getting down to the nuts and bolts of the server a roadmap would need to be constructed for hardware and bandwidth requirements. How could you monetize the use of the server? Of course you would need to pay for monthly internet and initial hardware cost. As a side note one of my favorite games back in the day was Unreal Tournament.
There are already people in our discord who've used this to monetize their servers!
Welcome to the pterodactyl community
if you are using NGINX as reverse proxy you have to modify the docker-compose file for the panel to bind to the default nginx network
how exactly?
Tim your content is fantastic
Thank you so much and thank you for the comments. When I feel down it’s nice to see ones like these.
I figured everything you did a year ago and I wish I didn’t have to. I went crazy and was pulling my hair out because their docs don’t explain the wings part really well (Because they figure if you are smart enough to have infrastructure apart from the panel you are smart enough to figure this out, which is not wrong but I sure wish it was easier)
I've been wrestling with Pterodactyl for a while now. The daemon port issue behind a reverse proxy is a pain, since I also use Nginx Proxy Manager on the same docker node which requires 443. No idea what to do yet other than moving NPM to another server, which I want to avoid.
Use virtual hosting, eg route by host header.
I had to edit the pterodactyl panel nginx to include SSL configurations, and change the pterodactyl letsencrypt tpo the same location as nginix-prox-manager's volume. My NPM and Pterodactyl panel is on the same ubuntu-docker host.
If your device (in my case a LXC) has multiple IPs you can specify which IP and Port the docker is supposed to listen to. That way you can give out the same port multiple times on different IP addresses
I watched many of your videos, but this one is AMAZING!
Looking forward to try this out.
Question 🙋♂️ : the servers must be bare metal or they can also be in proxmox?
Please do more videos like this 😍😍😍
THIS IS THIS IS THE SOLUTION i HAVE BEEN LOOKING FOR !!!! THANK YOU!!!!!!!!!!!!!!!!!!!!!!
this is so dope, i have an old pc i wanna use to host multiplayer lobbies, i also wanna run obs on a separate container to handle my stream encoding off my old gpu...i think this is my solution...
Just out of curiosity, would it be possible to just use one server?
Thanks for the demo and info, have a great day, GAME ON
If only everything in IT was so well structured and named for easy understanding.
I'm always interested in solutions like this. But for some reason I can't Minecraft (modded) running smooth on my server. It's a beefy one (Epyc 7352) but yet starting a Minecraft server takes 15 minutes. When I compare this to say mc-host or etheron it takes 1 minute. Like sure they have more experience in Minecraft directly.. but what are they doing different?
I notice all of them use Pterodactyl, I wonder if that's the difference? (been using AMP myself)
Man, you are a god. This is beautifuly
Space Engineers? I'm sold.
Ty. You helped me a lot.
How did you set up the panel on 443? When I try to point traefik to 443 on the service, it just returns a bad gateway error, ive only gotten it to work setting it to 80.
Bruutha..this is dope. I set it up on 3 Proxmox Ubuntu 20.04 LXC containers (1 gameserver, 2 nodes) just gonna say my productivity may drop a bit this month, working from home and all 😉Minecraft,Terrari,Valheim,Team Fortress 2, Left 4 Dead 2, GTA V
Haha! Thank you! That's awesome using LXC!
Very Cool video! I got it working.
im having trouble my configuration keeps showing my panel ip for the remote not my gameserver fqdn and struggling to fix this lol
For anyone watching this and getting excited, come hang out on the Discord. You'll be among friends!
Thank you so much, I totally agree!
Damn it Tim, I maintain my servers manually and you have to bring this to me while I'm working on figuring out Authentik? I can't deal with this. >D
Haha!
@@TechnoTim if you want to do a video on Authentik, too, I'm not opposed.
I gonna use it, it's great.
An important thing to note. If you are using a reverse proxy make sure to specify port 443 and not 80 for your pterodactyl server (not panel) entry. I spent a good while troubleshooting this.
Its not just limited to game servers, you can host discord bots, python scripts, and more!
That looks so great but the fact that we need 2 servers is kind of a bump for me ... I've had my first VPS for a week, despite having followed some courses about Docker, now I'm trying to mess with it to really « master » the thing. I've been trying to get some UT2K4 server running with LGSM, I guess I'll stick to that
But I never heard about Pterodactyl, that looks really awesome. Having an interface to see the status of your game servers is great, I'll follow all that when I'm more used to Docker
So can I set this up on one machine? You mentioned a few times the two servers, one for panel and one for games/nodes. What if I have just one machine built to be my server? How would I go about that?
Use two virtual machines or docker containers.
So im trying to set this server up and it will all be hosted on one machine (Virtual Machine).
I got to the point i composed it (Had to change the port for the panel connection as 80 was used) but when i finally connect to it i get this error, 500 SERVER ERROR.
Im not sure what went wrong here, any ideas?
Can you show us for bedrock last edition and considerate that we want to add addons or pluggins please
So do I actually meet two separate servers ? Can I not run the panel and the game server on one machine ?
Also what is the easiest os or hypervisor to run pterodactyl on?
I was wanting to run this on unraid but also looking at proxmox.
I'm having an issue with this. I got the panel running, but when I try to configure the wings node (It is on the same physical server) it doesn't seem to reach the panel. It is stuck at "fetching list of servers from API" and with debug on it clearly keeps retrying without any information as to what goes wrong. When accessing the API from a browser it shows as intended. I am using Nginx proxy manager, could this be the reason why it isn't working?
Did you get it to work with npm ? Ran into the same issue
@@cockroach1325 I’s a while ago, but I think I managed to solve it by adding the subdomain into the hosts file with loopback address (your server’s public IP) on the server, and that way the FQDN seemed to bind properly. The reason you have to do this is that Pterodactyl is not designed to run both panel and daemon(wing) on the same machine, but it does work as long as it can bind to the FQDN. Feel free to contact me in DM if you want further help :) you can find it under my profile-> info.
There is no /etc/pterodactyl folder in either of the servers. I have the panel running. Followed the instructions on the wing. No idea about the etc/pterodactyl folder. What did I miss?
I've been running a vanilla Minecraft game out of a tiny AMD PC in my apartment, but when I get a higher-powered server, I think I'll try setting up Pterodactyl. It seems like the up-front config effort will pay off in ease of game management.
how to know what ip address i should assign new allocations in the node? how to know what is the IP Addres??
I run AMP, but I am excited for this :)
This is my second time trying this, I configured traefik by following your tutorial but I can't figure how to configure pterodactyl and traefik to work together. I really hope you'll soon update the tutorial to include traefik support.
A lot of these panels always display the local IP, which is great if you're playing only with people connected on your local network, however in situations that you want someone who is not on your local network to connect to your server, you're forced to lookup your public IP to let them connet servers, that in itself is not a problem, the problem I'm seeing is that when you want to let friends and/or family have access to your panel externally so that they may create their own game servers that this can become an issue since in that situation, if they're not tech savvy enough to look up the IP hidden behind the domain name you've given them, they wont actually know how to connect to the server from outside the network.
How would one go about simplifying this for them and having it display the actual IP of the game server that they're going to be connecting to?
I've noticed pterodactyl has an option to use an alias, into which you can write your external IP. But that seems like a bad idea
I think I understand your question and that being, an easier way to have your public IP known for your friends and family to know. If that's the case Id use a domain and link it to your public IP. If thats what your asking haha if this is it i can give you more info on the topic
Any tutorials on reverse proxies to create subdomains for each server?
Oh yeah! Check out my traefik ssl tutorial!
Edit: I'm wondering if perhaps this is 2 separate VMs you refer to, rather than 2 separate physical machines.
Hey I think this is a n00b question but we've all got to start somewhere. Am I right in thinking that this could be done with just 1 server running say Debian and Pterodactyl and hosting the games? Can you explain why 2 servers are needed? (Apologies if this was explained but I didn't spot it in the first 10 mins of the video. I only have 1 spare PC so if I really need 2 for this then I'll look for an alternative solution.
Love the video. 99% likely to become a new sub...
This has easily become my favorite channel on RUclips! 🤤
Yay! Thank you!
@@TechnoTim Could you please share docker files you mentioned in the video?
I have the panel up and running through my domain, I cannot for the life of me create a user. when running "docker-compose run --rm panel php artisan p:user:mak" I get no configuration file provided: not found. does anyone maybe know whats up
you must be in the folder with the docker-compose.yml
This happens because you are not in the same directory as the docker compose yaml file when you ran that command. If you are using just docker then change directory to where you put this. I'm using portainer so I used the web interface to open a shell in the panel container and ran just "php artisan p:user:mak".
When you say you need two servers, does that mean we need two separate operating systems? Whether that be a proxmox container or a separate machine entirely?
They can be virtual, yes, or even lxc's (if you can figure that out). It's just better if you separate the control plane from the nodes running the game servers.
@@TechnoTim thanks, I've been struggling to get that little heart to turn green. Even added some extra stuff to the config file based on a recommendation from the pterodactyl discord. I think I may try placing the wings server in a completely separate container on my proxmox server, or maybe just another VM.
Hi, I have a question. Do I really need a separate servers for pterodactyl panel and wings agent? Can I start them at the same machine?
Great video. Is it possible to use alternative ports for the panel as my docker setup is already using ports 80 and 443?
Just in case anyone else is reading this... yes :)
Just set the config to something like 8480:80 and set your reverse proxy config (if using) to "FQDN:8480"
I couldn't even build a house in terraria. This guy is hosting it
Awesome!! I'm going to make it work on my server 🤩🤩🎉
Please do a video on VS Code and how you use it! It seams to be the missing link on a lot of you videos for us noobs, especially on the ansible one
Well I got the panel setup on a raspberry pi4 and using cloudflared tunneling to get it mapped to a domain. Now the trick is getting the wings server on my TrueNAS Scale server. I thought about hosting the wings agent on AWS but that's about $500 a month :(
Nice work!!
@@TechnoTim any experience or luck with the wings agent on TrueNAS scale?
Great video! The kids have been asking me to build them a Pixelmon server. I have a feeling once I build that one they will want many more games.
I'm curious did you install Linux on bare metal or a VM on ______ hypervisor?
I did on a VM but baremetal works too!
@@TechnoTim 🤔 I have a ridiculously overpowered Nutanix server which we decomm-ed. It now runs proxmox. The panel has to be separate from the nodes/wings/nests/eggs/yolks?
amazing! thank you for the tutorial :D
You are awesome!
I've got to say, trying to install this and get it running properly has kicked my ass
I don't understand the FQDN part. We need to setup a reverse proxy with nginx reverse proxy and create a subdomain on cloudflare? I'm more than confused
did you ever get it to work using cloudflare? I'm also using cloudflare but with caddy as reverse proxy, and haven't gotten it to work after a few hours ;-;
@@iamasink No sadly, I tried everything. But I believe the only way to proxy your minecraft server on cloudflare I believe is to pay for the premium plan or whatever. But it's kind of expensive if it's only for a minecraft server. I was very let down when I found this out
@@agreniers Thanks for the reply
I eventually got it to work, I think I was reverse-proxying the wrong port
I think you have to pay for cloudflare proxy but you can still use it as DNS Only, which is what I did.
@@iamasink im having the same issue using nginx reverse proxy doesnt like 443 but panel works with 80 so lost
I''m assuming that you have to do this on the gaming server machine with a monitor and Windows 10 installed.
Could this be done on truenas scale?
Should check out AMP over Pterodactyl!
Performance is not affected by docker? for example on a minecraft server with many mods?
I'm sorry I'm new here but you lost me from the beginning 3.45 where did docker volumes come from and docker compose file i really couldn't understand where you got everything could you not show how to install everything first so I could follow along I couldn't even get started sorry for the trouble but I thought this was for beginners
I cannot get this to work. I don't get anything when i navigate to the IP address of my docker server and port for the panel. When i setup the url in NPM, all i get is a bad gateway. Error logs show that it can't pull an SSL cert but I don't know why it cant because all my other services have no issues with pulling SSL from NPM.
I honestly don't understand. I was able to install Ptero on a fresh Debian box, change the port forwarding from my NPM to the box and let Let's Encrypt do it's thing and have a panel that way. Using your docker compose, my understanding is if I don't uncomment the LE_EMAIL line, it won't try to pull an SSL from Let's Encrypt but will instead pull from my NPM, however it never pulls the cert and when i attempt to access the URL, i just get 502 bad gateway. I have tried setting the TRUSTED_PROXY line to the IP of my NPM as well as leaving it as a wild card and still cannot make any progress. I have the URL setup in NPM to use a cert i generated for the URL and forward 443 traffic to the host side port I configured on the container. Still nothing.
@@sneecePersonal request ssl for your wings domain with npm. then copy paste them in the wings directory that is noted in the config. also use port 8080 and do not thick behind porxy when creating the node. that worked for me after 2 weeks of not getting it right
I'm behind carrier nat so going to have to adapt this some with playit gg or a cloudflare tunnel.