Gothic 1 Classic
Оценок: 96
Official Steam Workshop Guide for Gothic 1 & Gothic 2
От Szmyk
Getting started with publishing mods for Steam Workshop of Gothic 1 & Gothic 2 games
3
2
   
Наградить
В избранное
В избранном
Удалить
Introduction
This guide is meant for creators of mods for the games Gothic 1 & Gothic 2, who want to make their creations available to other players in the Steam Workshop.

If you are not a creator, check out Gothic 1 Workshop and Gothic 2 Workshop to see what the community has made!

Creators are expected to be familiar with the workflow of developing and publishing a Gothic modification, which includes:
  • compiling/converting/generating/building files that can be consumed by the game (.dat scripts, .tex textures, DirectMusic files, 3D models, animations etc.)
  • packaging the files into a .mod or .vdf file
  • creating a mod .ini file (when required)

If you want to publish an existing mod to the Steam Workshop, you will just need to put the files in the correct directories. No repackaging should be required.
Types of mods
In general, we recognize two main types of mods:
  • Standalone
  • Addon

Standalone mods are mods with .ini file, new/changed world and/or changed scripts (they can be launched by GothicStarter).

Addon mods are all kinds of replacements of textures, 3D models, sounds, music etc. They should be able to work with vanilla game and Standalone mods without compatibility issues. Most of texture packs are considered Addon in our case, but when texture pack also changes the world (.zen), it needs to be Standalone.

You should always specify the type of the mod as tag when uploading via GothicSteamWorkshopUploader.
Structure of mod files
For example, the structure could look like this for a Standalone mod:

├── _Work │ └── Data │ └── Video │ └── ModIntro.bik │ └── Music │ └── Mod_Segment.sgt └── Data ├── ModVDF │ └── MyMod.mod └── System ├── MyMod.ini

and for a very simple Addon mod:

└── Data ├── TexturesPatch.vdf
Mutliple languages
In case your Standalone mod features multiple .ini files which specify different .mod archives depending on language, you need to create language mapping file in YAML format and use it when publishing/updating mod with GothicSteamWorkshopUploader tool. Example mapping:

german: Velaya_de.ini english: Velaya_en.ini polish: Velaya_pl.ini

You need to use language codes from Steamworks documentation ("API language code").
Mod dependencies
You can specify that a mod needs another mod to be installed. In this case, users will need to subscribe to all dependencies and enable them to launch the game with your mod:



An example use-case for this feature is translation of a mod (you need to publish only the files that need to be translated).
Uploading mod to Workshop
Before publishing mods on Steam Workshop you need to accept Steam Subscriber Agreement!

Uploading mods to Workshop is possible only via GothicSteamWorkshopUploader.exe tool.

In launcher/example_mod directory you can find simple example mod files and .bat script that uploads the mod. You can customize it and use to publish your own mod.

The tool features two commands:

publish

Creates new workshop mod.

Arguments:
  • game – (required) Game to publish mod for (g1 or g2).
  • title – (required) Title of the mod. It can be changed on Steam Workshop website.
  • description – Description of the mod. It can be changed on Steam Workshop website.
  • tags – (required) List of tags, separated by comma. It can be changed by update command.
  • content – (required) Path to directory with mod files.
  • preview – (required) Path to preview image (500x500 JPG/PNG image).
  • modini – (required for Standalone mods with single .ini) Name of mod .ini file.
  • modinilanguages – (required for Standalone mods with multiple .ini files) Path to language mapping file.
Example:
GothicSteamWorkshopUploader.exe publish --game=g1 --title="My Mod" --description="The best mod." --tags="Standalone,Fun" --preview="C:\\MyMod\\image.jpg" --content="C:\\MyMod\\content" --modini="MyMod.ini"

After submission, mod is "Hidden" and only uploader can see it on Steam Workshop. You can change the visiblity on Steam Workshop website.

update

Updates workshop mod.

Arguments:
  • game – (required) Game to publish mod for (g1 or g2).
  • mod – (required) ID of workshop mod.
  • tags – List of tags, separated by comma.
  • content – Path to directory with mod files.
  • preview – Path to preview image (500x500 JPG/PNG image).
  • changenote – Note about the change. It can be changed on Steam Workshop website.
  • modini – Name of mod .ini file (for Standalone mod with single .ini file).
  • modinilanguages – (for Standalone mods with multiple .ini files) Path to language mapping file.
