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.
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 existsgame-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 projectgame-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).
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: ""