# Categories
These are not hard rules, but general guidelines. There will be cases not covered here, and things that are just wrong. Do not hestiate to let Harb know.
If you find a package in thunderstore that's listed wrong, let any moderator in the discord know.
## Mods
Your package is probably a mod if all are true:
* Contains code
* Is run by BepInEx
* Impacts the game without any other (nondependency) mod.
## Client-side:
Your package is `Client-side` if it can be used in a server without other clients requiring the use of your mod. Packages that modify the HUD for extra information are often a Client-side mod.
Packages that add new content (Items, Buffs, Monsters) are almost always **never** client-side, because there is no way for other people who don't have the package to load those assets.
## Server-side:
Your package is `Server-side` if it directly impacts the game for everyone if only the host of the server has the mod.
Packages that add new content (Items, Buffs, Monsters) are almost always **never** server-side, because there is no way for other people who don't have the package to load those assets.
### What to do with mods that require full-sync
These packages are neither server-side nor client-side. When your package is full-sync, don't add any of the two tags.
Your package is definitely full-sync if it adds any new assets (models, textures, sounds) that require syncing between the server and clients.
Nearly all of the time, the both host and clients of the server require the mod.
## Tools
Your package is a tool if all are true:
* Is for the end user to interact with
* Does not impact the game without user input
Your package is almost surely a tool if:
* your code is run outside the game
If your end users are devs and this package is not distributed to their end users, this is a tool.
## Libraries
Your package is a library if all are often true:
* Is developed against
* doesn't change gameplay when run standalone
* Often a dependency for mods.
## Modpack
Your package is a modpack if you are literally bundling up a bunch of mods, maybe some config, and perhaps some language to note ingame what it does.
*(Consider using r2modman to share modpacks with friends.)*
## Artifacts:
Your package is a artifact if it adds an [Artifact](https://riskofrain2.fandom.com/wiki/Artifact) to the game. If your mod modifies the game and is configurable with a configuration file, but does not have an in-game Artifact to toggle it, then it is not an Artifact.
## Skins
Your package falls under skins when:
* you add a skin to the game
This can be a complete overhaul skin, in which case the package is likely a **mod** as well, or just a texture, in which case the skinapi will be your dependency, and your package isn't a **mod**.
## Maps
Your package adds one or more new maps to the game. Modifying spawns on an existing map does **not** count *(Your package is likely a tweak)*.
## Gamemodes
Your package is a `Gamemode` if it modifies how the game is ran. Gamemode packages are often drastically different in gameplay. If it does not resemble a normal run of the game, then it is most likely a GameMode.
Your package is NOT a Gamemode if the features you are adding are entirely controlled behind Artifacts.
## Tweaks
Minor gameplay changes that change existing behaviour or barely add new ones. It's pretty vague category, but consider how much you are overhauling. Tweaks are generally considered to be nonintrusive to normal gameplay.
## Items
This package adds new items or equipment to the game. If you are adding unused items, that is in this category.
For completion sake, adding new Elite types often come with equipment, but consider the Enemies category instead.
This does **not** mean changing vanilla items *(Your package is likely a tweak)*.
## Language
This package changes the ingame language. If this is only one or more language files, this package isn't a **mod**.
## Audio
This package adds or changes audio in the game. Due to not being easy to replace, packages in this category will likely be a **mod** too.
## Enemies
This package adds enemies to game. Enabling unused enemies puts you in this category, but shuffling enemies around on maps doesn't. Adding new modifiers to enemies does (such as new elite types). *(Your package is likely a tweak in that case)*.
## Player Characters
This package adds a PLAYABLE survivor (although this doesn't have to be in the lobby, see the Heretic). Making a skin does **not** make your package a listing in this category.
## NSFW
This tag exists so that you can be searched for when the "include nsfw" toggle is flipped.