MultiUserServer standalone deployment

I can answer this, at least for Linux, because I literally did just a few hours ago for our team. :slight_smile:

I’ll have longer documentation once I’ve done some additional testing with our group, but here is a summary of the steps:

  1. Prerequisites:

    • GitHub account linked to UE organization, per the official docs:
      Unreal Engine on GitHub - Unreal Engine
    • Fork and clone the UE source repo as in the official docs:
      https://github.com/EpicGames/UnrealEngine (Linux section)
    • The UE source code is about 12 GB, but the build prep downloads a very large amount of data into the code tree. Have at least 120 GB of space available on the filesystem that contains the local repository.
    • In this setup I ran the compilation as root. My situation was a lab environment with a small, trusted team. You may wish to run from a nonprivileged regular user. The Epic build scripts include sudo commands where needed.
    • A virtual machine should work fine as long as it’s on a physical host with enough available resources to achieve good network latency. My prior testing with the MUE running on my workstation suggests that this service daemon is highly latency-sensitive but tolerant of moderate bandwidth. In other words, consider your network topology and where to place this server to minimize router hops etc., and give it enough CPU priority versus other guests so it doesn’t wait long for the host CPU.
    • You will need to open a UDP port in your firewall(s), including FirewallD on the server itself, if you enable that. Epic uses port 7000/udp by default, but you can change that if you wish.
  2. Create a baseline Linux server. Epic’s docs show Ubuntu 20.04, but I used Debian 11.6 (Bullseye) and it works just fine. You do not need a graphical desktop unless you want to run the UE Editor in its entirety on this server.

  3. Install the “sudo”, “git”, “git-lfs”, and “build-essential” packages, i.e.,

    # apt-get install sudo git git-lfs build-essential

    Git LFS support may not be required right now, but it won’t hurt to have it ready.

  4. Follow the instructions in the detailed Epic page for native Linux compilation, except for the “make” step:
    https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Build/BatchFiles/Linux/README.md

  5. Instead of just “make”, which will build all of Unreal Engine, you can reduce the compilation time by specifying a subset target:

    # make UnrealMultiUserServer-Linux-Debug
  6. I created symlinks to make it easier to find the logs and executables under regular system directories, although my UE build tree is in /usr/local/src/ hierarchy.

The build process worked perfectly for me with the above steps. Since I literally just did this a few hours ago, I have tested that the server starts and stops gracefully and that the logs look normal, but I haven’t yet tested connecting to it from an interactive Unreal Editor client.

DISCLAIMER As I’ve stated above, this is an early, experimental deployment at our organization. The MUE feature is supported by Epic, but the preceding build instructions are a work-in-progress lab installation and not fully tested for production. Use at your own risk.