Difference between revisions of "Tutorials/SCS Workshop Uploader/How to upload new mod?"

From SCS Modding Wiki
Jump to navigation Jump to search
(Validation)
(44 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Intrudiction=
+
=Introduction=
==Workshop mod layout==
+
In this tutorial we will show you how to prepare your mod for uploading it to the workshop step by step.
First of all - the layout of your mod will change a little bit. The standard mod is a single '''package''' with manifest.sii file inside, description and icon files and the mod data files. The Workshop mod can and should consist of many '''packages''' - this change gives you possibility to create mods that are supporting few game patches without need to activate different mod by your mod users. In the '''versions.sii''' file you specify which '''package''' game should use when using the specified game patch. But remember - this layout is only correct for Workshop mods. Standard mods are still using the one package approach.
 
  
[[File:Mod_layout_explanation.jpg]]
+
==Workshop mod files and directories layout==
 +
First of all - the layout of your mod will change a little bit. To check the Steam Workshop mods structure click [[Documentation/Tools/SCS_Workshop_Uploader/Workshop_mod_structure|here]].
  
==Prepearing mod==
+
==Preparing mod for uploading step by step==
  
 
{| class="wikitable" width="100%"
 
{| class="wikitable" width="100%"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|[[File:0002_create_folder.jpg|500px]]
+
| '''1'''
 +
| style="width: 500px" | [[File:0002_create_folder.jpg|500px]]
 
|First step of preparing your mod is creating of the folder. You will put there all the files and folders needed for your mod to be compatible with Steam Workshop.
 
|First step of preparing your mod is creating of the folder. You will put there all the files and folders needed for your mod to be compatible with Steam Workshop.
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''2'''
 
|[[File:0003_create_latest_folder.jpg|500px]]
 
|[[File:0003_create_latest_folder.jpg|500px]]
 
|After creating of the folder open it and create another folder inside called '''universal'''. (Instead of folder you can also create ZIP archives with game data)
 
|After creating of the folder open it and create another folder inside called '''universal'''. (Instead of folder you can also create ZIP archives with game data)
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''3'''
 
|[[File:Universal_directory_content.jpg|500px]]
 
|[[File:Universal_directory_content.jpg|500px]]
 
|The universal directory (or archive) should contain all the standard mod package content so: manifest.sii file, description file, icon file and the mod content.
 
|The universal directory (or archive) should contain all the standard mod package content so: manifest.sii file, description file, icon file and the mod content.
  
'''Remember! In Workshop mods manifest.sii, description and icon files are required!'''
+
{{Note|Remember! In Workshop mods manifest.sii, description and icon files are required! [[Documentation/Engine/Mod_manager|Find more info here]]}}
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''4'''
 
|[[File:0004_open_text_editor_and_create_versions_sii.jpg|500px]]
 
|[[File:0004_open_text_editor_and_create_versions_sii.jpg|500px]]
 
|Open your favorite text editor and create file called versions.sii - save it in the same folder where you created '''universal''' folder
 
|Open your favorite text editor and create file called versions.sii - save it in the same folder where you created '''universal''' folder
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''5'''
 
|[[File:0005_fill_versions_sii_with_magic_and_global_sii_scope.jpg|500px]]
 
|[[File:0005_fill_versions_sii_with_magic_and_global_sii_scope.jpg|500px]]
 
|Add sii file frame to your versions.sii file.
 
|Add sii file frame to your versions.sii file.
Line 31: Line 36:
 
}</pre>
 
}</pre>
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''6'''
 
|[[File:0006_add_package_version_info_for_latest_version.jpg|500px]]
 
|[[File:0006_add_package_version_info_for_latest_version.jpg|500px]]
 
|Add definition of universal version unit.
 
|Add definition of universal version unit.
Line 42: Line 48:
 
}</pre>
 
}</pre>
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''7'''
 
|[[File:0007_add_folder_attribute_to_latest_info.jpg|500px]]
 
|[[File:0007_add_folder_attribute_to_latest_info.jpg|500px]]
 
|Set '''package_name''' to name of the folder or ZIP archive with the mod data.
 
|Set '''package_name''' to name of the folder or ZIP archive with the mod data.
Line 54: Line 61:
 
|}
 
|}
  
When you do those points and put your game content to package you and you don't want to support exact patches you can skip next points and go to [[#Uploading|Uploading]] part.
+
When you do those points and put your game content to package you and you don't want to support exact game updates you can skip next points and go to [[#Uploading|Uploading]] part.
  
 
==Supporting specify version of the game==
 
