Skip to main content

Local Provider

local is the default game server provider as it provides the easiest mechanism for running games locally without any other dependencies. It's used when you're running with the dev-initiator.

The local provider forks a new process on the host machine and runs the below configurable command:

../Engine/Binaries/Binaries/Win64/UnrealEditor.exe C:\\Path\\To\\MyGame\\MyGame.uproject -server -port=7777 -SidecarPort=3020

This command will run the compiled dedicated Server target with the Development build configuration with uncooked content. While using uncooked content can be non-ideal in some cases, it works for most development purposes.

We recommend using the local provider for quick iteration and testing; you may find using this provider most often during development and use others when you start testing more production-like environments.

warning

The local provider isn't supported outside of using it alongside with the dev-initiator; this is meant to be a development tool and should not be used in any production/staging/demo environment.

Configuration

You can find all of the default configuration in RedwoodBackend/config/node/default/realm/instances/default.yaml under game-servers.local variables, but here's an overview of what's available in the Realm Instance Config.

  • game-servers.local.unreal.path is the folder where where the executable to run exists
  • game-servers.local.unreal.executable is the name of the executable; we separated this from the path variable so you can keep path the same but change the executable to run different build configurations (i.e. UnrealEditor-Win64-Shipping.exe)
  • game-servers.local.project is the full path to the .uproject file; you must customize this to point to your project
  • game-servers.local.arguments is the string of arguments to pass to the command; this is in addition to -server -port=XXXX -SidecarPort=YYYY which are non-optional and predetermined by Redwood

Ports

The port numbers aren't specifically customizable; they are generated by using sidecar.connection.ports.game and sidecar.connection.ports.sidecar for -port and -SidecarPort respectively. Multiples of 10 are added to each of these numbers every time a game server is launched (and resets back to 0 when the backend/dev-initiator restarts).

info

You can configure this to used a packaged/cooked version of your game by changing the Realm Instance Config game-servers.local.unreal.path/executable variables to the appropriate build output and specifying an empty string for project. Here is an example of what this might look like:

game-servers:
local:
unreal:
path: "C:\\Path\\To\\MyGame\\builds"
executable: "MyGameServer.exe"
project: ""