penguin0616 / Insight

Mod made for Don't Starve and Don't Starve Together.
Other
46 stars 14 forks source link

Fails to load on dedicated server (with solution) #30

Closed paraslacks closed 1 year ago

paraslacks commented 1 year ago

When I launched my dedicated server, the Insight mod wouldn't load. No trace of it was found in the server log, and it didn't show up in the mod list on the Browse Games screen. After doing a grep for the WS number (2189004162) I noticed it wasn't found anywhere under Steam/steamapps/common/Don\'t\ Starve\ Together. Fix:

cd <...>/Steam/steamapps
cp -rf "$(find workshop/content -name 2189004162)" "common/Don't Starve Together/mods/workshop-2189004162/"

and bounced the server. It's worked ever since, but that also means I must keep it manually updated. I'm not sure where DST is caching the mod.

Hope this helps! Thanks!


While you probably won't need the information below, I'll include how I have my dedicated server setup. Since you asked, yes, I'm running caves.

I run my dedicated servers in a way I invented myself. I only downloaded DST (not the Dedicated Server stuff on Steam). Usually, using dontstarve_dedicated_server_nullrenderer_x64.exe would require the dedicated server folder to exist in the DoNotStarveTogether folder. I work around this. Launch cmd as an admin

cd C:\Users\<...>\Documents\Klei\DoNotStarveTogether
mklink /d Cluster_1 C:\Users\<...>\Documents\Klei\DoNotStarveTogether\<...>\Cluster_1

Then I copy StartClusterx64.bat, cluster_token.txt, and adminlist.txt into the Cluster_1 folder. From DoNotStarveTogether\Cluster_1, I can then execute StartCluster64.bat. My StartCluster64.bat (for reference):

for %%* in (.) do set CurrDirName=%%~nx*
FORFILES /P %cd% /C "cmd /c IF @isdir==TRUE start @file /D \"<...>\Steam\steamapps\common\Don't Starve Together\bin64\" dontstarve_dedicated_server_nullrenderer_x64.exe -console -cluster %CurrDirName% -shard @file"

This allows me to use the DST UI to update world and mod configurations when the server isn't running.

penguin0616 commented 1 year ago

When I launched my dedicated server, the Insight mod wouldn't load. No trace of it was found in the server log, and it didn't show up in the mod list on the Browse Games screen. After doing a grep for the WS number (2189004162) I noticed it wasn't found anywhere under Steam/steamapps/common/Don't\ Starve\ Together.

Something important to note is that Insight is a V2 mod, so it's supposed to be in Steam/steamapps/workshop/content/322330/2189004162

V1 mods go in steamapps/Don't Starve Together/mods and is where the game loads non-workshop mods. Any mod that gets created or updated is automatically made into a V2 mod (which have their base directory as Steam/steamapps/workshop/content/322330/)

and bounced the server. It's worked ever since, but that also means I must keep it manually updated. I'm not sure where DST is caching the mod.

When you copy Insight to the mods folder, the game can't update it there since it's a V2 mod. The mod only updates when it's in its default place.


I like your approach! I don't download the tools and use the nullrenderer as well, but I copy files back and forth between clusters. I'll have to try using a link. Looking at your launch arguments for the nullrenderer, you'll also need to specify ugc_directory in the launch arguments when you use it. It can't find the V2 (User Generated Content) mods (ie Insight) without it. Example:

-ugc_directory "D:\\Steam\\steamapps\\workshop"

That should fix your issue. If not, go ahead and post your modoverrides for the Master shard and modsettings.

paraslacks commented 1 year ago

That fixed it! Thanks! I was able to delete the copy I made, and I've tested it in-game.

Going to date myself here. I've writing software since 2003. Haha. I'm a lazy developer. I automate everything I can. I got tired of copying files very quickly, the way you described.

Most dedicated server docs are out-of-date. As you know, there's more than one way to run a server, and each guide assumes you're running it the way they do, so not all info is relevant. If you have any good links, that would be appreciated.

By the way, have you found Shard Configuration Mod? I've cooked up some pretty cool servers with it. There are some limitations which I read have no work around. For example, I wanted to have one forest where it was normal and another that's effectively lights out. However, there must be only 1 master shard which keeps time of day. Oh well. Would have been cool. I've written a mod before, but I'm not going to write a mod for lights out and then keep one shard with a different mod config than the others.

Thanks again, and good luck!

penguin0616 commented 1 year ago

Most dedicated server docs are out-of-date. As you know, there's more than one way to run a server, and each guide assumes you're running it the way they do, so not all info is relevant. If you have any good links, that would be appreciated.

All I've really used for reference is the master_log and caves_log, so I can't offer much in terms of good links. Looking at how Klei launches their servers tends to be the best IMO, since it has to work when they do it, or else the game's unplayable.

By the way, have you found Shard Configuration Mod? I've cooked up some pretty cool servers with it.

I have not. It seems helpful though.

There are some limitations which I read have no work around. For example, I wanted to have one forest where it was normal and another that's effectively lights out. However, there must be only 1 master shard which keeps time of day. Oh well. Would have been cool. I've written a mod before, but I'm not going to write a mod for lights out and then keep one shard with a different mod config than the others.

That's fair. The game makes it much harder than it needs to be to setup interesting shard combinations.