==Supporting specify version of the game==
 
{| class="wikitable" width="100%"
 
{| class="wikitable" width="100%"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''1'''
 
|[[File:0008_create_folder_for_122_content.jpg|500px]]
 
|[[File:0008_create_folder_for_122_content.jpg|500px]]
 
|In case you have data that supports one exact game version you need to create folder or archive where you will store the content.
 
|In case you have data that supports one exact game version you need to create folder or archive where you will store the content.
 +
 +
 +
 +
{{Tip|For better organization of the directories. We recommend to call this folder ''122_content'' - 122 stands for 1.22 version with removed dot. For example - for 1.23 update it will be 123, for 1.6 it will be 16 etc.}}
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''2'''
 
|[[File:0009_add_new_unit_to_versions_sii_with_122_content_step_1.jpg|500px]]
 
|[[File:0009_add_new_unit_to_versions_sii_with_122_content_step_1.jpg|500px]]
|Open your text editor and do exatly the same steps as you did while adding definition for universal patch. (Besides different folder and unit name)
+
|Open your text editor and do exatly the same steps as you did while adding definition for universal update. (Besides different folder and unit name)
  
 
<pre>SiiNunit
 
<pre>SiiNunit
Line 78: Line 91:
 
}</pre>
 
}</pre>
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''3'''
 
|[[File:0010_add_new_unit_to_versions_sii_with_122_content_step_2.jpg|500px]]
 
|[[File:0010_add_new_unit_to_versions_sii_with_122_content_step_2.jpg|500px]]
|There is new thing. You need to set value of the compatible_versions attribute. This attribute is simply array containing strings that are masks of the game versions. As we want to have data for 1.22 patch simply write there "1.22.*". Values are similar to compatible_versions array in manifest.sii however for workshop mods we are using versions specified in versions.sii.
+
|There is new step you have to take. Set the value of the compatible_versions attribute. As we want to have data for 1.22 update simply write there "1.22.*". Values are similar to compatible_versions array in manifest.sii.
 +
 
 +
If you want to use this package for 1.23 update only you will write:
 +
<pre>compatible_versions: "1.23.*"</pre>
 +
 
 +
If you want to support only one update by this content (not recommended) you will write:
 +
<pre>compatible_versions[]: "1.22.1"</pre>
 +
 
 +
The value of this attribute can contain numbers, dots "." (between numbers) and asterisk "*" (at the end). Using asterisk inside text or at the beginning is not allowed.
  
 
<pre>SiiNunit
 
<pre>SiiNunit
Line 95: Line 117:
 
}</pre>
 
}</pre>
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''4'''
 
|[[File:0011_create_multiversion_folder.jpg|500px]]
 
|[[File:0011_create_multiversion_folder.jpg|500px]]
 
|In case you want to support more than one exact version you need to setup folder for it.
 
|In case you want to support more than one exact version you need to setup folder for it.
 +
 +
 +
{{Tip|We recommend using similar syntax as for single version specify content, but for separating the versions use underscore "_". For example if the content will be used by both 1.23 and 1.24 content package will be called: "123_124_content" in case you want the content package to be used for 1.24, 1.25.0 and 1.25.2 updates the content package will be called "124_1250_1252_content".}}
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''5'''
 
|[[File:0012_add_another_unit_to_versions_sii.jpg|500px]]
 
|[[File:0012_add_another_unit_to_versions_sii.jpg|500px]]
 
|Add again the same definition for the unit.
 
|Add again the same definition for the unit.
Line 120: Line 147:
 
}</pre>
 
}</pre>
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''6'''
 
|[[File:0013_add_first_version_attribute.jpg|500px]]
 
|[[File:0013_add_first_version_attribute.jpg|500px]]
|Add compatible_version value for one patch you support.
+
|Add compatible_version value for one update you support.
  
 
<pre>SiiNunit
 
<pre>SiiNunit
Line 143: Line 171:
 
}</pre>
 
}</pre>
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 +
| '''7'''
 
|[[File:0014_add_second_version_attribute.jpg|500px]]
 
|[[File:0014_add_second_version_attribute.jpg|500px]]
|And add again compatible_version value for second patch you want to support.
+
|And add again compatible_version value for second update you want to support.
  
 
<pre>SiiNunit
 
<pre>SiiNunit
Line 169: Line 198:
  
 
=Uploading=
 
