5.3 pixelstreaming aws ec2 tasking

Hello

Currently, we are testing pixel streaming that allows you to easily access the web browser on your mobile and desktop.

There’s a block here.

If you set the packaging file to pixel streaming and open it

You get 80 ports per package file

I’m curious about the process of automating this.

For example

Let’s assume that there are 100 game users

Administrator turns on 100 packaging files at a time and 80,81,82,83,84 ports to the signaling server

When a user presses the play button on the web

I want to implement it by automatically executing packaging files in the cloud and automatically allocating ports in order

I’m not sure if this is the right way to do it…

Hello @4DARTco

Implementing an automated system for pixel streaming in Unreal Engine 5, especially one that manages multiple users and port allocations, can be quite a complex and frustaring task. However, before delving into such an intricate setup, you might want to consider a simpler yet equally effective solution like Vagon Streams.

Vagon Streams offers a no-code-required, powerful cloud-based streaming platform that allows you to publish your Unreal Engine experiences with just a few clicks, eliminating the need for complex backend setups.

If you’re interested in exploring this option, please feel free to reach out to me for a test drive or create your account to start streaming right away. :blush:

However, if you still wish to pursue your original idea, here’s a step-by-step approach you could consider for your project:

1. Cloud Setup

  • Platform Choice: Choose a cloud platform like AWS, Azure, or Google Cloud Platform. Each offers virtual machine (VM) or container services.
  • Instance Configuration: Set up VMs or containers to host your game. Ensure they have the necessary GPU and CPU resources for running Unreal Engine effectively.
  • Network Configuration: Configure network settings to allow incoming connections and streaming traffic.

2. Port Management

  • Dynamic Allocation System: Develop a service or script in a language like Python or Node.js. This service should:
    • Maintain a pool of available ports.
    • Assign an available port to a new game instance.
    • Release the port back to the pool once a session ends.
  • Database Integration: Use a database to track port assignments and instance statuses.

3. Packaging for Pixel Streaming

  • Project Settings: In Unreal Engine, configure the project settings for pixel streaming. This includes:
    • Setting up the pixel streaming plugin.
    • Configuring input and quality settings.
  • Packaging: Package your game with these settings, ensuring it’s optimized for cloud-based streaming.

4. Automation Script

  • Deployment Tools: Use automation and orchestration tools like Kubernetes or Docker Swarm for deploying and managing game instances.
  • Script Functions: The script should:
    • Listen for play requests from the frontend.
    • Trigger the launch of a game instance in a VM/container.
    • Integrate with your port management system for port assignment.

5. Signaling Server Configuration

  • Purpose: The signaling server is crucial for establishing peer connections in pixel streaming.
  • Dynamic Handling: Configure the signaling server to:
    • Accept connections on dynamically assigned ports.
    • Facilitate the WebRTC connection between the game instance and the user’s browser.

6. User Interface for Play Button

  • Frontend Development: Develop a web interface with a play button.
  • Request Handling: When clicked, it should:
    • Send a request to your backend to initiate a game session.
    • Receive the port and instance information from the backend.
    • Connect the user to the assigned game instance.

7. Load Balancing and Monitoring

  • Load Balancer Setup: Implement a load balancer to distribute incoming connections and game sessions across your cloud resources.
  • Monitoring Tools: Use tools like Grafana, Prometheus, or cloud-native monitoring solutions to:
    • Monitor resource usage (CPU, GPU, memory).
    • Track game instance status and health.
    • Keep an eye on network performance and latency.

Additional Considerations

  • Security: Implement security measures like firewalls, encrypted connections (SSL/TLS), and secure authentication.
  • Documentation and Support: Maintain clear documentation for your setup and ensure you have support channels for troubleshooting.

It’s quite frustrating and complex process that you can easily bypass and enjoy a straightforward solution with Vagon Streams.