Navigation
API > API/Plugins > API/Plugins/OodleNetworkHandlerComponent
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
| Name | UOodleNetworkTrainerCommandlet |
| Type | class |
| Header File | /Engine/Plugins/Compression/OodleNetwork/Source/Classes/OodleNetworkTrainerCommandlet.h |
| Include Path | #include "OodleNetworkTrainerCommandlet.h" |
Syntax
UCLASS (Config=Editor)
class UOodleNetworkTrainerCommandlet : public UCommandlet
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UCommandlet → UOodleNetworkTrainerCommandlet
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UOodleNetworkTrainerCommandlet
(
const FObjectInitializer& ObjectInitializer |
UOodleNetworkTrainerCommandlet | OodleNetworkTrainerCommandlet.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bCompressionTest | bool | Whether or not compression testing should be performed after dictionary generation (uses up some of the packets) | OodleNetworkTrainerCommandlet.h |
|
| bNoTrials | bool | Whether or not random-trials have been disabled | OodleNetworkTrainerCommandlet.h |
|
| bWriteV5Dictionaries | bool | Whether or not to write oodle version 5 dictionaries for back compat | OodleNetworkTrainerCommandlet.h |
|
| DictionarySize | int32 | Size of the dictionary to be generated | OodleNetworkTrainerCommandlet.h |
|
| DictionaryTrials | int32 | The number of random packet-selection trials to run, when generating the dictionary, to try and optimize the dictionary | OodleNetworkTrainerCommandlet.h |
|
| HashTableSize | int32 | Size of the hash table to use for the dictionary | OodleNetworkTrainerCommandlet.h |
|
| TrialGenerations | int32 | The number of generations of random packet-selection trials | OodleNetworkTrainerCommandlet.h |
|
| TrialRandomness | int32 | The randomness, in percent, of random packet-selection trials | OodleNetworkTrainerCommandlet.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool HandleAutoGenerateDictionaries
(
int32 ChangelistNumber |
Handles the 'AutoGenerateDictionaries' command, which is used to automatically detect packet captures and produce dictionaries | OodleNetworkTrainerCommandlet.h | |
bool HandleDebugDumpPackets
(
FString OutputDirectory, |
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 | OodleNetworkTrainerCommandlet.h | |
bool HandleMergePackets
(
FString OutputCapFile, |
Handles the 'MergePackets' command, which is used to merge multiple packet capture files | OodleNetworkTrainerCommandlet.h |
Overridden from UCommandlet
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual int32 Main
(
const FString& Params |
OodleNetworkTrainerCommandlet.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Converts a list of capture files to merge, into a map of file archives vs file names (doing all necessary verification etc.) NOTE: OutMergeMap FArchive*'s must be deleted by the caller. | OodleNetworkTrainerCommandlet.h | ||
static bool HandleEnable() |
Handles the 'enable' command, which enables the Oodle packet handler component | OodleNetworkTrainerCommandlet.h | |
static bool VerifyOutputFile
(
FString OutputFile |
Checks that the output file does not already exist, and prompts for an overwrite, if it does | OodleNetworkTrainerCommandlet.h |