Giter Club home page Giter Club logo

Comments (11)

parkervcp avatar parkervcp commented on May 18, 2024 2

Doing it this way could put significant stress on the host that is the proxy for these connections. You would take what is essentially a spread out load and putting it on a single point of potential failure.

While I understand the reasoning behind why you would proxy all the connections though. My word is not the projects. I am just calling out potential issues.

from panel.

matthewpi avatar matthewpi commented on May 18, 2024 1

This isn't going to happen. Most actions are already proxied through the panel and the few that aren't were designed to hit the node directly.

The actions that hit the node directly are:

  • WebSocket (console output, live events, sending power action, etc)
  • File Uploads
  • Backup Downloads (when using the local storage driver)
  • SFTP

There may be a few others, but these are the ones I know of that hit the node directly either due to protocol complexity (proxying websockets is a pain) or high bandwidth usage.

If you need all of these to work on an internal network externally, run a Layer 7 (or Layer 4) reverse proxy that fronts the connection to Wings.

But this behaviour will not be changed. Support for different public/private endpoints options (like panel -> wings vs client -> wings) may be added, but we are not proxying everything through the panel.

from panel.

adrianprofir avatar adrianprofir commented on May 18, 2024

I think I should have been more specific in the feature description. I want to get only the information about the server status and logs to the front-end. The game traffic, meaning users connecting to the wings, would work as they have been until now meaning directly from user to the node.

For example, on the front-page of the panel I can see that my servers are actually running at the moment and on what IP+Port. In this case information is transmitted from the wings agent to the panel and from the panel to the front-end.

I definitely agree with you that proxying all the traffic through the node is not a good idea. However, sending telemetry data such as CPU usage, RAM usage, logs and the status on those servers should not be a huge amount.

Please let me know if the above makes sense or if I am completely wrong in understanding how this works..

Sorry, clicked on close issue by mistake

from panel.

parkervcp avatar parkervcp commented on May 18, 2024

I wasn't saying to proxy the game servers though the panel server. I was talking about wings.

The panel directly connects to wings already, it just doesn't proxy the console. It's a faster connection to make it direct. I know this doesn't cache the output in the panel.

from panel.

adrianprofir avatar adrianprofir commented on May 18, 2024

Ah alright. So I guess we don't want to proxy the console :(. Should we close this issue?

from panel.

wdhdev avatar wdhdev commented on May 18, 2024

I had this issue as well when using a local IP address. What if there was an option or something that you could set which would proxy the console through through the panel? Not defaulted, but just there for some specific use cases?

from panel.

StarbugGamer avatar StarbugGamer commented on May 18, 2024

I also have excatly this problem. I have a configured a Minecraft server that starts up perfectly fine, but the Console does not connect to it. I can press the Stop button, but with no effect. It seems to me the Console has crashed somehow, but I see no error messages neither in Wings (runnig with --debug) or in the nginx error log of the panels webserver.

from panel.

parkervcp avatar parkervcp commented on May 18, 2024

This issue you are all describing is that your computer is unable to reach the wings instance. This is not a pterodactyl issue so much as it is a configuration issue.

There are all kinds of network configurations that can cause this issue.

from panel.

Sharktheone avatar Sharktheone commented on May 18, 2024

The simplest solution is probably to use the webserver to proxy the connection to wings.
I do exactly that in my setup (Nginx). Not sure how this would look like for Apache or caddy.

from panel.

wdhdev avatar wdhdev commented on May 18, 2024

The simplest solution is probably to use the webserver to proxy the connection to wings.

How would I go about doing this? I'm using Nginx.

from panel.

Sharktheone avatar Sharktheone commented on May 18, 2024

First you need to add the default_server tag to the listen entry like this:

server {
    listen 443 ssl http2 default_server;
    server_name panel.<domain>;  
    # ....
}

Note that you need to give the exact domain (e.g panel.example.com) on at server_name

The second step is to add a new server block like this

server {
        listen 443;
        server_name wings.<domain>;
        location / {
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass https://<wings domain or ip>:<wings port>;
        }
}

You can also add the second server block (for wings) as a new file in /etc/nginx/sites-avaiable/pterodactyl-wings.conf and link it to sites-enabled

Note: You can also add your ssl certificate in the wings nginx configuration instead of giving it wings.

from panel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.