| UObjectBase
|
Module |
|
Header |
/Engine/Plugins/Compression/OodleNetwork/Source/Classes/OodleNetworkTrainerCommandlet.h |
Include |
#include "OodleNetworkTrainerCommandlet.h" |
[UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Config=Editor)
class UOodleNetworkTrainerCommandlet : public UCommandlet
Commandlet for processing UE packet captures, through Oodle's training API, for generating compressed state dictionaries.
Primary Commands:
"AutoGenerateDictionaries Changelist":
Iterates every directory recursively within "*Game*\Saved\Oodle\Server", and uses all capture files within each directory, to generate a dictionary stored in "*Game*\Content\Oodle", named "*Game**DirectoryName*.udic".
For example, packet captures in "OrionGame\Saved\Oodle\Server\Input", will be generated into a dictionary stored in "OrionGame\Content\Oodle\OrionGameInput.udic"
Each folder within "*Game*\Content\Oodle", should contain at least 100mb of packet captures.
Changelist is an optional parameter than will only use upac files that contain the changelist in their filenames. If omitted, all files in the directory are used.
Secondary/Testing Commands:
"Enable":
Inserts the Oodle PacketHandler into the games packet handler component list, and initializes Oodle *Engine.ini settings
"MergePackets OutputFile PacketFile1,PacketFile2,PacketFileN":
Takes the specified packet capture files, and merges them into a single packet capture file
"MergePackets OutputFile All Directory":
As above, but merges all capture files in the specified directory.
"GenerateDictionary OutputFile FilenameFilter Changelist PacketFile1,PacketFile2,PacketFileN":
Takes the specified packet capture files, with an optional filter for a substring of a filename and changelist filter (use "all" to ignore either of these filters), and uses them to generate a network compression dictionary
"GenerateDictionary OutputFile FilenameFilter Changelist All Directory":
As above, but uses all capture files in the specified directory, to generate a network compression dictionary
"DebugDump OutputDirectory CaptureDirectory Changelist"
Recursively iterates all .ucap files in CaptureDirectory, and converts them to Oodle-example-code compatible .bin files, in OutputDirectory
Unimplemented commands:
"PacketInfo PacketFile":
Outputs information about the packet file, such as the MB amount of data recorded, per net connection channel, and data types
Only implement, if deciding to actually capture/track this kind of data
Name | Description | ||
---|---|---|---|
|
bCompressionTest |
Whether or not compression testing should be performed after dictionary generation (uses up some of the packets) |
|
|
bNoTrials |
Whether or not random-trials have been disabled |
|
|
DictionarySize |
Size of the dictionary to be generated |
|
|
DictionaryTrials |
The number of random packet-selection trials to run, when generating the dictionary, to try and optimize the dictionary |
|
|
HashTableSize |
Size of the hash table to use for the dictionary |
|
|
TrialGenerations |
The number of generations of random packet-selection trials |
|
|
TrialRandomness |
The randomness, in percent, of random packet-selection trials |
Name | Description | |
---|---|---|
|
UOodleNetworkTrainerCommandlet ( |
Name | Description | ||
---|---|---|---|
|
GetMergeMapFromList |
Converts a list of capture files to merge, into a map of file archives vs file names (doing all necessary verification etc.) |
|
|
HandleAutoGenerateDictionaries ( |
Handles the 'AutoGenerateDictionaries' command, which is used to automatically detect packet captures and produce dictionaries |
|
|
HandleDebugDumpPackets |
Handles the 'DebugDump' command, which is used to take a directory of .ucap files, and output a directory of Oodle-example-code compatible .bin files, in SourceDirectory |
|
|
HandleEnable() |
Handles the 'enable' command, which enables the Oodle packet handler component |
|
|
HandleMergePackets |
Handles the 'MergePackets' command, which is used to merge multiple packet capture files |
|
|
VerifyOutputFile ( |
Checks that the output file does not already exist, and prompts for an overwrite, if it does |