Nothing to do with GetPlayerClass in the end. Was to do with script trying to reference sounds in non cooked packages.
Last edited:
But that is essentially was GetPlayerClass is doing for me to get my custom pawn classes loaded into those arrays.
rogame.exe CookPackages TOGAFreezeTag.u -platform=pc
CookedPC\Script\TOGAFreezeTag.u
CookedPC\Script\TOGAFreezeTag_SF.u
CookedPC\Custom\TOGAFreezeTagContent.upk
rogame.exe CookPackages TOGAFreezeTag.u -platform=pcserver
CookedPCServer\TOGAFreezeTag_SF.u
CookedPCServer\TOGAFreezeTagContent.upk
Any guidance in what / how I should be cooking packages would be appreciated
Where have you added TOGAFreezeTag to the configs?
[FTGameInfoFreezeTag UIGameInfoSummary]
ClassName=TOGAFreezeTag.FTGameInfoFreezeTag
GameAcronym=FT
MapPrefix=FF
bIsTeamGame=True
GameName=RO2 FreezeTag
Description=FreezeTag is better than TDM
Is that the same warning log you get running uncooked?
No. If I don't override GetPlayerClass, the game spawns the usual ROPawn player classes and no warnings get written to the server logs.Does the message happen if you don't reference those script classes or when trying to spawn that actor?
[0026.19] Log: LoadMap: FF-Apartments?minplayers=4?maxplayers=12?game=TOGAFreezeTag.FTGameInfoFreezeTag?Name=Player?Team=255
[0026.24] Exit: TcpNetDriver_0 shut down
[0026.42] Warning: Warning, Failed to load 'Class TOGAFreezeTag.FTGameInfoFreezeTag': Failed to find object 'Class TOGAFreezeTag.FTGameInfoFreezeTag'
[0026.43] Warning: Warning, Failed to find object 'Class TOGAFreezeTag.FTGameInfoFreezeTag'
[0202.26] Warning: Warning, Failed to load Outer for resource 'freeze_Cue': Package TOGAFreezeTagContent.AUD
[0202.26] Warning: Warning, Failed to load Outer for resource 'icecrack_Cue': Package TOGAFreezeTagContent.AUD
[0202.36] Warning: Warning, Failed to load Outer for resource 'freeze_Cue': Package TOGAFreezeTagContent.AUD
[0202.36] Warning: Warning, Failed to load Outer for resource 'icecrack_Cue': Package TOGAFreezeTagContent.AUD
[0202.40] Warning: Warning, Failed to load Outer for resource 'freeze_Cue': Package TOGAFreezeTagContent.AUD
[0202.40] Warning: Warning, Failed to load Outer for resource 'icecrack_Cue': Package TOGAFreezeTagContent.AUD
[0035.30] Warning: Warning, Failed to compile Material TOGAFreezeTagContent.Materials.HUD_Indicator_mat for platform PC-D3D-SM3, Default Material will be used in game.
[0035.36] Warning: Warning, Failed to compile Material TOGAFreezeTagContent.Icebergs.Iceberg_blue_mat for platform PC-D3D-SM3, Default Material will be used in game.
[0035.36] Warning: Warning, Failed to compile Material TOGAFreezeTagContent.Icebergs.Iceberg_red_mat for platform PC-D3D-SM3, Default Material will be used in game.
[0039.90] Warning: Warning, Failed to load 'Class None.': Failed to find object 'Class None.'
Delete any/all TOGA related packages from your server directory.
START FRESH
Delete/Rename your Published folder in your client user directory for now, lets start with a fresh plate. I've had a few classes fail to load, and a fresh cook resolved the issue for me.
COMPILING
Silly question, but when you compile do you get any warnings?
COOKING
In regards to the audio package not loading we have found certain audio packages need to be added to the cook command line to properly cook. So try these as your cook commands:
rogame.exe CookPackages -platform=pcserver TOGAFreezeTag.u TOGAFreezeTagContent
rogame.exe CookPackages -platform=pc TOGAFreezeTag.u TOGAFreezeTagContent
Also with cooking don't be alarmed if the server cook produces some strange files. Code packages will become quite large, and some packages might appear to not get cooked at all. Since the server doesn't need a lot of content, just some data about the content, the relevant information gets copied into the code seekfree package. Things like animations and sounds do this. This is one of the reasons for the code package appearing to bloat.
After a server cook file names are changed to .upk, this is normal. Don't rename these packages back to .u or remove _SF.
Whenever you do a cook, ensure that both the PC and PCServer cooks are done or you will get all sorts of mismatch errors.
SHADERCACHE
Since the latest patch, the shader cache only created for about half of the RS team. The rest had to get an initial copy off another member, at which point it started working again. Verify you have LocalShaderCache-PC-D3D-SM3.upk and/or LocalShaderCache-PC-D3D-SM4.upk in <My Docs>\My Games\RedOrchestra2\ROGame\Unpublished\CookedPC.
Have you opened that package in the editor since the update? Does it appear to open correctly there? Can you preview the assets in the editor? Try resaving the package too. ~7 of our packages needed to be resaved to fix up some errors on the new SDK.
LOGGING
Also in your client ROEngine.ini, if you haven't done so, please delete the line that says "Suppress=ScriptLog". Do not delete the line that says "Suppress=Log" as that will cause crashes.
Let me know how you go with this.
[0020.39] Log: LoadMap: FF-Apartments?minplayers=4?maxplayers=12?game=TOGAFreezeTag.FTGameInfoFreezeTag?Name=Player?Team=255
[0020.44] Exit: TcpNetDriver_0 shut down
[0020.63] Warning: Warning, Failed to load 'Class TOGAFreezeTag.FTGameInfoFreezeTag': Failed to find object 'Class TOGAFreezeTag.FTGameInfoFreezeTag'
[0020.63] Warning: Warning, Failed to find object 'Class TOGAFreezeTag.FTGameInfoFreezeTag'
[0020.63] Log: Game class is 'ROGameInfoFirefight'
It's strange that it's not able to load your gameinfo class. Can you post the source of your GameInfo class, or PM me?
**Edit
It might also be worth downloading the example maps from here:
http://forums.tripwireinteractive.com/showthread.php?t=74889
Grab the TE-NeutralSetup map and change the game modes in WorldInfo to your game mode, build and save the map. Then cook with the commands:
rogame.exe CookPackages -platform=pcserver TE-NeutralSetup TOGAFreezeTag.u TOGAFreezeTagContent
rogame.exe CookPackages -platform=pc TE-NeutralSetup TOGAFreezeTag.u TOGAFreezeTagContent
Because I can verify the dedicated server is loading cooked content and RS gametypes, but we always cook with maps too. I'm wondering if it's possible when it's not referenced it gets skipped in the cook.
C:\Users\Gleedo\Documents\My Games\RedOrchestra2\ROGame\Unpublished\CookedPC\Maps
Published\CookedPC\Maps\FF-FirefightMap.roe
Published\CookedPC\Script\TOGAFreezeTag.u
Published\CookedPC\Custom\TOGAFreezeTagContent.upk
[0007.30] Warning, Failed to load 'Texture2D EngineMaterials.RandomMirrorDisc': Failed to find object 'Texture2D EngineMaterials.RandomMirrorDisc'
[0007.34] Cooking with SEPARATE Lighting TextureFileCache...
[0007.35] Cooking with SEPARATE Character TextureFileCache...
[0007.35]
[0008.65] GeneratePersistentMapList> Clearing existing lists
[0008.65] There are 1 levels to process
[0008.65] Loading base level ..\..\ROGame\CookedPC\Maps\FF-FirefightMap.roe
[0008.65] Failed to find supported game type(s) for FF-FirefightMap
[0008.91] Materials will be cleaned up...
[0008.91] StaticMesh materials will be cleaned up...
[0009.22] Cooking TOGAFreezeTagContent
[0009.95] Cooking TOGAFreezeTag
[0013.56] Cooking [Seekfree] FF-FirefightMap
[0013.56] Failed to find supported game type(s) for FF-FirefightMap
[0014.40] Copying shader cache RefShaderCache-PC-D3D-SM3.upk
[0017.76] Copying shader cache RefShaderCache-PC-D3D-SM4.upk
[0022.77]
[0022.77] Warning/Error Summary
[0022.77] ---------------------
[0022.77] Warning, Failed to load 'Texture2D EngineMaterials.RandomMirrorDisc': Failed to find object 'Texture2D EngineMaterials.RandomMirrorDisc'
[0022.77]
[0022.77] Success - 0 error(s), 1 warning(s)
[0022.77]
Execution of commandlet took: 15.42 seconds
Published\CookedPCServer\FF-FirefightMap.upk
Published\CookedPCServer\TOGAFreezeTagContent.upk
[0006.71] Log: Executing Class UnrealEd.CookPackagesCommandlet
[0006.71] Warning, Failed to load 'Texture2D EngineMaterials.RandomMirrorDisc': Failed to find object 'Texture2D EngineMaterials.RandomMirrorDisc'
[0006.75] Cooking with SEPARATE Lighting TextureFileCache...
[0006.75] Cooking with SEPARATE Character TextureFileCache...
[0006.83]
[0008.02] GeneratePersistentMapList> Clearing existing lists
[0008.02] There are 1 levels to process
[0008.02] Loading base level ..\..\ROGame\CookedPC\Maps\FF-FirefightMap.roe
[0008.02] Failed to find supported game type(s) for FF-FirefightMap
[0008.28] Materials will be cleaned up...
[0008.28] StaticMesh materials will be cleaned up...
[0008.54] Cooking TOGAFreezeTagContent
[0008.91] Cooking TOGAFreezeTag
[0011.65] Cooking [Seekfree] FF-FirefightMap
[0011.65] Failed to find supported game type(s) for FF-FirefightMap
[0012.38]
[0012.38] Warning/Error Summary
[0012.38] ---------------------
[0012.38] Warning, Failed to load 'Texture2D EngineMaterials.RandomMirrorDisc': Failed to find object 'Texture2D EngineMaterials.RandomMirrorDisc'
[0012.38]
[0012.38] Success - 0 error(s), 1 warning(s)
[0012.38]
Execution of commandlet took: 5.63 seconds
Although I am still unable to get around the fact that materials and sounds from my TOGAFreezeTagContent package fail to get loaded by the game in a server environment, It seems that in order to play my game type with existing FF maps, they would need to include my game type in their list of supported games prior to those maps being cooked.
Therefore I conclude this appears to have been a massive waste of time
I don't test on RO2 maps often, but I recall having reasonable success on their cooked maps last time I tried. As long as you have SetGameType in your game info class you should be alright.
static event class<GameInfo> SetGameType(string MapName, string Options, string Portal)
{
// Remove the Play In Editor tag from the MapName so we can find the proper gametype when using PIE
ReplaceText(MapName, "UEDPIE", "");
// Determine which GameType this Map is based off its name
if ( Left(MapName, InStr(MapName, "-")) ~= "FF" )
{
return class'FTGameInfoFreezeTag';
}
// If all else fails, let the parent handle it
return super.SetGameType(MapName, Options, Portal);
}
It then continued to cook the server files:
Code:Published\CookedPCServer\FF-FirefightMap.upk Published\CookedPCServer\TOGAFreezeTagContent.upk
but did not cook a server file for TOGAFreezeTag.u despite saying 'cooking TOGAFreezeTag' - at least I could not find that file in my cookedpcserver folder!