![]() |
![]() |
|
#1
|
||||
|
||||
|
Nothing to do with GetPlayerClass in the end. Was to do with script trying to reference sounds in non cooked packages.
Last edited by LordGleedo; 05-19-2012 at 06:32 PM. |
|
#2
|
||||
|
||||
|
Still utterly stuck on this.
The following was suggested: "Have you tried overriding the existing pawn class arrays and leaving out GetPlayerClass?" But that is essentially was GetPlayerClass is doing for me to get my custom pawn classes loaded into those arrays. I need to know why this is not working online. If I can't load my custom pawn classes, I am totally screwed. |
|
|
|||
|
|||
|
You'll need to give it a try without using GetPlayerClass. We don't have a documented method for this, so some experimenting is necessary and the more information the better.
|
|
#4
|
||||
|
||||
|
10+ hours spent on this issue and i'm still none the wiser.
I do not understand how why this works perfectly until it's run on a server
|
|
#5
|
||||
|
||||
|
OK, so after a lot of debugging I seem to have found the issue:
I believe the whole issue I was facing was just down to trying to run my game online with uncooked packages, specifically my support package TOGAFreezeTagContents.upk. I tracked down the problem to a call in my pawn include class that tried to 'PlaySound' using a cue from that package, but I think it fails to load that due to being uncooked. That sound cue was in my pawns 'default properties' so when the class was getting loaded via the GetPlayerClass function, that sound cue would fail to load and then stop everything else from working. At least that is what seems to be happening. So now I am trying work out what command line options I need to run to create cooked packages for the game 'TOGAFreezeTag.u' and it's support file 'TOGAFreezeTagContents.upk' for both server and client, but I am having trouble working out what commandlet options I need to use. I have tried a couple of things, and the game actually does now load up online which is great, but the log shows that the sound files and materials are still not getting loaded. [0093.03] Warning: Warning, Failed to load Outer for resource 'TouchCarcass_Cue': Package TOGAFreezeTagContent.AUD [0093.03] Warning: Warning, Failed to load Outer for resource 'freeze_Cue': Package TOGAFreezeTagContent.AUD [0093.03] Warning: Warning, Failed to load Outer for resource 'icecrack_Cue': Package TOGAFreezeTagContent.AUD So I presume I am cooking them incorrectly. So I am looking at the UDN documentation on cooking packages via the commandlet. Do I need to cook for PC and PC server? The following is what I am trying PC Code:
rogame.exe CookPackages TOGAFreezeTag.u -platform=pc Code:
CookedPC\Script\TOGAFreezeTag.u CookedPC\Script\TOGAFreezeTag_SF.u CookedPC\Custom\TOGAFreezeTagContent.upk PC Server Code:
rogame.exe CookPackages TOGAFreezeTag.u -platform=pcserver Code:
CookedPCServer\TOGAFreezeTag_SF.u CookedPCServer\TOGAFreezeTagContent.upk I presume the files output from cooking for PC are what would go on a redirect? Though I have never seen a file ending _SF.u before, is that correct? And I think the cookedpcserver TOGAFreezeTag_SF.u file would probably have to be renamed to TOGAFreezeTag.u when going on the server? Finding this all a bit confusing tbh ![]() Any guidance in what / how I should be cooking packages would be appreciated
|
|
|
|||
|
|||
|
Quote:
Where have you added TOGAFreezeTag to the configs? Is that the same warning log you get running uncooked? Does the message happen if you don't reference those script classes or when trying to spawn that actor? |
|
#7
|
||||
|
||||
|
Well I have an ROTOGAFreezeTag.ini which I uploaded to the servers config folder.
I then also added the following to ROGame.ini to get the game to show up in webadmin: Code:
[FTGameInfoFreezeTag UIGameInfoSummary] ClassName=TOGAFreezeTag.FTGameInfoFreezeTag GameAcronym=FT MapPrefix=FF bIsTeamGame=True GameName=RO2 FreezeTag Description=FreezeTag is better than TDM )I do not get any warnings or errors running unpublished in offline mode Quote:
[/QUOTE] |
|
|
|||
|
|||
|
Hmm... I can see about getting an answer from one of the mod teams, but here are a couple things you might try until then.
1) How the class is loading. What happens if you try spawn instead of DynamicLoadObject? 2) Can you reference those sounds from other classes in your game? 3) Can you reference RO sounds from that class? 4) Can you load the audio manually? (see ROWeapon.LoadOwnedContent()) |
|
#9
|
||||
|
||||
|
Right now I am just trying to get this online with the latest patch version of the game/sdk.
Before, the game would physically load and webadmin would report it is running regardless of if the game actually worked or not. But at the moment, the server will not load the game. The log reports: Code:
[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' When I cook, it creates TOGAFreezeTag_SF.upk but that aint getting loaded. EDIT: In fact I just uploaded the uncooked version of the game class TOGAFreezeTag.u to the server and the server loads it ok, but the sounds and materials are still not getting loaded from TOGAFreezeTagContent.u. The server log reports: Code:
[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 Code:
[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.' How do you guys cook your packages? Last edited by LordGleedo; 05-28-2012 at 02:50 PM. |
|
#10
|
||||
|
||||
|
Forgive me if some of the points this are a bit short or cryptic, it's 2am here, so I'll answer any questions/clarify points here tomorrow.
Cooked content seems to work a lot more reliably at the moment, so for now lets focus on getting the cook correct, so don't try putting uncooked content on the server. 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. |
|
#11
|
|||||||
|
|||||||
|
Hello boristsr - firstly thank you very much for spending time trying to help me solve this issue
![]() My uncooked packages/file sizes are: TOGAFreezeTag.u (10 MB) TOGAFreezeTagContent.upk (5.4 MB) Quote:
Quote:
Quote:
Quote:
Server Files Created TOGAFreezeTag_SF.upk (15 MB) TOGAFreezeTagContent.upk (3 KB) TOGAFreezeTagContent_SF.upk (5.4 MB) Client Files TOGAFreezeTag.u (9.7 MB) TOGAFreezeTag_SF.u (55 MB!) TOGAFreezeTagContent.upk (1.5 MB) TOGAFreezeTagContent_SF.upk (557KB) Quote:
Quote:
Quote:
OK, so I have just uploaded the server files to ROGame\CookedPCServer and started my server. I logged into webadmin and change map/gametype. The game class fails to load and reverts back to Fire Fight. Code:
[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' Puzzled? lol
|
|
#12
|
||||
|
||||
|
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.co...ad.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. Last edited by boristsr; 05-29-2012 at 09:18 PM. |
|
#13
|
||||
|
||||
|
Quote:
Code:
C:\Users\Gleedo\Documents\My Games\RedOrchestra2\ROGame\Unpublished\CookedPC\Maps It cooked the client: Code:
Published\CookedPC\Maps\FF-FirefightMap.roe Published\CookedPC\Script\TOGAFreezeTag.u Published\CookedPC\Custom\TOGAFreezeTagContent.upk Code:
[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 It then continued to cook the server files: Code:
Published\CookedPCServer\FF-FirefightMap.upk Published\CookedPCServer\TOGAFreezeTagContent.upk Output from that console was: Code:
[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 Thanks again
Last edited by LordGleedo; 05-30-2012 at 02:40 PM. |
|
#14
|
||||
|
||||
|
Would someone at TWI be able to take my source code and compile/cook this for me to see if it makes any difference? Do I need something changing in a config file perhaps??
The shader cache issue previously reported is fixed if you are play testing offline/unpublished, but is still an issue on the server for me
Last edited by LordGleedo; 06-05-2012 at 04:18 AM. |
|
#15
|
||||
|
||||
|
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
|
|
#16
|
||||
|
||||
|
Quote:
Sorry about the long response, been a little short on time recently. If I get time this weekend I'll try and knock up a small game info example with custom pawn and cook scripts. |
|
#17
|
||||
|
||||
|
Quote:
I do call SetGameType in my game info class: Code:
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);
}
|
|
|
|||
|
|||
|
Quote:
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|