How to properly configure PufferPanel from a "best practices" standpoint?



  • Hey there,

    I recently started using PufferPanel and so far I'm loving it, but I'm a bit confused as to what the optimum setup should be. I'm configuring this on a self-built, home lab OpenStack KVM environment, but I do attempt to use best practices whenever possible, hardware permitting.

    My current infrastructure looks like this:

    SYSTEM1

    • Hosts OpenStack Controller node
    • Hosts OpenStack Network node

    KVM1

    • Hosts any game servers that I build

    I guess my question is, should PufferPanel be installed directly on each game server I choose to host or should I be installing it as its own VM, perhaps on the SYSTEM1 host? For example, if I spin up a VM called GAME1, should I be installing PufferPanel on this VM or is PufferPanel designed to be a standalone machine that simply manages the game servers?

    Sorry. I'm new to all of this but would love to learn how it should be done.



  • Hello!

    The answer to your question is that, you should install the "node" to the game servers and have one access the web only.

    Maybe using

    ufw
    

    If you use this method to block please make sure you don't lock yourself out because you forgot to add ssh port.

    The PufferPanel is meant to be used on a web server then if possible use different server(nodes) to connect back to the panel to manage services. This is a great method when we get billing added into our code.

    Sincerely ,
    falceso



  • Hi,

    You're on the right track. PufferPanel should be installed on a single server.

    The game nodes should be separate machines that each run Scales which communicates back to the PufferPanel server. I don't know what kind of hardware you're dealing with but I found that it was much more cost-efficient and easier to manage a few beefy (powerful) servers running Scales, instead of little VM's for each gameserver.

    Then again, my PufferPanel installation consists of 6 servers just for the frontend, so my techniques might not be best for everyone :)

    Hope I cleared things up a little bit.



  • @PwrPlayNet No this is very useful. Thank you for responding. So to clarify, you're doing something like this?:

    HOST1 > Runs PufferPanel web interface
    HOST2 > Runs KVM (or some other hypervisor)

    • VM1 > A single node with 16GB of RAM and 4 CPUs running 3 game servers (estimating, obviously)
    • VM2 > A single node with 32GB of RAM and 8 CPUs running 6 game servers

    I guess my question for you is, what determines the size of your VM? Or, better yet, are you just skipping the VMs altogether and using the ENTIRE physical server to simply run as many game servers as possible?

    I guess this is something I've NEVER been able to figure out and I've been dealing with in my head for so long and just don't know what to do. That is, creating VMs and making that individual VM a node to run a couple servers versus just using all of the possible space to create as many game servers as possible. I still don't know what to do, but it sounds like you're just using the whole box as a node and creating as many VMs as you can?

    Thanks for your help, by the way. :)



  • @falceso Hi there! Thanks for helping me out. I understand what you mean separating the PufferPanel server as it's a web server and should solely serve that function.

    However, I'm a bit confused when you start referring to having only one server access the web. I'm not familiar with ufw and what I need to be blocking. If you could elaborate I would appreciate it!



  • Hi,

    I do not use any virtualization on my game nodes. Scales simply sits on top of the physical server, no virtualization or anything special. If you have a very specific use for VM's, I'd at least use something the developers support, like Docker for example.

    Now my PufferPanel installation is different and quite complex, but my games nodes are simply physical servers with Scales. My PufferPanel frontned is configured like so:

    Load Balancer -
    -> PP1 (Elastic FS)
    -> PP2 (Elastic FS)
    -> PP3 (Elastic FS)
    Memcached / APC
    MYSQL
    Caching Server (FastCGI)

    A tad bit overpowered, but necessary for my needs. Again, I'd recommend ditching VM's all together unless you have a specific use. I hope I've provided some inspiration :)



  • @xyeLz said in How to properly configure PufferPanel from a "best practices" standpoint?:

    @falceso Hi there! Thanks for helping me out. I understand what you mean separating the PufferPanel server as it's a web server and should solely serve that function.

    However, I'm a bit confused when you start referring to having only one server access the web. I'm not familiar with ufw and what I need to be blocking. If you could elaborate I would appreciate it!

    Hello,

    To solve your confusion I would like to say that you separate the servers so that if the web panel goes down your server data is still up on another server. ufw is a method to blocking all ports. Just like a firewall. What I recommend blocking is all access to the server besides required, example.. SSH Port , Mysql, ect..

    Sinceraly ,
    falceso



  • @PwrPlayNet Thank you for providing me some insight into how you're doing it! Do you mind if I ask what your infrastructure is doing? For example, are you serving clients or is this all more personal? Also, how do you manage these hosts? Are they running CentOS? I don't really have any specific "use" for VMs other than the fact that I've never done this before and I thought it would make sense to "guarantee" resources to certain games by separating them in this manner. I guess you can do that through Puffer though, by specifying the CPU/RAM? I'm just new to all of this, haha. Is there ever a need for a game server company to create multiple VMs instead of just multiple game nodes using Scales?

    Oh damn, that's an interestingly cool setup you have there. Mind if I ask what you're using for the load balancing? Are you hosting this all with AWS?

    I'm not familiar with the other applications you mentioned there. I just know they're required to run Puffer, correct? MySQL I obviously know.

    Thanks again for the help!



  • @falceso Ahh there we go. Thank you very much for the help! :)



  • @PwrPlayNet Sorry to follow up again on this. I'm trying to organize myself properly here, especially if I plan to order hardware to scale out my infrastructure.

    I assume your PP servers are virtual, but your Scales servers are physical? Also, it looks like you've configured separate servers for the individual services required to run PP, correct? Those being APC, SQL, and FastCGI? Are these all virtualized as well?

    Thanks again! I was looking at getting a few R230s (low power servers) to host the infrastructure but I obviously didn't want to buy 7 physical hosts when I could do something like this:

    R230-1
    -> PP1
    -> PP2
    -> APC
    -> MySQL
    -> FastCGI

    R230-2
    -> Scales

    R230-3
    -> OS-CTL (OpenStack Controller Node)
    -> OS-NET (OpenStack Networking Node)

    R230-4 (KVM)
    -> VM1 (OpenStack Guest)
    -> VM2 (OpenStack Guest)
    -> VM3 (OpenStack Guest)

    I don't expect you to be familiar with OpenStack (boy would that be a bonus!) but you can see what I'm doing - somewhat separating services to different physical or virtual servers, if that makes sense?

    I'm still a bit confused on what would be the easiest way to manage the PP hosts though and to keep an eye on performance, etc. Any thoughts there?



  • @xyeLz said in How to properly configure PufferPanel from a "best practices" standpoint?:

    I don't expect you to be familiar with OpenStack (boy would that be a bonus!) but you can see what I'm doing - somewhat separating services to different physical or virtual servers, if that makes sense?

    I'm still a bit confused on what would be the easiest way to manage the PP hosts though and to keep an eye on performance, etc. Any thoughts there?

    Hello

    To answer your first question, you do not really require the usage of physical for PufferPanel as of this moment. (Unless you are using Docker you would need KVM or something close to that)

    To answer your second question, PufferPanel to my knowledge does not include stats report. My method I use is nixstat.com <- Not affiliation link but it's an open beta project.

    Sincerely
    falceso



  • Hey @PwrPlayNet I was wondering if you had Discord or some way for me to communicate with you directly (IRC works as well)? I just had a few more questions regarding your setup, if you don't mind?



  • @xyeLz Hi, sorry for not responding. I'm a sysadmin and I'm working 65 hours a week during the holidays covering for people haha. I can read my personal email at work during the day, how can I get the email address to you? I couldn't find a PM function on here.



  • @PwrPlayNet Hey no worries! Sure. You can email me at [Removed by moderator: please do not post personal information]. Thank you!


Log in to reply
 

Looks like your connection to PufferPanel Community was lost, please wait while we try to reconnect.