This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.


Enable/Disable Mods by Server

Recommended Posts

If there was a way to enable/disable mods on a per server basis that would be very helpful. I run many different mods in a password protected game I host with a friend. However I'd like to host an open world with a paired down set of mods to maximize compatibility for people. There are also some mods designed to protect against griefers that I want to run on an open world but not in my password protected ones. 


My experience has been that when a host starts switching mods after a world is established it often breaks the game for some people who have been previously playing in the world. Trying to remember which mods were enabled for each server (to reduce the change of breaking the game for people who have invested in a world) is not practical. The ability to select a set of mods for servers independent of each other would help tremendously and provide a wider variety of gameplay experience. 


It would also be helpful if mods were clearly tagged as 'host only', 'client only', or 'required for everyone'. Very few mod authors articulate this. Sometimes this distinction can be found in the mod comments as the mod authors respond to specific questions to this effect. More often however this distinction isn't articulated anywhere and trial and error is required.








Link to comment
Share on other sites

@Shequan, It would probably be nice if there was an in-game system for managing stuff like this, but it does sound a bit difficult to design, interface-wise.


The best solution I have is to use a bit of code in modsettings.lua:

local wilderness_pvp = true-- local maxwell_director = trueif wilderness_pvp then	ForceEnableMod("workshop-356833566") -- Throwable Spearselseif maxwell_director then	ForceEnableMod("DirectorMaxwell")end

This way you can just comment/uncomment the booleans at the top to choose which set of mods get loaded.

Link to comment
Share on other sites

  • Developer

@Shequan, thanks for the suggestion! We already have plans to tag the mods that get uploaded with the type of mod they are (server only, client only, or everyone). This will then make then filterable on the Workshop.

As for how you deal with different games having different mod setups, we currently don't have a great way to handle this for client games. What we do have though, is support for this for dedicated servers and you can use the same methods for your purpose. What you can do is create two desktop shortcuts to Steam\SteamApps\common\Don't Starve Together Beta\bin\dontstarve_steam.exe. Then add command line parameters to point them to different config directories. So your target fields would look like this

"C:\Program Files (x86)\Steam\SteamApps\common\Don't Starve Together Beta\bin\dontstarve_steam.exe" -conf_dir DST1


"C:\Program Files (x86)\Steam\SteamApps\common\Don't Starve Together Beta\bin\dontstarve_steam.exe" -conf_dir DST2


Run the game with each shortcut and allow game launch when Steam prompts you. This will create two new directories inside Documents\Klei. Inside these two new config folders you'll want to create a new file called modoverrides.lua

return {    ["workshop-350811795"] = { enabled = true },    ["workshop-387028143"] = { enabled = true },    ["workshop-361336115"] = { enabled = true,        configuration_options =        {            hunt_time = 6,        }    },    ["workshop-336882447"] = { enabled = true }}
More information on how this works is on this page on the wiki’t_Starve_Together_Dedicated_Servers


Having the game point at two config folders will give you different banks of save games, and as long as you don't change the modoverrides file, you should always get the same mods setup for the save game.


Obviously this isn't an ideal solution (since it was designed for server operators), so we're looking at better ways of handling different save files with different mod setups. Hope this helps in the meantime though.

Link to comment
Share on other sites