How to Upload a mod to Steam Workshop

kantorr

Chieftain
Joined
Mar 1, 2017
Messages
51
The steam workshop uploader from the dev tools crashes as soon as I choose my .modinfo to upload. I have all my modfiles in the same folder as the .modinfo. Not sure what else I need. .modinfo contains the following: (sorry I dont know how to use spoilers)

All of the other 4 files needed for the mod are in the same folder.

<?xml version="1.0" encoding="utf-8"?>
<Mod id="8FE1DC75-2CCA-428A-B1B4-605353DAE06B" version="1">
<Properties>
<Name>LOC_MOD_TITLE</Name>
<Teaser>LOC_MOD_TEASER</Teaser>
<Description>LOC_MOD_DESCRIPTION</Description>
<Authors>LOC_MOD_AUTHORS</Authors>
</Properties>
<Components>
<UpdateDatabase id="TZ_UPDATE_DATABASE">
<Properties>
<RuleSet>RULESET_TZ</RuleSet>
</Properties>
<Items>
<File>TZ_Policies.xml</File>
</Items>
</UpdateDatabase>
<ImportFiles id="TZ_IMPORT">
<Items>
<File>WorldBuilderBordered.lua</File>
</Items>
</ImportFiles>
</Components>
<Settings>
<Map id="TZ_MAP">
<Properties>
<Group>TZ_Maps</Group>
<Name>LOC_TZ_MAP_NAME</Name>
<Description>LOC_TZ_MAP_DESCRIPTION</Description>
</Properties>
<Items>
<File>TZ.Civ6Map</File>
</Items>
</Map>
<Map id="TZ_BORDERS">
<Properties>
<Group>TZ_Maps</Group>
<Name>Blank Bordered Map</Name>
<Description>A bordered map filled with Ocean tiles</Description>
</Properties>
<Items>
<File>WorldBuilderBordered.lua</File>
</Items>
</Map>
<Custom id="TZ_SETTINGS">
<Items>
<File>TZ_Config.xml</File>
</Items>
</Custom>
</Settings>
<LocalizedText>
<Text id="LOC_MOD_TITLE"><en_US>Custom Map</en_US></Text>
<Text id="LOC_MOD_TEASER"><en_US>A simple test.</en_US></Text>
<Text id="LOC_MOD_DESCRIPTION"><en_US>This is a basic test</en_US></Text>
<Text id="LOC_MOD_AUTHORS"><en_US>TZ</en_US></Text>
<Text id="LOC_TZ_MAP_NAME"><en_US>TZ Map</en_US></Text>
<Text id="LOC_TZ_MAP_DESCRIPTION"><en_US>A basic test</en_US></Text>
<Text id="LOC_TZ_BORDERS_NAME"><en_US>TZ Map</en_US></Text>
<Text id="LOC_TZ_BORDERS_DESCRIPTION"><en_US>A basic test</en_US></Text>
</LocalizedText>
<Files>
<File>TZ.Civ6Map</File>
<File>TZ_Config.xml</File>
<File>TZ_Policies.xml</Files>
<File>WorldBuilderBordered.lua</File>
</Files>
</Mod>
 
According to @anansethespider maker of Ananse's BFG Modpack:

It seems to be picky about what .modinfo files it will accept. The exact criteria it uses to determine passability I have absolutely no idea, so your best bet is subscribing to my modpack and just copying the exact order and grammar of my modinfo file. Essentially, I have no idea why anything works....but for whatever reason, the way my modinfo is formatted seems to pass the check.
 
first step is to eliminate all these: LOC_MOD_TITLE, etc.

state the Mod-Author, Mod Title, etc, directly as like this:
Code:
	<Properties>
		<Name>Custom Map</Name>
		<Teaser>A simple test.</Teaser>
		<Description>This is a basic test</Description>
		<Authors>TZ</Authors>
	</Properties>
