https://github.com/etherealengine/ee-bridge-unreal
Unreal Engine to Ethereal Engine Backend Bridge
https://github.com/etherealengine/ee-bridge-unreal
Last synced: 12 months ago
JSON representation
Unreal Engine to Ethereal Engine Backend Bridge
- Host: GitHub
- URL: https://github.com/etherealengine/ee-bridge-unreal
- Owner: EtherealEngine
- License: other
- Created: 2022-03-11T22:56:02.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-08-04T23:35:29.000Z (over 2 years ago)
- Last Synced: 2024-05-22T21:01:19.752Z (over 1 year ago)
- Homepage:
- Size: 503 KB
- Stars: 12
- Watchers: 12
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ethereal Engine Bridge - Unreal
INTRO VIDEO
[](https://youtu.be/GbOpJRxkux8)
https://www.youtube.com/watch?v=GbOpJRxkux8/
Unreal SDK XREngine Alpha
- User Management API
- Server Party Matchmaker
- Unreal Game Server Lifecycle System
- Unreal Blueprints XREngine SDK
CMS and marketplace services coming soon
EXAMPLE https://github.com/XRFoundation/XREngine-Bridge-Unreal-Example

## Setup
This guide assumes you have a working linux dedicated server build of you game.
- https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/HowTo/DedicatedServers/
- old guides
- https://michaeljcole.github.io/wiki.unrealengine.com/Dedicated_Server_Guide_(Windows_&_Linux)/
- https://medium.com/swlh/building-and-hosting-an-unreal-engine-dedicated-server-with-aws-and-docker-75317780c567
Preinstall Requirements
- VaRest https://github.com/ufna/VaRest
- https://www.notion.so/VaRest-UE4-Plugin-40b98c54fc184033b60a42e0e4753536
- VaREST Tuturials https://www.youtube.com/watch?v=B90jnsEJ6E0
- Agones SDK w/ Unreal tools https://agones.dev/site/docs/guides/client-sdks/unreal/
### Containerizaiton details
- https://unrealcontainers.com/docs/use-cases/dedicated-servers
- https://unrealcontainers.com/docs/use-cases/linux-installed-builds
- killer advanced use https://unrealcontainers.com/docs/use-cases/pixel-streaming
- killer advanced use https://unrealcontainers.com/docs/use-cases/continuous-integration
- killer advanced use https://unrealcontainers.com/docs/use-cases/linux-sandboxed-editor
## Configuring gameserver
register a process with ENV VARS or Unreal executable arguments
https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/CommandLineArguments/
```
TroveServer.exe IslandLobby.uproject /Trove/Maps/Island1?game=MyGameInfo?listen -lobbygame -server 127.0.0.1
TroveServer.exe IsleOfDeath.uproject /Trove/Maps/IsleOfDeathStart?game=MyGameInfo?listen -stakedgame -server 127.0.0.1
```
## VaREST and wrapping the XREngine Web API
knowledge required: Learn REST APIs, OpenAPI, Header based http auth, Verbs:Get/Post/etc, paylods, json

Targeting support for 4.26 and 4.27
Trial implementations on epic games unreal examples for the XREngine bridge for Unreal
https://github.com/XRFoundation/XRE-Bridge-Unreal/
This bridge is wrapping OpenAPI endpoints presented by XREngine
https://api-dev.theoverlay.io/openapi/
This first requires a generated bearer token for API autorization. OAuth API app digestion with socpes is coming soon!
This can be found in the EnvVars of the XREngine cluster and in the XRE SQL Database

Blueprints multiplayer Unreal reference
https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/Blueprints/
All K8 control plane systems can be access via rest calls to the local network of the gameserver, the functionality of Agones can be done via adding a node in Blueprints.
The XREngine matchmaker service exposes the default endopints for open match.
https://github.com/XRFoundation/XREngine/blob/dev/packages/ops/open-match/templates/01-open-match-core.yaml
https://github.com/XRFoundation/XREngine/blob/dev/packages/ops/open-match/templates/07-open-match-default-evaluator.yaml
REST API local call access docs
https://open-match.dev/site/docs/guides/access/
This is a ticketing system to be placed into a lobby group and then into a gameserver. XREngine has API call examples of this
Match User Relation
https://github.com/XRFoundation/XREngine/blob/dev/packages/server-core/src/matchmaking/match-user/match-user.class.ts
#### Open Match Endpoint Reference
Match the ticket for an assignment
https://github.com/XRFoundation/XREngine/blob/dev/packages/server-core/src/matchmaking/match-ticket/match-ticket.class.ts
Match Gameserver Instance Relation
https://github.com/XRFoundation/XREngine/blob/dev/packages/server-core/src/matchmaking/match-instance/match-instance.class.ts
Get a ticket for assignment to a gameserver instance
https://github.com/XRFoundation/XREngine/blob/dev/packages/server-core/src/matchmaking/match-ticket-assignment/match-ticket-assignment.class.ts
Agones Actions
