With the newest GT3 cars and some still existing issues with the skin syncing process I am facing a problem for our league. We want to create "a" league mod to eliminate possible issues and make skins "preloadable" via the workshop. For our league it means that we have to click through the single component for each single car update S397 releases. If there would be a filled IMSA league this could mean 1 LMP, 5 GTE, 13 GT3 == 19 Times clicking through the process. Since I am a software engineer myself and the GUI for the .rfcmp creation is not much more than text inputs, I would like to see a tool which is controllable via a CLI. The "ModMgr.exe" can only modify MAS files as far as I can tell and it would be nice to ease the process of a league mod creation. My idea is to do it somewhat the same way as the rfmod creation works: load a ".dat" (or however you want to call it) with the informations and then create the rfcmp file. As far as I can tell the informations to give would be: Package name Version Ugrade from Minimum Build a list of MAS files It would be nice to get feedback from any developer and if such a tool is not going to be created I would like to know why. EDIT: Since I am now trying to get the icons for the new UI working I am also facing the issue that with it activated I am unable to package, install and uninstall the rfcmp file with the "Create Single Component" GUI.| EDIT2(IMPORTANT NOTE): The cmppack.exe is NOT working for official car skinpacks since it cannot handle the "BaseVersion" (in the MAS Utility GUI it is called "Update from")
That's the MAS Utility not the ModMgr and this is the exact problem. The problem is that the current workflow needs you to manually click and type through the process. Which would be necessary every time any car which receives a patch or a skin is updated. If there is a BOP update the worst case would be to go through this process 13 Times (every GT3). That's the reason I want to be able to run a script to generate the updated .rfcmp file.
To find the `ModMgr.exe` which is not helping and a broken link to the tool I want? More importantly it would be nice to have official tooling. Mostly to ensure that there is an instant update if the rfcmp format ever changes. IMPORTANT NOTE: The cmppack.exe is NOT working for official car skinpacks since it cannot handle a "BaseVersion" (in the MAS Utility GUI it is called "Update from")
I'm sorry but nobody will answer this, unfortunately it is not necessary, we all use the current system and nobody complains, so I doubt that they will receive the answer they want.
Here's the output from a call to "ModMgr.exe -h": The "-b" option lets you build a rfcmp from a .dat file. A .dat file can have multiple entries, that is sections starting with " [Package]" or "[Component]", and thats what the "index" is for. You might have a file called "pkginfo.dat" in your "%appdata%" directory which can be used as reference, an easy way to access that directory is to type "explorer %appdata%" at the command line. For some reason the "-b" option has been left out in the documentation("Support/CLI.txt"). Welcome to rFracture 2!
I have seen this option but it did not seem to work. My created .dat file is: Code: [Component] Name=Ferrari_488_GT3_2020 Type=2 Version=1.21_DAR_0.2 BaseVersion=61d0f9965a3db062a07a92196aa94704bdea2d78ad5ae73953981e2378389e6f MinVersion= Author=Mod Team Date=132245047195920000 ID=AAA9999 URL=www.YourModSite.com Desc=Your new mod. Category=3 Origin=0 Flags=0 CurLocation=0 NumLocations=1 Location=C:\ModMgrTest\Ferrari_488_GT3_2020_1.21_DAR_0.2.rfcmp NumMASFiles=1 MASFile=C:\ModMgrTest\F488_TEAMS.mas rFmFile= IconFile= SmallIconFile= I am running it with: Code: Bin32/ModMgr.exe -b"C:\ModMgrTest\pkginfo.dat" 0 It is creating the rfcmp but it is not setting the "BaseSignature" in the .mft file which makes it not suitable for official cars. It does not matter if I set the BaseVersion to the version number or the resulting BaseSignature. When trying to edit in the BaseSignature manually by modifying the rfcmp with an hex editor, the resulting .mft file after an extraction is cut off (only showing "MASFile=F48"). EDIT: I tried to add a placeholder mas file to the rfcmp and then replacing it with spaces and not having anything useful cut off. The extract worked and the .mft is good but the launcher gives a verification error on installing the component. If I just add the BaseSignature without any other workarounds it causes the rF2 Launcher to crash immediately.
A few days ago i saw your thread. I already had managed to do the .mas packing progress with a batch file. Now inspired by your thread i tried to pack the .rfcmp files via a batch and it worked like a charm, also with the S397 cars and the update function for league skins. I don't know where your problem is. This is my cmpinfo.dat Code: [Component] Name=AstonMartin_Vantage_GT3_2019 Type=2 Version=rFLN201 BaseVersion=1.74 MinVersion= Author= Date=0 ID= URL= Desc= Category=0 Origin=0 Flags=1 CurLocation=0 NumLocations=1 Location=F:\.....\.....\rFLN Saison III\Workshop\Content\rF2LN_K1_AstonMartin_Vantage_GT3_2019_Teams.rfcmp NumMASFiles=1 MASFile=F:\.....\.....\rFLN Saison III\Workshop\Mas Files\rF2LN_K1_AstonMartin_Vantage_GT3_2019\rF2LN_K1_AstonMartin_Vantage_GT3_2019_Teams.mas rFmFile= IconFile= SmallIconFile=
Happy i could help and happy that you inspired me to test the batch packing. Saves at least some time
I'm currently stuck with the message "Error creating package file.", even with your mentioned example dat contents. Did you add something except the mentioned commandline? Thanks!
I've just your example and commandline, just with different paths and another MAS file, of course. Short context: The .dat files I've used before for testing are part of my orchestration toolkit, but I have to invoke the package/ mod building currently using the GUI of MAS2, which is flaky and not robust. But if not interrupted, this process works. Thats confusing me a bit, help would be greatly appreciated. This would improve that build process a lot, I guess.
Ok i just asked because i had a similar issue. I tried to execute the batch from another directory than the root and that gave me this error message too. This is how i call the modmgr.exe Code: pushd D:\Steam\steamapps\common\rFactor 2 DX11 Bin32\ModMgr.exe -b"D:\Steam\steamapps\common\rFactor 2 DX11\ModDev\cmpinfo.dat" 0 pause
This is partially working for me. It works for me for [Components] but if I go to build a [Package] it fails with the same message - "Error creating package file." Has anyone got this working with Packages? I change the directory to the rFactor 2 directory, and run the below command, but get the above error. Any help is appreciated, cheers! Bin64\ModMgr.exe -b"D:\pkginfo.dat" My pkginfo.dat is a direct copy and paste of a package I created through MAS Utility (GUI), which had the desired tracks and cars in it. Straight after I copied the pkginfo.dat, uninstalled the Mod and deleted it using ModMgr, and attempted to recreate from the command line. But the error occurs.
Does it work if you execute it with an additional "0" at the end of the command? Code: Bin64\ModMgr.exe -b"D:\pkginfo.dat" 0
for my tests, I always had do overwrite the current working directory aswell. Use -c"path" as first flag. in case you are using paid content, make sure your server keys are present.
Oh, big apologies, I have indeed been running it with a 0 at the end. Sorry for misrepresenting my code earlier. Eagle-eyed pickup there, but yes I have been doing that, sorry... Bin64\ModMgr.exe -b"D:\pkginfo.dat" 0 In relation to the -c"path", I'll give it a go. I have been in the practice of setting the command line directory (CD C:\etc....) as a separate upfront line in the batch file, which I assumed was doing the same thing. But never assume! I will try as you suggested and advise. Thank you.
It is working for me with the following .dat file: Code: [Package] Name=Test Series Type=0 Version=1.0 BaseVersion= MinVersion= Author=Mod Team Date=132570058370670000 ID=AAA9999 URL=www.YourModSite.com Desc=Your new mod. Category=0 Origin=0 Flags=0 CurLocation=0 NumLocations=1 Location=D:\rf2test\generated\\Test_Series_v1.0.rfmod CurRFM=0 NumRFM=1 RFM=D:\rf2test\Test_Series.mas NumTrackFiles=1 Track="Virginia18_2018 v1.03,0" "VIR Full Course,1" "VIR Grand Course,0" "VIR North Course,0" "VIR Patriot Course,0" "VIR South Course,0" NumVehicleFiles=10 Vehicle="AstonMartin_Vantage_GTE_2019 v1.65,0" "Aston Martin Vantage GTE #05,1" "Aston Martin Vantage GTE #07,0" "Aston Martin Vantage GTE #28,0" "Aston Martin Vantage GTE #29,0" "Aston Martin Vantage GTE #54,0" "Aston Martin Vantage GTE #55,1" "Aston Martin Vantage GTE #67,0" "Aston Martin Vantage GTE #95,0" "Aston Martin Vantage GTE #97,0" "Aston Martin Vantage GTE #98,0" Vehicle="BMW_M8_GTE_2018 v2.19,0" "BMW M8 GTE #01,1" "BMW M8 GTE #18,0" "BMW M8 GTE #24,0" "BMW M8 GTE #25,0" "BMW M8 GTE #27,0" "BMW M8 GTE #33,1" "BMW M8 GTE #52,0" "BMW M8 GTE #72,0" "BMW M8 GTE #77,0" "BMW M8 GTE #96,0" "BMW M8 GTE #99,0" Vehicle="Cadillac_DPi_2020 v1.01,0" "Cadillac DPi #01,1" "Cadillac DPi #05,0" "Cadillac DPi #06,0" "Cadillac DPi #08,1" "Cadillac DPi #15,0" "Cadillac DPi #33,1" "Cadillac DPi #85,1" Vehicle="Corvette_C8R_GTE_2020 v1.07,0" "Corvette C8.R GTE #03,1" "Corvette C8.R GTE #04,0" "Corvette C8.R GTE #20,0" "Corvette C8.R GTE #21,0" "Corvette C8.R GTE #22,1" "Corvette C8.R GTE #23,0" Vehicle="Ferrari_488_GTE_2020 v1.91,0" "Ferrari 488 GTE #51,1" "Ferrari 488 GTE #52,0" "Ferrari 488 GTE #54,0" "Ferrari 488 GTE #64,0" "Ferrari 488 GTE #65,0" "Ferrari 488 GTE #66,0" "Ferrari 488 GTE #67,1" "Ferrari 488 GTE #71,0" Vehicle="Ligier_JSP217_2020 v1.05,0" "Ligier JS P217 #23,0" "Ligier JS P217 #32,0" "Ligier JS P217 #34,1" "Ligier JS P217 #35,0" "Ligier JS P217 #39,0" "Ligier JS P217 #50,1" Vehicle="Norma_M30-LMP3_2017 v1.79,0" "Norma M30 LMP3 #02,1" "Norma M30 LMP3 #07,1" "Norma M30 LMP3 #10,1" "Norma M30 LMP3 #21,1" "Norma M30 LMP3 #53,1" Vehicle="Oreca_07_LMP2_2017 v2.19,0" "Oreca 07 #01,1" "Oreca 07 #02,0" "Oreca 07 #03,1" "Oreca 07 #04,0" "Oreca 07 #07,0" "Oreca 07 #08,0" "Oreca 07 #09,0" "Oreca 07 #10,0" "Oreca 07 #12,0" "Oreca 07 #13,0" "Oreca 07 #14,0" "Oreca 07 #15,0" "Oreca 07 #16,0" "Oreca 07 #17,0" "Oreca 07 #18,0" "Oreca 07 #20,0" "Oreca 07 #21,0" "Oreca 07 #22,0" "Oreca 07 #23,0" "Oreca 07 #24,0" "Oreca 07 #30,0" "Oreca 07 #31,0" "Oreca 07 #33,0" "Oreca 07 #36,0" "Oreca 07 #37,0" "Oreca 07 #38,0" "Oreca 07 #42,0" "Oreca 07 #46,0" "Oreca 07 #50,0" "Oreca 07 #54,0" "Oreca 07 #85,0" "Oreca 07 #99,0" Vehicle="Porsche_991RSR_GTE_2017 v2.55,0" "Porsche 991RSR GTE #36,0" "Porsche 991RSR GTE #52,0" "Porsche 991RSR GTE #57,1" "Porsche 991RSR GTE #78,1" "Porsche 991RSR GTE #86,0" "Porsche 991RSR GTE #88,0" "Porsche 991RSR GTE #88a,0" "Porsche 991RSR GTE #91,0" "Porsche 991RSR GTE #911,0" "Porsche 991RSR GTE #912,0" "Porsche 991RSR GTE #92,0" "Porsche 991RSR GTE #93,0" "Porsche 991RSR GTE #94,0" NumOtherFiles=0 rFmFile=D:\rf2test\default.rfm IconFile=D:\rf2test\icon.dds SmallIconFile=D:\rf2test\smicon.dds My folder structure is the following: And I am executing: As allways with rF2 it is important to check all the fields and to have every referenced component (car/track) installed. I got a failure when trying to create the mod package for the old GT3 versions which I don't have installed anymore. If all this does not help it would be good if you could provide your specific .dat file.