And eliminate all this:
Code:
	<LocalizedText>
		<Text id="LOC_MOD_TITLE"><en_US>Custom Map</en_US></Text>
		<Text id="LOC_MOD_TEASER"><en_US>A simple test.</en_US></Text>
		<Text id="LOC_MOD_DESCRIPTION"><en_US>This is a basic test</en_US></Text>
		<Text id="LOC_MOD_AUTHORS"><en_US>TZ</en_US></Text>
		<Text id="LOC_TZ_MAP_NAME"><en_US>TZ Map</en_US></Text>
		<Text id="LOC_TZ_MAP_DESCRIPTION"><en_US>A basic test</en_US></Text>
		<Text id="LOC_TZ_BORDERS_NAME"><en_US>TZ Map</en_US></Text>
		<Text id="LOC_TZ_BORDERS_DESCRIPTION"><en_US>A basic test</en_US></Text>
	</LocalizedText>
ModBuddy is not using <LocalizedText> when it spits out a modinfo file, and the only mod I've uploaded to Steam so far I wrote manually and did not use the LOC_THIS plus <LocalizedText> method. I abandoned using that long ago because if more than one mod uses the same LOC_NAME reference within its modinfo file (ie, a whole bunch of mods are using LOC_MOD_TITLE instead of directly stating the mod-name, it is essentially Russian Roulette which of these mod names will be used.
 
I found it best to create what I wanted to say in modbuddy. Plus use the GUID code/identifier from there.

There where so many things that stopped my mods from loading it was getting ridiculous.

No & symbols... they are a no-no... text too long.. name too short... it was all just in the initial bloody wording!
 
first step is to eliminate all these: LOC_MOD_TITLE, etc.

state the Mod-Author, Mod Title, etc, directly as like this:
Code:
    <Properties>
        <Name>Custom Map</Name>
        <Teaser>A simple test.</Teaser>
        <Description>This is a basic test</Description>
        <Authors>TZ</Authors>
    </Properties>
And eliminate all this:
Code:
    <LocalizedText>
        <Text id="LOC_MOD_TITLE"><en_US>Custom Map</en_US></Text>
        <Text id="LOC_MOD_TEASER"><en_US>A simple test.</en_US></Text>
        <Text id="LOC_MOD_DESCRIPTION"><en_US>This is a basic test</en_US></Text>
        <Text id="LOC_MOD_AUTHORS"><en_US>TZ</en_US></Text>
        <Text id="LOC_TZ_MAP_NAME"><en_US>TZ Map</en_US></Text>
        <Text id="LOC_TZ_MAP_DESCRIPTION"><en_US>A basic test</en_US></Text>
        <Text id="LOC_TZ_BORDERS_NAME"><en_US>TZ Map</en_US></Text>
        <Text id="LOC_TZ_BORDERS_DESCRIPTION"><en_US>A basic test</en_US></Text>
    </LocalizedText>
ModBuddy is not using <LocalizedText> when it spits out a modinfo file, and the only mod I've uploaded to Steam so far I wrote manually and did not use the LOC_THIS plus <LocalizedText> method. I abandoned using that long ago because if more than one mod uses the same LOC_NAME reference within its modinfo file (ie, a whole bunch of mods are using LOC_MOD_TITLE instead of directly stating the mod-name, it is essentially Russian Roulette which of these mod names will be used.
YnAMP was uploaded directly with the tool without any change, and the .modinfo use localization :

Spoiler :

