• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

KF [Utility] De-serverpackage listing

Marco

Grizzled Veteran
May 23, 2009
644
230
Finland
Mod name
Network package reducer​

Description
This mod will remove a bunch of stock Texture/StaticMesh/Animation/Sound packages from PackageMap (in same manner as they were marked as 'ServerSideOnly') that are not relevant to gameplay but just merely level decorations. Doing this will prevent server from replicating direct references of objects from those packages to client.
PackageMap include list of packages you have specified in ServerPackages (defined in KillingFloor.ini), maps and the packages they use, mutators and the packages they use.

The problem: UnrealEngine 1 & 2 has a flaw in network codes where it will prevent anyone from joining your server once the PackageMap list size exceeds ~500 packages.
The solution: Either beg Tripwire to actually fix the root of the issues or remove extra packages of PackageMap.
Average KF map alone with stock game mode active will take up ~300 packages (special thanks to TW for creating separate packages for like everything).

I created this mod by abusing flaws of UnrealScript to modify parts of the game memory Epic never intended you to access (using Unreal C++ headers, custom UScript compiler and some memory scanning to find correct offsets for pointers).
So in the end using this I was able to reduce amount of packages in PackageMap by around 150-200 packages (for stock maps). That means if you have problems with this limit on your server at the current situation, this tool will allow you use around 100+ more custom packages.​

Useage
Download and unzip NetReduce.u to server KillingFloor/System folder, edit KillingFloor.ini and add line (under [Engine.GameEngine]):
ServerActors=NetReduce.NetReduce

Download
In theory this mod should reduce loading/lag spike whenever a client connects to the server.
Please do tell me if you spot any problems while having this mod active (missing FX/sounds/textures) as that may be a result of me unlisting some package/s I shouldn't had.
 
Wow! Sounds awesome.

But if I understood it correctly, removing package from PackageMap makes it unable to replicate any objects from that package?

For example, the code below won't work, if KillingFloorHUD.utx is removed from PackageMap. Or am I wrong?
Code:
var texture MyTexture;

replication
{
    reliable if ( Role == ROLE_Authority )
        MyTexture;
}

function SomeServerFunction()
{
    MyTexture = Texture'KillingFloorHUD.Achievements.Achievement_0';
}
 
Last edited:
Upvote 0
Thx

Thx

Spoiler!
Wow, That's mut to my ears. Thank u so much~
 
Upvote 0