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

From SCS Modding Wiki
Jump to navigation Jump to search
m (Fixed grammar, spelling and clarified some things.)
 
(121 intermediate revisions by 2 users not shown)
Line 1: Line 1:
# Create folder where you will put your mod content.
+
=Introduction=
# Put version specific content into appropriate folders - you can zip those folders. '''TODO: What are those "appropriate" folders?'''
+
In this tutorial, we will show you how to prepare your mod for uploading it to the workshop step by step.
# Create file called [[Tools/Workshop_Uploader/versions.sii|versions.sii]] where you put [[Units/package version info|package version info]] units. '''TODO: Describe how to write this definition file with some examples'''
 
# When you prepare everything launch SCS Workshop Uploader tool from your Steam Client.
 
# Select the game which will be the target application for your workshop creation.
 
# In "Mod data" section
 
## Select folder with your mod content. You need to select the root folder of your mod this where you have placed your versions.sii file and version folders or archives.
 
## Browse for preview image.
 
# In the next section
 
## fill the Mod name (maximum 128 characters)
 
## select visibility state (if the mod is private, friends only or public).
 
# In "Description" section fill your mod description - the minimum amount of characters is 50 characters - maximum is 8000 - we count one byte as characters so in case you are using characters from different alphabet than english one one character may count as 2 or more. (Also new lines, spaces count as character)
 
# In "Tags" section
 
## You '''MUST''' select Type of your mod
 
## Truck parts and Brand are optional
 
# In "Change note" you specify changelog of new mod version - in this case you can leave it empty or simply write there something like "Initial release" or "First version release".
 
# When you are done you can press Upload button. In case validation failed or some different problem happened you will be informed by proper dialog.
 
  
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.
+
==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]].
  
[[Category:Tutorials]]
+
==Preparing mod for uploading step by step==
[[Category:TODO]]
+
 
 +
{| class="wikitable" width="100%"
 +
|- style="vertical-align:top;"
 +
| '''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.
 +
|- style="vertical-align:top;"
 +
| '''2'''
 +
|[[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)
 +
|- style="vertical-align:top;"
 +
| '''3'''
 +
|[[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.
 +
 
 +
{{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;"
 +
| '''4'''
 +
|[[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
 +
|- style="vertical-align:top;"
 +
| '''5'''
 +
|[[File:0005_fill_versions_sii_with_magic_and_global_sii_scope.jpg|500px]]
 +
|Add sii file frame to your versions.sii file.
 +
 
 +
<pre>SiiNunit
 +
{
 +
 
 +
}</pre>
 +
|- style="vertical-align:top;"
 +
| '''6'''
 +
|[[File:0006_add_package_version_info_for_latest_version.jpg|500px]]
 +
|Add definition of universal version unit.
 +
 
 +
<pre>SiiNunit
 +
{
 +
package_version_info : .universal
 +
{
 +
 
 +
}
 +
}</pre>
 +
|- style="vertical-align:top;"
 +
| '''7'''
 +
|[[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.
 +
 
 +
<pre>SiiNunit
 +
{
 +
package_version_info : .universal
 +
{
 +
    package_name: "universal"
 +
}
 +
}</pre>
 +
|}
 +
 
 +
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==
 +
{| class="wikitable" width="100%"
 +
|- style="vertical-align:top;"
 +
| '''1'''
 +
|[[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.
 +
 
 +
 
 +
 
 +
{{Tip|For better organization of the directories. We recommend to call this folder ''122_content'' - 122 stands for 1.22. For example - for 1.23 update it will be 123, for 1.6 it will be 16, etc.}}
 +
|- style="vertical-align:top;"
 +
| '''2'''
 +
|[[File:0009_add_new_unit_to_versions_sii_with_122_content_step_1.jpg|500px]]
 +
|Open your text editor and do exactly the same steps as you did while adding a definition for the universal version of your mod (besides using a different folder and unit name this time).
 +
 
 +
<pre>SiiNunit
 +
{
 +
package_version_info : .universal
 +
{
 +
    package_name: "universal"
 +
}
 +
 
 +
package_version_info : .122_content
 +
{
 +
    package_name: "122_content"
 +
}
 +
}</pre>
 +
|- style="vertical-align:top;"
 +
| '''3'''
 +
|[[File:0010_add_new_unit_to_versions_sii_with_122_content_step_2.jpg|500px]]
 +
|Now there are some more steps you will need to go through: Set the value of the compatible_versions attribute. As we want to have data for 1.22 update write "1.22.*". Values are similar to compatible_versions array in manifest.sii.
 +
 
 +
If you want to use this package for version 1.23 only you need to write:
 +
<pre>compatible_versions: "1.23.*"</pre>
 +
 
 +
If you want to support only one version (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). If you only write "1.35.1" your mod will only be compatible with this specific version. The use of "1.35.*" will make your mod compatible with all small updates for version 1.35 (recommended).
 +
 
 +
<pre>SiiNunit
 +
{
 +
package_version_info : .universal
 +
{
 +
    package_name: "universal"
 +
}
 +
 
 +
package_version_info : .122_content
 +
{
 +
    package_name: "122_content"
 +
    compatible_versions[]: "1.22.*"
 +
}
 +
}</pre>
 +
|- style="vertical-align:top;"
 +
| '''4'''
 +
|[[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.
 +
 
 +
 
 +
{{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;"
 +
| '''5'''
 +
|[[File:0012_add_another_unit_to_versions_sii.jpg|500px]]
 +
|Add again the same definition for the unit.
 +
 
 +
<pre>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"
 +
}
 +
}</pre>
 +
|- style="vertical-align:top;"
 +
| '''6'''
 +
|[[File:0013_add_first_version_attribute.jpg|500px]]
 +
|Add compatible_version value for one update you support.
 +
 
 +
<pre>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.*"
 +
}
 +
}</pre>
 +
|- style="vertical-align:top;"
 +
| '''7'''
 +
|[[File:0014_add_second_version_attribute.jpg|500px]]
 +
|And add again compatible_version value for second update you want to support.
 +
 
 +
<pre>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.*"
 +
}
 +
}</pre>
 +
|}
 +
 
 +
=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]]
 +
 
 +
*Run '''SCS Workshop Uploader''' tool from your steam client.
 +
#Select the '''game''' that is compatible with your mod.
 +
#Select '''New''' from the dropdown. It should be selected by default when you launch the tool.
 +
#In the '''Mod data''' section - browse for your '''mod data folder'''. This folder should include your packages and version.sii file.
 +
#If you select folder, browse for '''mod preview image'''.
 +
#In next step fill '''mod name'''.
 +
#Select '''mod visibility''' in steam workshop. If it's '''Private''', '''Friends only''' or '''Public'''.
 +
#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.
 +
#Now, you have to select '''type tag''' for your mod.
 +
#You can select '''truck parts''' and '''brand''' tag if appropriate.
 +
#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. Before the actual upload operation, the tool will check if your mod contains the correct data.
 +
 
 +
 
 +
{{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 a 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.
 +
 
 +
[[File:0025_in_case_of_error_you_will_get_this_dialog.jpg|500px]]
 +
 
 +
When you click '''OK''' you will see log dialog with all errors and warnings that occurred during validation. In case if you have only warnings you can both continue or abort the operation. In case of errors, you will '''need to''' fix them before uploading.
 +
 
 +
{{UsefulLink|If you need help with solving your validation errors click '''[[Documentation/Tools/SCS_Workshop_Uploader/Validation_errors_and_solutions_for_them|here]]'''}}
 +
 
 +
 
 +
[[File:Validation result window.jpg]]
 +
 
 +
 
 +
#In this line you have the summary of the validation - the number of errors and warnings.
 +
#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 warnings or errors here.
 +
#In case there are is at least one error you are able to only click Abort. This button simply aborts the upload.
 +
#In case validation did not report any error you can click this button and continue uploading your mod. If there are errors you are unable to continue - you have to fix the problems.
 +
 
 +
==Success==
 +
If there are no errors the upload will continue and if everything goes right you will see this dialog.
 +
 
 +
[[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 '''[http://forum.scssoft.com/viewforum.php?f=24 our forum]'''
 +
 
 +
=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 an error about not accepted Steam Workshop Terms Of Service - if so happens the 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. It is '''mandatory''' to agree to these terms.

Latest revision as of 23:47, 6 June 2020

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. 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 exactly the same steps as you did while adding a definition for the universal version of your mod (besides using a different folder and unit name this time).
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 Now there are some more steps you will need to go through: Set the value of the compatible_versions attribute. As we want to have data for 1.22 update write "1.22.*". Values are similar to compatible_versions array in manifest.sii.

If you want to use this package for version 1.23 only you need to write:

compatible_versions: "1.23.*"

If you want to support only one version (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). If you only write "1.35.1" your mod will only be compatible with this specific version. The use of "1.35.*" will make your mod compatible with all small updates for version 1.35 (recommended).

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 from the dropdown. It should be selected by default when you launch the tool.
  3. In the Mod data section - browse for your mod data folder. This folder should include your packages and version.sii file.
  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 the 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 a 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 occurred during validation. In case if you have only warnings you can both continue or abort the operation. In case of errors, you will 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 warnings 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 your mod. If there are errors you are unable to continue - you have to fix the problems.

Success

If there are no errors the upload will continue and if everything goes right 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 an error about not accepted Steam Workshop Terms Of Service - if so happens the 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. It is mandatory to agree to these terms.