=Uploading=
 +
 +
{{UsefulLink|If you don't have SCS Workshop Uploader installed - check this tutorial - [[Tutorials/SCS_Workshop_Uploader/How_to_download_the_tool?|How to download and install SCS Workshop Uploader?]]}}
  
 
[[File:Scs_workshop_uploader_tutorial_preview.jpg]]
 
[[File:Scs_workshop_uploader_tutorial_preview.jpg]]
  
 
*Run '''SCS Workshop Uploader''' tool from your steam client.
 
*Run '''SCS Workshop Uploader''' tool from your steam client.
#Select the '''game''' ('''1''') that is compatible with your mod.
+
#Select the '''game''' that is compatible with your mod.
#Select '''New''' item from the items combobox ('''2'''). It should be selected by default when you launch the tool.
+
#Select '''New''' item from the items combobox. It should be selected by default when you launch the tool.
#In the '''Mod data''' section - browse for a '''mod data folder''' ('''3''').
+
#In the '''Mod data''' section - browse for a '''mod data folder'''.
#If you select folder, browse for '''mod preview image''' ('''4''').
+
#If you select folder, browse for '''mod preview image'''.
#In next step fill '''mod name''' ('''5''').
+
#In next step fill '''mod name'''.
#Select '''mod visibility''' in steam workshop. If it's '''Private''', '''Friends only''' or '''Public''' ('''6''').
+
#Select '''mod visibility''' in steam workshop. If it's '''Private''', '''Friends only''' or '''Public'''.
#Fill your '''mod description''' ('''7''') which will be shown in your item workshop page. '''(Minimum 50 characters)'''
+
#Fill your '''mod description''' which will be shown in your item workshop page. '''(Minimum 50 characters)'''
#If you want to know formatting possibilities click on the question mark button. ('''8''')
+
#If you want to know formatting possibilities click on the question mark button.
#Now, you have to select '''type tag''' for your mod ('''9''').
+
#Now, you have to select '''type tag''' for your mod.
#You can select '''truck parts''' and '''brand''' tag if appropriate ('''10''').
+
#You can select '''truck parts''' and '''brand''' tag if appropriate.
#You can now fill '''change note''' of your mod ('''11'''). If you need to have the edit box bigger simply resize the tool window. As it's initial upload step you will more likely write nothing here - or write something like ''"Initial upload."''.
+
#You can now fill '''change note''' of your mod. If you need to have the edit box bigger simply resize the tool window. As it's initial upload step you will more likely write nothing here - or write something like ''"Initial upload."''.
#If you did all the points simply click '''Upload''' button ('''12''').. Before the actual upload operation the tool will check if your mod contains correct data.
+
#If you did all the points simply click '''Upload''' button. Before the actual upload operation the tool will check if your mod contains correct data.
  
'''TODO: Describe why writing for example 1 cyrillic character counts as 2, why onee space is count as character and why enter is count as character.'''
 
  
'''TODO: Describe howto find the tool in steam client and link installation tutorial'''
+
{{Note|You may notice that when you are using non [https://en.wikipedia.org/wiki/ASCII ASCII characters] the counters are decreasing by more than one. It is because those characters have bigger size than one byte. The counters are counting bytes space used by description and title - not the character count}}
  
 +
==Validation==
 
*In case of any validation error you will notice this dialog.
 
*In case of any validation error you will notice this dialog.
  
Line 196: Line 227:
 
When you click '''OK''' you will see log dialog with all errors and warnings that occured during validation. In case if you have only warnings you can both continue or abort operation. In case of error you '''need to''' fix them before uploading.
 
When you click '''OK''' you will see log dialog with all errors and warnings that occured during validation. In case if you have only warnings you can both continue or abort operation. In case of error you '''need to''' fix them before uploading.
  
{{UsefulLink|If you need help with solving your validation errors click '''[[Tools/Workshop_Uploader/Validation_errors_and_solutions_for_them|here]]'''}}
+
{{UsefulLink|If you need help with solving your validation errors click '''[[Documentation/Tools/SCS_Workshop_Uploader/Validation_errors_and_solutions_for_them|here]]'''}}
  
  
Line 205: Line 236:
 
#In this area you have log of the validation. All the log entires have the following form: '''''[TYPE] [CODE] (file): Message'''''
 
#In this area you have log of the validation. All the log entires have the following form: '''''[TYPE] [CODE] (file): Message'''''
 
#Bellow you have two checkboxes, you can hide warnigns or errors here.
 
#Bellow you have two checkboxes, you can hide warnigns or errors here.
#In case there are only errors you are able to only click Abort. This button simply aborts the upload.
+
#In case there are is at least one error you are able to only click Abort. This button simply aborts the upload.
#In case there are only warnings you can click this button and continue uploading of your mod. If there are errors you are unable to continue - you have to fix the problems.
+
#In case validation did not report any error you can click this button and continue uploading of your mod. If there are errors you are unable to continue - you have to fix the problems.
 
 
  
 +
==Success==
 
If there are no errors and the upload will continue on successfull upload you will see this dialog.
 
If there are no errors and the upload will continue on successfull upload you will see this dialog.
  
 
[[File:0026_upload_success.jpg]]
 
[[File:0026_upload_success.jpg]]
  
However it is possible that there was some failure while uploading - you will then notice dialog with the error message. If you have some problem with resolving the problem write on our forum '''[http://forum.url.put.here click todo moding section] (Create Steam Workshop section dedicated to it?)'''
+
However it is possible that there was some failure while uploading - you will then notice dialog with the error message. If you have some problem with resolving the problem write on '''[http://forum.scssoft.com/viewforum.php?f=24 our forum]'''
  
 
=Steam Workshop Terms Of Service=
 
=Steam Workshop Terms Of Service=
 
If it’s your first mod and you were not doing any mods for other game <!-- '''(or Valve updated Terms of Service?)'''-->  you will likely get error about not accepted Steam Workshop Terms Of Service - if so happends tool will show you appropriate message and the steam workshop terms of service will be opened in your default web browser - you have to login to your steam account read and accept the terms of service and if you do so simply go back to the tool and try again with uploading your mod.
 
If it’s your first mod and you were not doing any mods for other game <!-- '''(or Valve updated Terms of Service?)'''-->  you will likely get error about not accepted Steam Workshop Terms Of Service - if so happends tool will show you appropriate message and the steam workshop terms of service will be opened in your default web browser - you have to login to your steam account read and accept the terms of service and if you do so simply go back to the tool and try again with uploading your mod.

Revision as of 15:10, 24 November 2016

Introduction

In this tutorial we will show you how to prepare your mod for uploading it to the workshop step by step.

Workshop mod files and directories layout

First of all - the layout of your mod will change a little bit. To check the Steam Workshop mods structure click here.

Preparing mod for uploading step by step

1 0002 create folder.jpg First step of preparing your mod is creating of the folder. You will put there all the files and folders needed for your mod to be compatible with Steam Workshop.
2 0003 create latest folder.jpg After creating of the folder open it and create another folder inside called universal. (Instead of folder you can also create ZIP archives with game data)
3 Universal directory content.jpg The universal directory (or archive) should contain all the standard mod package content so: manifest.sii file, description file, icon file and the mod content.

Note: Remember! In Workshop mods manifest.sii, description and icon files are required! Find more info here

4 0004 open text editor and create versions sii.jpg Open your favorite text editor and create file called versions.sii - save it in the same folder where you created universal folder
5 0005 fill versions sii with magic and global sii scope.jpg Add sii file frame to your versions.sii file.
SiiNunit
{

}
6 0006 add package version info for latest version.jpg Add definition of universal version unit.
SiiNunit
{
package_version_info : .universal
{

}
}
7 0007 add folder attribute to latest info.jpg Set package_name to name of the folder or ZIP archive with the mod data.
SiiNunit
{
package_version_info : .universal
{
    package_name: "universal"
}
}

When you do those points and put your game content to package you and you don't want to support exact game updates you can skip next points and go to Uploading part.

Supporting specify version of the game

1 0008 create folder for 122 content.jpg In case you have data that supports one exact game version you need to create folder or archive where you will store the content.


TIP: For better organization of the directories. We recommend to call this folder 122_content - 122 stands for 1.22 version with removed dot. For example - for 1.23 update it will be 123, for 1.6 it will be 16 etc.

2 0009 add new unit to versions sii with 122 content step 1.jpg Open your text editor and do exatly the same steps as you did while adding definition for universal update. (Besides different folder and unit name)
SiiNunit
{
package_version_info : .universal
{
    package_name: "universal"
}

package_version_info : .122_content
{
    package_name: "122_content"
}
}
3 0010 add new unit to versions sii with 122 content step 2.jpg There is new step you have to take. Set the value of the compatible_versions attribute. As we want to have data for 1.22 update simply write there "1.22.*". Values are similar to compatible_versions array in manifest.sii.

If you want to use this package for 1.23 update only you will write:

compatible_versions: "1.23.*"

If you want to support only one update by this content (not recommended) you will write:

compatible_versions[]: "1.22.1"

The value of this attribute can contain numbers, dots "." (between numbers) and asterisk "*" (at the end). Using asterisk inside text or at the beginning is not allowed.

SiiNunit
{
package_version_info : .universal
{
    package_name: "universal"
}

package_version_info : .122_content
{
    package_name: "122_content"
    compatible_versions[]: "1.22.*"
}
}
4 0011 create multiversion folder.jpg In case you want to support more than one exact version you need to setup folder for it.


TIP: We recommend using similar syntax as for single version specify content, but for separating the versions use underscore "_". For example if the content will be used by both 1.23 and 1.24 content package will be called: "123_124_content" in case you want the content package to be used for 1.24, 1.25.0 and 1.25.2 updates the content package will be called "124_1250_1252_content".

5 0012 add another unit to versions sii.jpg Add again the same definition for the unit.
SiiNunit
{
package_version_info : .universal
{
    package_name: "universal"
}

package_version_info : .122_content
{
    package_name: "122_content"
    compatible_versions[]: "1.22.*"
}

package_version_info : .120_121_content
{
    package_name: "120_121_content"
}
}
6 0013 add first version attribute.jpg Add compatible_version value for one update you support.
SiiNunit
{
package_version_info : .universal
{
    package_name: "universal"
}

package_version_info : .122_content
{
    package_name: "122_content"
    compatible_versions[]: "1.22.*"
}

package_version_info : .120_121_content
{
    package_name: "120_121_content"
    compatible_versions[]: "1.20.*"
}
}
7 0014 add second version attribute.jpg And add again compatible_version value for second update you want to support.
SiiNunit
{
package_version_info : .universal
{
    package_name: "universal"
}

package_version_info : .122_content
{
    package_name: "122_content"
    compatible_versions[]: "1.22.*"
}

package_version_info : .120_121_content
{
    package_name: "120_121_content"
    compatible_versions[]: "1.20.*"
    compatible_versions[]: "1.21.*"
}
}

Uploading

Scs workshop uploader tutorial preview.jpg

  • Run SCS Workshop Uploader tool from your steam client.
  1. Select the game that is compatible with your mod.
  2. Select New item from the items combobox. It should be selected by default when you launch the tool.
  3. In the Mod data section - browse for a mod data folder.
  4. If you select folder, browse for mod preview image.
  5. In next step fill mod name.
  6. Select mod visibility in steam workshop. If it's Private, Friends only or Public.
  7. Fill your mod description which will be shown in your item workshop page. (Minimum 50 characters)
  8. If you want to know formatting possibilities click on the question mark button.
  9. Now, you have to select type tag for your mod.
  10. You can select truck parts and brand tag if appropriate.
  11. You can now fill change note of your mod. If you need to have the edit box bigger simply resize the tool window. As it's initial upload step you will more likely write nothing here - or write something like "Initial upload.".
  12. If you did all the points simply click Upload button. Before the actual upload operation the tool will check if your mod contains correct data.


Note: You may notice that when you are using non ASCII characters the counters are decreasing by more than one. It is because those characters have bigger size than one byte. The counters are counting bytes space used by description and title - not the character count

Validation

  • In case of any validation error you will notice this dialog.

0025 in case of error you will get this dialog.jpg

When you click OK you will see log dialog with all errors and warnings that occured during validation. In case if you have only warnings you can both continue or abort operation. In case of error you need to fix them before uploading.


Validation result window.jpg


  1. In this line you have the summary of the validation - the number of errors and warnings.
  2. In this area you have log of the validation. All the log entires have the following form: [TYPE] [CODE] (file): Message
  3. Bellow you have two checkboxes, you can hide warnigns or errors here.
  4. In case there are is at least one error you are able to only click Abort. This button simply aborts the upload.
  5. In case validation did not report any error you can click this button and continue uploading of your mod. If there are errors you are unable to continue - you have to fix the problems.

Success

If there are no errors and the upload will continue on successfull upload you will see this dialog.

0026 upload success.jpg

However it is possible that there was some failure while uploading - you will then notice dialog with the error message. If you have some problem with resolving the problem write on our forum

Steam Workshop Terms Of Service

If it’s your first mod and you were not doing any mods for other game you will likely get error about not accepted Steam Workshop Terms Of Service - if so happends tool will show you appropriate message and the steam workshop terms of service will be opened in your default web browser - you have to login to your steam account read and accept the terms of service and if you do so simply go back to the tool and try again with uploading your mod.