Back to Projects

Unreal Tournament 4 - Server Controller Script and Guide

Last Updated: 2022-01-13

Described is a script which automates and simplifies much of the configuration, deployment, and management of an Unreal Tournament 4 server (HUB).

What it provides you is a simple project folder, with directories for maps, mutators, rulesets, and config files.
It then aims to script and automate:

  • Downloading the latest UT4 server build from Epic Games.
  • Installation of game configuration, maps, and mutators to 1-or-multiple server instances.
  • Automatic creation of redirect md5 hashes and upload to redirect server.
  • Rulesets can be individually managed through separate files.
  • The only thing that's left is for you to configure your gametypes, add some maps, mutators, and get to fraggin'!!!!

Limitations

Usage instructions and documentation need much improvement still.

What You Need

  • A server* to host the instance and run the game server.
  • A redirect server to send custom content to players.
  • A good attitude: You're almost done. You need to edit the variables at the top of the script to point to the right directories and network paths so it knows what to do. After being configured correctly, it's easy to install and configure your hub(s).

*For best player experience, server and redirect should be distinct and have reserved internet capacity. However, you can technically run the server, the redirect, and even the game client on the same computer. The limitation is there will be major ping spikes if you download on the same connection. It's pretty easy to acquire these servers if you don't mind paying for it. An entry-level cloud server is $20/month.

Installation

More instructions coming soon.

Configuration (Specified in config.ini)

You need to configure the variables at the top of the script.

project_dir
Filepath to the 'project' directory on your local machine.
redirect_protocol
One of 'http' or 'https' which will be put into the redirect references inside Game.ini
redirect_url
Domain name and path to the redirect webserver.
remote_game_host
Destination server and path for the instance files.
remote_redirect_host
Destination server and path for the redirect webserver files.

Usage Instructions

After that is configured correctly, here are the commands:

delete-instance
Delete the instance for rebuilding (this is safe).
download-linux-server
Downloading the linux server release from Epic.
generate-instance
Install the maps, mutators, and config into the server build, on your LOCAL machine. This step also computes all the md5sums required for the RedirectLines.
start-server
Starts the server, restarting if it ever crashes.
stop-server
Stops and kills all instances of the server.
upload-redirects
Upload all PAKs to the redirect web server.
upload-server
Upload the generated instance to the instance server for multiplayer hosting.