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. First launch this demo in two separate devices (mobile/desktop/….) with an internet connection and browser:
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 (Bitbucket )
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:
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
(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 SELECTION → Edit → Developer Options. (Hit Save and Broadcast to apply the instructions to your app).
More information about setting up and creating configs are here: Set Up Configurations on your Control Panel
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
5. ADDITIONAL RESOURCES
6. TROUBLESHOOTING
Sometime user will see a black as screen as shown below.
Image 10: Code analysis: IP address
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.).
Sometime after connecting to server Camera or pawn might get stuck into somewhere just like the screen as shown below.
Image 11. Camera or pawn stuck
From experience what we have seen is that if your game version and dedicated server version are not the same then it happens. So whenever you package a game, you should package the dedicated server as well and deploy them. And connect them together only to prevent this kind of weird situation.
Need help? Contact Support
if you still need help, contact Eagle 3D Streaming 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.