Modpack Maintenance

To avoid constantly updating and restarting the server every time a creator updates their mods and to control the way their content interacts with our server, we use a modpack which consists of all of our server's mods combined into a singular mod. Creation and maintenance of these modpacks are very simple, but you must be meticulous in handling them to avoid generating lots of errors and eventually running afoul of the actual authors of these mods.

**Be sure to follow these steps absolutely, particularly where mod visibility is concerned, to avoid having it taken off the workshop.**

## Modpack Basics

In order to create an *unlisted* modpack for *private* distribution on the Steam workshop, you must first create the mod that will contain all of the other "sub-mods" within the modpack. For this you will need:

* **The understanding that the original authors are the owners of the created content.** We can play with mod settings and update schedules but can *never* take credit for the work of others unless directly involved in the item's development.
* **A name and short description** for your modpack.
* **.PNG image file** to serve as the mod's thumbnail. Steam will automatically scale the image to 640x320.
* **A list of all the mods you wish to include**, including their respective Workshop IDs, Mod IDs, and Map Folder names (if applicable).

### Mod Structure

The best way to properly learn how to set up the structure of a modpack is to look at the "ModTemplate" packaged with every copy of the game. It's generally in your personal Zomboid workshop folder. In Windows this is `C:\Users\%USERNAME%\Zomboid\Workshop`, and the 📁`ModTemplate` folder is what you're looking for.

* Once you're in the 📁`ModTemplate` folder, you'll notice the following:
	+ 📁`Contents`
	+ 🖻`poster.png`
	+ 🖹`workshop.txt`
* 📁`Contents` contains all of the mods to be included on the modpack. Within this folder lies the `📁mods` folder, which will contain the contents of the `📁mods` folders from all the other mods you'll be adding later.
* `🖻poster.png` is the thumbnail image which is displayed on the workshop. Since our mod is *unlisted,* **no one** should see this but the other people responsible for handling your modpack.
* `🖹workshop.txt` is where your mod's details are.

## Creating a Modpack

Now that you're acquainted with the file structure, We'll set up your mod. The following steps will walk you through setting up the folder and a modpack specific config file.

### Setting Up the Folder and Workshop Information

1. Copy the 📁`ModTemplate` folder. Now you should see `📁ModTemplate - Copy`. This folder will be the basis for your modpack! Rename it appropriately.
2. Open `🖹workshop.txt` and change the following, using the example below as a reference:
	1. Go to the end of the file and make sure that the last line reads `visibility=unlisted`. **This step is extremely important as it prevents your modpack from appearing in the public Steam Workshop!**
	2. Everything after title= will be your modpack's name.
	3. Everything after description= will be your modpack's description. Keep it short and sweet!
	4. Save the file and do **NOT** rename it.

### Adding Mods

1. Go onto the Workshop page for Project Zomboid and subscribe to all of the mods to be used including all prerequisites. Remember the Workshop ID and Mod ID for later, ideally in a spreadsheet. **Create a Steam Collection for all the mods used in your modpack to make updating a LOT easier**.
2. Wait for Steam to download/verify all of the newly subscribed mods.
3. Locate Project Zomboid's Steam Workshop folder which differs from the personal Workshop folder described earlier. For Windows users this folder is under `C:\Program Files (x86)\Steam\steamapps\workshop\content\108600`. All of your subscribed mods will show up here under their 10-digit Workshop ID.
4. Inside each of those numbered folders will be a `📁mods folder`, which you should remember from earlier. Within these folders will be the actual mod's named folder you'll need to copy into the `📁mods folder` of your own modpack. For example, if you were looking to use Hydrocraft b41 continued:
	1. Open the folder which corresponds to its 10-digit Workshop ID, in this case `📁2778991696`.
	2. Open the `📁mods` folder, and Copy the `📁Hydrocraft` folder. Obviously, the folder's name will change based on the mod.
	3. Go back into your modpack's folder we created earlier, and Paste under the `📁mods` folder there.
	4. Repeat steps 1-3 here for every mod to be included in the pack. Remember to also copy all of the prerequisite mods!

### Uploading to the Steam Workshop

Now that you have your file structure set, your `🖹workshop.txt` configured, and all mods have been added to your modpack's `📁mods` folder, it's time to upload it to the Steam Workshop.

1. Open Project Zomboid and click on "Workshop".
2. Click "Create and Update Items" and you will be presented with a list. There you should see "ModTemplate" and your server's modpack listed there. Select it.
3. Ensure that the next page reflects your preview image and workshop.txt details correctly, set the Visibility to unlisted and click Next.
4. The next step depends on if you're uploading a new modpack, or simply updating an existing one.
	* If you're creating a NEW modpack, click "This is a new workshop item. Create this item with a new Workshop ID" and let it upload. Depending on the filesize of all the mods and your internet speed this can take a while.
	* If you're updating an EXISTING modpack, after you click Next you can either "Edit Changenotes" (I do this just to leave notes for myself), or upload it immediately by clicking "Upload to Steam Workshop Now!". Depending on filesize and internet speed this can take time.

>
> * Tip: You only need to include the named folders of the mods you're using. For instance in Filibuster Rhymes' Used Cars, you only use "FRUsedCars", and either "FRUsedCarsReal" *OR* "FRUsedCarsLore". So in this case you only need to copy two folders to your modpack and not all of them. This can save you a headache later and a little bit of storage space now.
> * Tip: Creating a Steam collection is highly recommended because it allows you later to sort your mods by "Date Updated" which is hugely important in remembering which mods to update.
>
>
>

## Updating a Modpack

Now that you've successfully created a mod pack, updating should be a breeze. If you're trying to update a modpack which you didn't initially create, you'll need to be approved by the original creator on Steam and ideally they'll provide you with the latest available modpack to work with.

1. Using the Steam Collection you (hopefully) created earlier, and if you unsubscribed to all the mods after finished your modpack, click "Subscribe to All". Browse in the Workshop to your Subscribed Items page and sort by `Date: Updated`. Latest updated items will be at the top! Keep in mind you may need to come back to the Collection and unsubscribe all if you begin experiencing errors.
2. Locate the Steam Workshop folder for Project Zomboid. On Windows by default this is `C:\Program Files (x86)\Steam\steamapps\workshop\content\108600`.
3. In this folder you'll find folders named with a 10-digit number which corresponds to their Workshop ID on Steam. Go into the proper folder`s`, under their respective `📁mods` folders and copy the named folders.
4. Go into your modpack in your personal Zomboid folder (by default `C:\Users\%USERNAME%\Zomboid\Workshop\YourModpackHere) and` DELETE the mod(s) you're updating from the `📁mods` folder there. Paste those named folders in that `📁mods` folder as well.
5. Upload to the Steam Workshop.