Eagle 3D Streaming

Eagle 3D Streaming Multiplayer Demo

Note:
This document aims to provide developers a zero coding approach to host a multiplayer server with simple management. This document is evolving, and we will strive to keep it consistent with all the features we are releasing. We appreciate your patience!

If you would like to demo our multiplayer, follow these steps. First launch this demo in two separate devices (mobile/desktop/….) with an internet connection and browser:

https://iframe.eagle3dstreaming.com/

Second, walk the character to booth 12 and step on the cylinder protruding from the center of the booth:

Image 1: System demo: Go to booth 12 (bring some water, it’s a bit of a long walk, or use the teleport buttons on the left panel!)

If you step into the yellow cylinder you will portal into the multiplayer system demo.

 

This specific map inspires developers on what can be achieved with Unreal Engine and the Eagle 3d Streaming platform.

1. STARTUP SCREEN

User is presented with a Player Selection screen where the User can select different Avatars and add a Name Tag which is visible above the Player in the multiplayer environment.

Image 2: Startup screen: Player Selection screen

2. MULTIPLAYER ENVIRONMENT

Image 3: Multiplayer environment: VoIP Panel

Repeat the same process (of going to booth 12 and stepping on the yellow cylinder) from a second device or browser tab and you will see another avatar in the same space.

Image 4: Multiplayer environment: 2nd device

 

3. SETUP

Now that you have seen the demo, you can also use Eagle’s Multiplayer Template as a starting point to add Multiplayer into your project using a Dedicated server. In order to do this, you will first need:

Dedicated server can be hosted by You (User) or by Eagle 3D Streaming. If you are hosting your own dedicated server then you will need a static IP address for that server.

Client Build is uploaded to the Eagle Streaming Platform. Client is hardcoded to connect to our machine. This code can be found in Maps/Main map level blueprint of the Eagle 3D Streaming Features Template UE Project (https://bitbucket.org/Eagle3DStreaming/e3dsfeaturestemplate/ )



4. CODE ANALYSIS

First, grab the full source code of the UE4 project from this repository :

https://bitbucket.org/Eagle3DStreaming/e3dsfeaturestemplate/

 

DEDICATED SERVER PACKAGE GUIDE

The are great resources available on the internet to guide your process of packaging a dedicated server build:


https://www.youtube.com/watch?v=zNUxzl8Dcb4&ab_channel=Flopperam

https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/HowTo/DedicatedServers/

 

Once you host the server, pass the IP address to the Parameters To Pass to App filed(CmdLineParameter field) of your streaming config like this:
-dsipaddress=yourIP:Port

More information about setting up and creating configs is here: https://eagle3dstreaming.atlassian.net/wiki/spaces/docs/pages/5111809

 

 

The code that will process this value can be found here:

Image 5: Code analysis: Code



This value (1) is used to generate this (2):

Image 7: Code analysis: To generate this

Which produces this window when you step into the yellow portal in map1:

Image 8: Code analysis: portal in map1

This IP address getting used to connect to the dedicated server pointing by the IP address :

Image 9: Code analysis: IP address

 

When the stream starts this code the Client will run and connect to STATIC IP ADDRESS mentioned “Server IP”.

4. DEDICATED SERVER PACKAGE GUIDE
https://www.youtube.com/watch?v=zNUxzl8Dcb4&ab_channel=Flopperam

https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/HowTo/DedicatedServers/

5. ADDITIONAL RESOURCES
https://www.youtube.com/watch?v=09yWANtKmC8&ab_channel=UnrealEngine

6. TROUBLESHOOTING

Sometime user will see a black as screen as shown below.

Image 10. Troubleshooting: Error

This means that the client build is not able to connect to the server. There could be couple of reasons for this, like the dedicated build is not running, or the machine where the dedicated build is running may have some connectivity issues (e.g. firewall permissions, IP address issues, etc.).

 

Eagle 3D Streaming