Comment

Yeah community is involved into the development as of the Engine. But Only epic have the rights todo an release for example. The last statment from epic was. That they wanted to rewrite the core of UT. But thats now an long time ago. And in this time Paragon died. And no one knows what will happen with UT

Comment

Yeah community is involved into the development as of the Engine. But Only Epic have the rights to do a release for example. The last statement from Epic was. That they wanted to rewrite the core of UT. But that's now an long time ago. And in this time Paragon died. And no one knows what will happen with UT

Ido.

The community will do all the work, Epic games will take all the credit.

Comment

This branch will probably move to 4.20 at some point (and higher if time can be found for further development), so it's not much of an issue if there is a stuttering bug in 4.19.

Have not received a response from Epic regarding the pull request on Github, they'll probably make an announcement when they're ready. The intent here is just to investigate patch development from a technical standpoint, not really interested in getting involved in legal/political aspects.

Update:

-Continuing to work on map packaging -- have gotten it to produce .pak files but currently its including a lot of unneeded files.

-Need to take some time to look into engine customizations / UE4 automation to get this working correctly;

-It is necessary to modify this file to implement UT4 mod packaging; seems to limit which files are included in the .pak, and changes the directory where files are cooked/staged.

-Search for 'PLK'; it marks some, but not all of the changes needed.

Engine/Source/Runtime/PakFile/Private/IPlatformFilePak.cpp

-Might need to modify this file in order to prevent custom .pak files from overriding the default UT4 files.

Engine/Source/Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h

-Removes UKismetSystemLibrary::LaunchURL() for security reasons.

Engine/Source/Runtime/Core/Private/Misc/Paths.cpp

-Changes the default user directory to /Users/Documents

Engine/Source/Runtime/Engine/Classes/Engine/Scene.h

-Modifies the default post processing settings; this is likely the cause for the lens flare/camera effect in the earlier video.

Notes on packaging:

-In order to perform packaging with the 'share' button in the editor, it is necessary to build UnrealPak.
-It can be found in UE4.sln -> Programs -> UnrealPak.

-When attempting to share a map, it fails with the error message:

LogPackageName: Error: DoesPackageExist: DoesPackageExist FAILED: 'None' is not a standard unreal filename or a long path name. Reason: Path should start with a '/'

-This occurs when when trying to cook Bot data(UTBotCharacter) since the UTCharacterContent and maybe some other files are missing.
-One way to resolve this issue is to remove UnrealTournament/Content/RestrictedAssets/Character/Bots.
-Some of the things that seem to be missing from the public UT editor/source distribution include:

Comment

This shows a lot of dedication, but I think you already know that there's no way a PR of this scope would ever be merged. There isn't anyone on this project, and even merging it would be a significant effort, for several people at that.

It'd be nice if people would dedicate this kind of effort towards an Open Tournament project instead of throwing it away. Particularly on the engineering side there's plenty of talent around. The art would suck for awhile, but some of the starter assets & marketplace content is entirely sufficient for early prototyping.

Comment

Just working on this to see what's possible, so personally it's not an issue if the pull request is not merged or even looked at.
Not really interested in working on Open Tournament or other projects.

Update:

-Client packaging is working
-Server packaging is working (but the server currently crashes on startup)
-Map packaging/'share' button is fixed, and the generated .pak can be loaded in the client

Aside from migrating to 4.20+, there is not much to write beyond this point, mostly fixing crashes and other bugs.
Probably going to wait for the last 4.20.x release (4.20.2 or 4.20.3) before looking into upgrading the engine further.

Packaging UT4 client/server:
Here are commands that can be used to package the client and server build on Windows; it might take several hours for it to run. PackageUT4Client.bat is basically running the same command as the public UE4.19.2 binary distribution that can be downloaded from the Epic Games Launcher (File -> Package Project -> Windows -> Windows(64-bit)). PackageUT4Server.bat is a slightly modified version of PackageUT4Client.bat.

UAT_PATH and UPROJECT_PATH need to be set correctly, while ARCHIVE_PATH and LOG_PATH can be set anywhere. Note also the forwards/backwards slash difference; Windows uses '\' while UE4 uses '/'. The command prompt closes automatically after the packaging succeeds or fails, so the >> at the end is used to redirect the command line output to LOG_PATH.

As configured, it assumes that UE4 is installed at C:\UE4 (this is where GenerateProjectFiles.bat should be), and packages binaries from Win64 'Development Client' / 'Development Server' in VS2017. Additionally, the packaging command should also be run from C:\UE4. The BuildCookRun command should build the binaries if they do not exist, but might want to make sure that it compiles before packaging.

As mentioned in the previous post,

UnrealTournament/Content/RestrictedAssets/Character/Bots

needs to be removed in order to get the cook stage working as these files have references to missing data.

Please do not upload custom builds to the internet as it is against the UT EULA, and could result in the UT repository being removed from Github.

Packaging a map with the 4.19.2 branch:
Current procedure to get a map packaged on Windows is:

1) Remove UnrealTournament/Content/RestrictedAssets/Character/Bots (alternatively, could also update these files and fix the references to UTCharacterContent, etc.)
2) Build UE4.sln -> Programs -> UnrealPak
3) Package the Client to get AssetRegistry.bin (run PackageUT4Client.bat; AssetRegistry.bin should be about 5MB)
4) Move AssetRegistry.bin to .../UnrealTournament/Releases/UTVersion0/WindowsNoEditor/AssetRegistry.bin (overwrite)
5) Use the 'share' button to start the packaging

Important: 'Share' button automatically copies the .pak to user dir (/Documents/UnrealTournament/Saved/Paks/MyContent); this is the same as 3525360 so make sure to remove the newly generated .pak. Otherwise, will probably get a 'Cannot load custom content' error when starting the official UT4 client.
If using PackageUT4Client.bat above, the .pak should be moved to:

C:\UT4Client\WindowsNoEditor\UnrealTournament\Content\Paks.

AssetRegistry.bin contains a list of the files in the main .pak, and is used to determine if a file should be included when cooking DLC(such as a map). However, using the AssetRegistry included with 3525360 or clean-master does not work (in testing, it adds an excess ~10000 files / ~1GB to the .pak). This might be since the format has changed, or since the version is incorrect (this branch currently sets the engine version to 0 instead of 3525360+). As a result, we need to use an updated AssetRegistry.bin to get the map packaging working.

Running PackageUT4Client.bat should generate AssetRegistry.bin during the cook step; it should be located at:

Comment

Disclaimer for everything that follows: I'm on an unofficial build of UE4, on an unsupported platform (FreeBSD) :-D
I've been wanting to upgrade UT4 to 4.19 (and now 4.20 myself), but was spending all time I had on my port of UE4.

I've been following your work since your first post and have been doing some work since on upgrading to 4.20.
Last I remember were BP errors and I haven't found the time to fix those yet.
You can see the changes I've made in my github (branch 4.20!), where you'll find an old version of your commits as well.
If I can find the time I'll rebase these on your latest commits, it'll probably make my changes smaller and maybe fix some of my issues as well.

I also made changes for much of the deprecations and automation script changes, although I'm not sure that the latter are all correct.

The project compiles and I was able to run the test level inside the editor, but I can't package due to the BP issues mentioned before.
In the end I was a bit disheartened when I read the license, because my first intent was to redistribute it for FreeBSD users. However, as far as I understand
the license, it would be actually ok if I hosted the cooked files on Github, although I'd have to verify that with Epic staff first though.

If you want to cherry-pick anything, feel free to do so. Don't wait for any confirmation on my part, if it helps UT you can do anything you want with my commits.

Comment

AssetRegistry.bin contains a list of the files in the main .pak, and is used to determine if a file should be included when cooking DLC(such as a map). However, using the AssetRegistry included with 3525360 or clean-master does not work (in testing, it adds an excess ~10000 files / ~1GB to the .pak). This might be since the format has changed, or since the version is incorrect (this branch currently sets the engine version to 0 instead of 3525360+). As a result, we need to use an updated AssetRegistry.bin to get the map packaging working

No, the reason you are having such a large PAK file is because you have changed, probably almost every material in the game, by altering the C++/BP code for some shaders. That will then cause EVERY content to be recompiled (every material, shader, MI, blueprint, every map, etc that uses the altered shader)
And then the funny part of it all, is you choose not to use your own modified assets in your map packaging.

Looking over what you have done is impressive... but as for Epic actually using it to make a new release... I doubt it. In my own experience with them, even if you hand them bug free code, they don't want it unless it looks great and polished (on par with their own maps) See https://github.com/EpicGames/UnrealT...ment-248035634

The other issue I can warn you about is everyone would have to download and install your complete new version for it to work online. (Also that reminds me, in

Code:

UnrealTournament\Engine\Source\Runtime\Launch\Resources\Version.h

you will have to change the ENGINE_VERSION and BUILT_FROM_CHANGELIST macros to a new unique number for network play to work correctly. Otherwise you will have people trying to use the wrong version of content with your version and have all kinds of issues)

Anyhow nice to see someone trying to make this work. I gave up on UT about a year ago due to its a dead pipedream. I understand that Epic is not making any money off it, but I would be more then happy to pay for the game like I did with all the prior UT's, if they would actually do something with it.

Comment

@Mitch_Mitchell
Thanks; tried making a thread on the UE forums. Haven't posted on the UE forums before so the thread might take a while to show up.

@real_malavon
Thanks for your work; will make sure to refer to your branch when upgrading to 4.20. Not too sure about deleting /Engine and /UnrealTournament/Plugins/Online just yet though.

@Snake.Pliskin
Wasn't sure why the AssetRegistry.bin needed to be regenerated, thanks for pointing that out. The motivation to use the old AssetRegistry.bin is that each modification can make the setup more complicated, so trying to keep changes(especially to the content/binary files) to the minimum necessary.

Update:

Managed to get the standalone dedicated server working; did not test it extensively, but it seems to be possible to host a LAN game at least.
Going to spend some time cleaning things up, and then will start to look at upgrading to 4.20.

Comment

Sereau ah, that. Yeah, I wouldn't recommend it I did that because I simply have a different Engine and in my local copy I make a symlink. One of the benefits of not using Windows
The Plugins/Online though seems to be fine, although I may have missed specific modifications for UT.

These deletions are also why it's not a PR, it's not intended to be merged as-is.