This is a reimplementation of EpicGames servers, just enough to be able to serve as a master server for Unreal Tournament pre-alpha. There is still lots to do. Anyone is welcome to help out. Reach us on Discord Server.
If you want to play, go to https://ut4.timiimit.com/
There is not much documentation on how to get started. I will create issues that need resolving as time goes on, but there are also a bunch of // TODO
comments which tell what is still missing.
- .NET desktop development
- Container development tools
- Install Docker
- Install Visual Studio 2022
- Open
UT4MasterServer.sln
with Visual Studio 2022 - Set
docker-compose
as the Startup Project - Start Debugging
To run in development mode use docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d
inside repository's root.
- Use
Files/Engine.ini
in this repository as a template - Replace all occurrences of
<PUT_MASTER_SERVER_DOMAIN_HERE>
with the domain of master server you want to connect to - Copy the content and append all of it to your local
Engine.ini
file- Windows path:
C:\Users\<your_username>\Documents\UnrealTournament\Saved\Config\WindowsNoEditor
- Linux path:
/home/<your_username>/UnrealTournament/Saved/Config/LinuxNoEditor
- Windows path:
Follow steps 1 through 3 from section How to make UT4 connect to new master server?
but instead append to Engine.ini
located in server's directory.
- Windows Server Path:
<install_location>\UnrealTournament\Saved\Config\WindowsServer
- Linux Server Path:
<install_location>/UnrealTournament/Saved/Config/LinuxServer
Use POST account/api/create/account
endpoint with body parameters username=<username>&password=<password>
.
You have 2 options. There is an easy way which is less secure and harder way which is more secure.
-
Easy way (generally recommended)
- Add
UnrealTournament
parameter to your UT4 shortcut: Example:
"D:\Epic Games\UnrealTournament\Engine\Binaries\Win64\UE4-Win64-Shipping.exe" UnrealTournament
- After starting game, you should see login window. Enter your credentials and you should be able to play.
- Add
-
Hard way
- Get
access_token
fromPOST account/api/oauth/token
withgrant_type: password
GET account/api/oauth/exchange
with Bearer authorization (access_token
fromPOST account/api/oauth/token
)- Add parameters to your UT4 shortcut and replace
your_password_code
withcode
fromGET account/api/oauth/exchange
:
"D:\Epic Games\UnrealTournament\Engine\Binaries\Win64\UE4-Win64-Shipping.exe" UnrealTournament -AUTH_LOGIN=unused -AUTH_PASSWORD=your_password_code -AUTH_TYPE=exchangecode
NOTE: You need to repeat point b and c if you want to login again.
- Get
It is not possible to do this without editing the client. UT4UU will try to address this in the future.
A workaround would be for the admin of master server to issue you a self-signed certificate. You can then install this certificate so that it is trusted by your machine. Finally, you can add an entry into your hosts
file and redirect datarouter.ol.epicgames.com
to master server's domain.