Code:
<?xml version="1.0" encoding="utf-8"?>
<Mod id="36e88483-48fe-4545-b85f-bafc50dde315">
  <Properties>
    <Name>LOC_YNAMP_TITLE</Name>
    <Stability>Alpha</Stability>
    <Teaser>LOC_YNAMP_TEASER</Teaser>
    <Description>LOC_YNAMP_DESCRIPTION</Description>
    <Authors>Gedemon</Authors>
  </Properties>
 
    <Settings>
        <Custom id="YNAMP_SETTING">
            <Items>
                <File>Configuration/Config.xml</File>
                <File>Maps/GiantEarth/Config.xml</File>
                <File>Maps/GreatestEarthMap/Config.xml</File>
                <File>Maps/PlayEuropeAgain/Config.xml</File>
                <File>Maps/LargestEarth/Config.xml</File>
            </Items>
        </Custom>
        <LocalizedText id="YNAMP_SETTING_LOC">
            <Items>
                <File>Configuration/ConfigText.xml</File>
                <File>Configuration/ConfigText_zh_Hans_CN.xml</File>
                <File>Configuration/ConfigText_zh_Hant_HK.xml</File>
                <File>Configuration/ConfigText_pt_BR.xml</File>
            </Items>
        </LocalizedText>
    </Settings>  
    <Components>
        <ImportFiles id="YNAMP_IMPORT">
            <Items>
                <File>Maps/GiantEarth/GiantEarth.lua</File>
                <File>Maps/GreatestEarthMap/GreatestEarthMap.lua</File>
                <File>Maps/PlayEuropeAgain/PlayEuropeAgain.lua</File>
                <File>Maps/LargestEarth/LargestEarth.lua</File>
                <File>Override/AssignStartingPlots.lua</File>
                <File>Scripts/YnAMP_Utils.lua</File>
            </Items>
        </ImportFiles>
        <GameplayScripts>
            <Items>
                <File>Scripts/YnAMP_Script.lua</File>
            </Items>
        </GameplayScripts>
        <UserInterface>      
            <Properties>
                <Context>InGame</Context>
            </Properties>
            <Items>
                <File>Scripts/YnAMP_InGame.xml</File>
            </Items>
        </UserInterface>  
        <UpdateDatabase id="YNAMP_DEFAULT_COMPONENT">
            <Items>
                <File>Gameplay/Tables.sql</File>
                <File>Gameplay/GamePlay.sql</File>
                <File>Gameplay/GamePlay.xml</File>
                <File>Maps/GiantEarth/Map.xml</File>
                <File>Maps/GiantEarth/CityMap.xml</File>
                <File>Maps/GreatestEarthMap/Map.xml</File>
                <File>Maps/GreatestEarthMap/CityMap.xml</File>
                <File>Maps/PlayEuropeAgain/Map.xml</File>
                <File>Maps/PlayEuropeAgain/CityMap.xml</File>
                <File>Maps/PlayEuropeAgain/CityMap_Arabia.xml</File>
                <File>Maps/PlayEuropeAgain/CityMap_Greece.xml</File>
                <File>Maps/PlayEuropeAgain/CityMap_Rome.xml</File>
                <File>Maps/LargestEarth/Map.xml</File>
                <File>Maps/LargestEarth/CityMap.xml</File>
                <File>Gameplay/Resource.xml</File>
                <File>Gameplay/CityNameByEra.xml</File>
            </Items>
        </UpdateDatabase>
        <UpdateDatabase id="YNAMP_USER_CUSTOMIZATION">
               <Properties>
                <LoadOrder>10600</LoadOrder>
               </Properties>
            <Items>
                <File>custom.sql</File>
                <File>custom.xml</File>
            </Items>
        </UpdateDatabase>
        <LocalizedText id="YNAMP_DEFAULT_LOC">
            <Items>
                <File>Gameplay/GamePlayText.xml</File>
                <File>Gameplay/GamePlayText_pt_BR.xml</File>
            </Items>
        </LocalizedText>
    </Components>
   
    <LocalizedText>
        <Text id="LOC_YNAMP_TITLE">
            <en_US>Yet (not) Another Maps Pack</en_US>
            <zh_Hans_CN>然而(并非)又一个地图包</zh_Hans_CN>
            <zh_Hant_HK>然而(並非)又一個地圖包</zh_Hant_HK>
        </Text>
        <Text id="LOC_YNAMP_TEASER">
            <en_US>Maps with True or Culturally Linked Start Locations.</en_US>
            <zh_Hans_CN>带有现实世界或人文地理关联出生地的地图包。</zh_Hans_CN>
            <zh_Hant_HK>帶有現實世界或人文地理關聯出生地的地圖包。</zh_Hant_HK>
        </Text>
        <Text id="LOC_YNAMP_DESCRIPTION">
            <en_US>Maps with True or Culturally Linked Starting Location and custom options.</en_US>
            <zh_Hans_CN>带有现实世界或人文地理关联出生地,以及自定义选项的地图包。</zh_Hans_CN>
            <zh_Hant_HK>帶有現實世界或人文地理關聯出生地,以及自定義選項的地圖包。</zh_Hant_HK>
        </Text>
    </LocalizedText>
   
    <Files>
        <File>Configuration/Config.xml</File>
        <File>Maps/GiantEarth/Config.xml</File>
        <File>Maps/GreatestEarthMap/Config.xml</File>
        <File>Maps/PlayEuropeAgain/Config.xml</File>
        <File>Maps/LargestEarth/Config.xml</File>
        <File>Configuration/ConfigText.xml</File>
        <File>Configuration/ConfigText_zh_Hans_CN.xml</File>
        <File>Configuration/ConfigText_zh_Hant_HK.xml</File>
        <File>Configuration/ConfigText_pt_BR.xml</File>
        <File>Gameplay/Tables.sql</File>
        <File>Gameplay/GamePlay.xml</File>
        <File>Gameplay/GamePlay.sql</File>
        <File>Gameplay/GamePlayText.xml</File>
        <File>Gameplay/GamePlayText_pt_BR.xml</File>
        <File>Maps/GiantEarth/Map.xml</File>
        <File>Maps/GiantEarth/CityMap.xml</File>
        <File>Maps/GreatestEarthMap/Map.xml</File>
        <File>Maps/GreatestEarthMap/CityMap.xml</File>
        <File>Maps/PlayEuropeAgain/Map.xml</File>
        <File>Maps/PlayEuropeAgain/CityMap.xml</File>
        <File>Maps/PlayEuropeAgain/CityMap_Arabia.xml</File>
        <File>Maps/PlayEuropeAgain/CityMap_Greece.xml</File>
        <File>Maps/PlayEuropeAgain/CityMap_Rome.xml</File>
        <File>Maps/LargestEarth/Map.xml</File>
        <File>Maps/LargestEarth/CityMap.xml</File>
        <File>Gameplay/Resource.xml</File>
        <File>Gameplay/CityNameByEra.xml</File>
        <File>Maps/GiantEarth/GiantEarth.lua</File>
        <File>Maps/GreatestEarthMap/GreatestEarthMap.lua</File>
        <File>Maps/PlayEuropeAgain/PlayEuropeAgain.lua</File>
        <File>Maps/LargestEarth/LargestEarth.lua</File>
        <File>Override/AssignStartingPlots.lua</File>
        <File>Scripts/YnAMP_Script.lua</File>
        <File>Scripts/YnAMP_Utils.lua</File>
        <File>Scripts/YnAMP_InGame.lua</File>
        <File>Scripts/YnAMP_InGame.xml</File>      
        <File>custom.sql</File>
        <File>custom.xml</File>
    </Files>
</Mod>
 
*shrug* just figured when there are problems it was better to use as modbuddy is spitting things out.

perhaps the difference is that you customized your LOC_NAME stuff whereas the OP did not. He just used the same ones in the various examples that have been circulating.
 
Firaxis use them all the time for scenarios/DLC, of course they have the unfair advantage of having the translated texts loaded with the game's base assets.

IIRC the <LocalizedText> available to us in .modinfo was copied from the "day one" example mods.
 
Turns out in my files section on of my </File> tags has a typo resulting in two closing </Files> tags which caused the issue. Thanks for the replies
 
I keep getting the following when trying to submit even the simplest mod after clicking "Upload":

There was an error :(
Failed to submit item update - k_EResultFail

Anyone else seen this?
 
Do all of the checks pass? (Modinfo exists, less than 8000 characters, all referenced files exist)
 
I keep getting the following when trying to submit even the simplest mod after clicking "Upload":

There was an error :(
Failed to submit item update - k_EResultFail

Anyone else seen this?
Sorry for bringing such old thread, but did you(or someone else) found solution to this problem?
 
Top Bottom