Example:
GothicSteamWorkshopUploader.exe update --game=g1 --mod=2770436948 --content="C:\\MyMod\\content\\v1_1" --changenote="Patch 1.1"

Warning
You can't publish mods using steamcmd.exe tool! They won't work with the launcher because of additional metadata that needs to be uploaded. But if you need, you can use workshop_build_item command for simple updates when you only patch content of the mod. It could be useful when you need to automate updates or use CI/CD.
Testing & debugging
After publishing, your mod is "Hidden" so only you can see it in Steam Workshop, but after subscribing to it, it will show up in the launcher and you will be able to launch the game with it.

Sometimes game launched by workshop launcher could not load all mod files as intended.

Launcher copies all mod files to Gothic directory, but additionally it changes timestamps of .mod/.vdf files to manage the order of mods.

Find "Override VDF timestamp" lines in logs.txt file to inspect what is the order of VDF archives.

Please visit Workshop Discussions in case you need any help.
Modding resources
In general, Gothic modding is not very easy and well-documented, but there are some useful tutorials and forums about it:
Workshop rules
  • Do not use offensive language in the title or description on your Workshop page.
  • Your submission must not contain any discriminatory, homophobic, racist, pornographic, illegal or offensive content.
  • Do not upload mods with malicious elements (exploits, spyware. backdoors etc.)
  • Do not upload test/empty/placeholder mods. Only finished, tested and ready to play mods are allowed to be listed for public use.
  • Mods that require user to download something in description (e.g. an external link) are not allowed and will be removed.
  • When creating mods, you are responsible for respecting the intellectual property (copyrights, trademarks etc.) of companies and individuals, including other mod creators.
  • Mods containing assets from other games or media are not allowed.
  • If you would like to upload another person's mod, ask them for permission if none is already provided. In the case where no permission is granted explicitly, it will be assumed that no permission has been granted and mod will be removed from the Workshop.
  • Creation and publication of mods is strictly for non-commercial purposes only, and you may not accept any fees for your mods.
We reserve the right to extend or modify any of the rules at any time.

Any mod that does not follow these rules will be a subject to removal from the Workshop.

Please also remember to follow Steam rules:

Good luck with creating and publishing your amazing mods!
Комментариев: 17
Sex Lobster 10 ноя в 18:35 
I tried updating my mod using the code in here and changed the info as needed but after checking my mod it didnt actualy update anything, is there a proper way to do it?
gv.ryad.goryachev 8 ноя в 17:37 
I don't understand anything, but it's very interesting
Lichgate 21 июл в 9:59 
Ok, I figured it out. One needs to right click on Gothic in Steam, go to "Betas" and opt in for "Workshop Beta" branch. Only then it will be downloaded to:
C:\Program Files (x86)\Steam\steamapps\common\Gothic II\launcher

@Szmyk: such basic information should be included in the guide.
Lichgate 21 июл в 9:36 
Where the hell is GothicSteamWorkshopUploader?
diego07a 27 сен. 2023 г. в 2:31 
świetna gra, lubię powracać do tej gry
Josko 17 авг. 2022 г. в 3:35 
Okay so it tries to upload, and I have edited my publish.bat, but it just says " An error was encountered while processing your request" I'm not sure what Im doing wrong, my .bat looks like this:

..\GothicSteamWorkshopUploader.exe publish --game=g2 --title="Better Donation Bonus" --description="Daron now gives you better bonuses when you make a donation! 5LP instead of 1 and 5 Mana instead of 2." --tags="Standalone,Fun" --content="%cd%\\Content\\_Work\\Data\\Scripts\\_decompiled\\Story\\Dialoge" --preview="%cd%\\preview.jpg"
pause
Josko 17 авг. 2022 г. в 3:24 
Dosn't work to upload. Hitting the batch file dosnt work, and trying the GothicsteamworkshopUploader.exe dosn't do anything at all...
Quka 12 июл. 2022 г. в 0:26 
hi
нема коржа 5 июл. 2022 г. в 3:08 
How to fix this?
Either the provided app ID is invalid or doesn't match the consumer app ID of the item or the preview file is smaller than 16 bytes.
koko 15 апр. 2022 г. в 7:58 
highway to hell:steamhappy: