Skip to main content
Skip table of contents

Multiplayer Demo

Get a demo of the Multiplayer feature.

Instructions

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 eagle specific features we are releasing. We appreciate your patience!

The demo provided is meant to be a starting point. There will be some use cases, however, where the requirements of the UE application will extend beyond the demo Eagle 3D Streaming provides. 

In these cases, Eagle 3D is happy to work under a professional services agreement where we define a scope of work and complete it as per your specifications. We are unable, however, to provide dedicated support for the multiplayer demo to develop additional capabilities.

If our free servers are not online then this demo's multiplayer part might not work. If it does not work then ask support@eagle3dstreaming.com about it or you can request a paid server.

If you would like to demo our multiplayer, follow these steps :

  1. First launch this demo in two separate devices (mobile/desktop/….) with an internet connection and browser: https://iframe.eagle3dstreaming.com/

  1. 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 to Eagle 3D Streaming infrastructure by following this Doc or in your own infrastructure . Both can be used in eagle system as long as they have a static ip accessible through internet If you are hosting your own dedicated server then you will need a static IP address for that server.

For now dedicated server hosting to eagle infrastructure is free . However it will not be free in future . And free hosting don’t provide any guarantees of 24/7 availability of the service . So if your server not online that mean our server resource has exceeded current demand request by other clients who also using the system from free.

You can always connect to support@eagle3dstreaming.com for a paid guaranteed dedicated server hosting .

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 ( see Image 5 below ) like this:
-dsipaddress=yourIP:Port

(Image 5) below is a screenshot from the Control Panel to show the feature : Parameters To Pass to App where you can pass the IP address .

To get to this feature, you should go to your Control Panel STEP 2: CONFIG SELECTIONEditDeveloper Options. (Hit Save and Broadcast to apply the instructions to your app).

Here are more information about setting up and creating configs.

Image 5. Control Panel: STEP 2: CONFIG SELECTION : Edit : Developer options : Parameters to Pass to App

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

Image 6. 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://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/HowTo/DedicatedServers/

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

5. ADDITIONAL RESOURCES

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

Warning 🔧

Issue 1 : ❌ 🚫

Black screen (below)

Black Screen Pixel Streaming Player

Image 10. Warning : Black Screen

Cause of the issue :

The Build is not able to connect to the server.

The reasons could be :

  1. The dedicated build is not running (follow this document to see how to start a server App)

  2. The machine where the dedicated build is running may have some connectivity issues (e.g. firewall permissions, IP address issues, etc.).

Issue 2 : ❌ 🚫

After connecting to server, the Camera or pawn get stuck into somewhere (below).

Image 11. Camera or pawn stuck

Cause of the issue :

Your game version and Dedicated server version are NOT THE SAME.

Eagle 3D Streaming recommends :

When you Package your gamePackage the dedicated server as well and Deploy them and connect them together. (check this document to see how to upload a dedicated server App and start it).


Was this article helpful? Comment Below. Let us know your feedback.

Need help? Contact Support

If you still need help, contact support to get your issue resolved quickly.

Submit a new request at E3DS support portal or send an Email at support@eagle3dstreaming.com.

Seek advice. Connect with others. Share your experiences. Join our lively Community Forum today.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.