Jump to content

converting linux (docker) server to windows dedicated and installing mods


Recommended Posts

Potentially Unnecessary background info:

I've been running a linux server for some time now.  It's reached about 850 days.  Regardless of changing tick_rate or removing mods it just lags and has become unplayable since the March updates :cry:.  My younger servers (200 days) are fine.

It's been running in docker, which could be part of the performance limitations, though it never maxes out even 1 of the i9 cores.  Nor hits its 6GB memory limitation

I've decided to try it out on Windows, the machine is a little more powerful (4.0Ghz) and I can run it native there - no docker.  Maybe that'll work.  However, I've run into some issues mapping the files back.

 

Any whosits~~ on Vindows....

To start I copied all of my former data directory into C:\dst_server\

That leaves me with the following setup:

C:\dst_server\dst\DoNotStarveTogether\Cluster_1\Master
C:\dst_server\dst\DoNotStarveTogether\Cluster_1\Caves
C:\dst_server\dst\DoNotStarveTogether\Cluster_1\mods
C:\dst_server\dst\DoNotStarveTogether\Cluster_1\mods\dedicated_server_mods_setup.lua

And many other files I shan't mention.

I wrote my start_dst_server.bat to use the custom directory: 

 

c:\steamcmd\steamcmd.exe +login anonymous +app_update 343050 validate +quit
cd /D "c:\steamcmd\steamapps\common\Don't Starve Together Dedicated Server\bin"
dontstarve_dedicated_server_nullrenderer -persistent_storage_root C:\dst_server\dst -ugc_directory C:\dst_server\dst\ugc -only_update_server_mods
start dontstarve_dedicated_server_nullrenderer -persistent_storage_root  C:\dst_server\dst -ugc_directory  C:\dst_server\dst\ugc -shard Master
start dontstarve_dedicated_server_nullrenderer -persistent_storage_root  C:\dst_server\dst -ugc_directory  C:\dst_server\dst\ugc -shard Caves

This includes the recent -ugc_directory change that got my docker stuff back up

Other than the batch file and C:\dst_server path this is basically the same setup I had on linux.  But it doesn't install the mods. 

The mod update portion logs out:

[00:00:01]: cGame::InitializeOnMainThread
[00:00:01]: Renderer initialize: Okay
[00:00:01]: AnimManager initialize: Okay
[00:00:01]: Buffers initialize: Okay
[00:00:01]: cDontStarveGame::DoGameSpecificInitialize()
[00:00:01]: GameSpecific initialize: Okay
[00:00:01]: cGame::StartPlaying
[00:00:01]: LOADING LUA
[00:00:01]: DoLuaFile scripts/main.lua
[00:00:01]: DoLuaFile loading buffer scripts/main.lua
[00:00:01]:   taskgrouplist:    default Together
[00:00:01]:   taskgrouplist:    classic Classic
[00:00:01]:   taskgrouplist:    cave_default    Underground
[00:00:01]:   taskgrouplist:    lavaarena_taskset       The Forge
[00:00:01]:   taskgrouplist:    quagmire_taskset        The Gorge
[00:00:01]: running main.lua

[00:00:01]: loaded modindex
[00:00:01]: ModIndex: Beginning normal load sequence for dedicated server.

[00:00:01]: FinishDownloadingServerMods Complete!
src\tier1\fileio.cpp (4914) : Assertion Failed: s_bExit
src\tier1\fileio.cpp (4914) : Assertion Failed: s_bExit
src\tier1\fileio.cpp (4916) : Assertion Failed: m_vecRegisteredWriters.Count() == 0
src\tier1\fileio.cpp (4916) : Assertion Failed: m_vecRegisteredWriters.Count() == 0
src\tier0\threadtools.cpp (3659) : Assertion Failed: Illegal termination of worker thread 'CFileWriterThread'
src\tier0\threadtools.cpp (3659) : Assertion Failed: Illegal termination of worker thread 'CFileWriterThread'
src\tier0\threadtools.cpp (3659) : Assertion Failed: Illegal termination of worker thread 'Thread(0x54D056E8/0x00000674/0x'
src\tier0\threadtools.cpp (3659) : Assertion Failed: Illegal termination of worker thread 'Thread(0x54D056E8/0x00000674/0x'
src\tier1\fileio.cpp (4976) : Assertion Failed: CFileWriterThread already exited
src\tier1\fileio.cpp (4976) : Assertion Failed: CFileWriterThread already exited
src\tier1\fileio.cpp (4976) : Assertion Failed: CFileWriterThread already exited
src\tier1\fileio.cpp (4976) : Assertion Failed: CFileWriterThread already exited
src\tier1\fileio.cpp (4976) : Assertion Failed: CFileWriterThread already exited
src\tier1\fileio.cpp (4976) : Assertion Failed: CFileWriterThread already exited

 

So that's a fail...but why?   The server's themselves do load - AND they find the right data!  I can log in and I'm on the right map, where I last saved. 

Just the mods don't load...

How can I get the mods working?

Thanks in advance!

Link to comment
Share on other sites

On 3/23/2021 at 3:58 PM, I Heart Popcorn said:

Mod files don’t go into the same folder as the server files. They go in

  • Steam\steamapps\common\Don't Starve Together Dedicated Server\mods

 

I'm overriding the defaults with `-persistent_storage_root`  and `-ugc_directory` options when running the server.  I don't think this directory should apply - even if it did I'm not concerned with where the actual mod files end up, so long as they download.

 

On 3/23/2021 at 3:58 PM, I Heart Popcorn said:

Further the modsetup file doesn’t go in the server files either.

 

Is this a difference between windows and Linux servers?  This did work in Linux.

 

I suspect the real issue is that Windows server is looking for dedicated_server_mods_setup.lua in a different location.  

Link to comment
Share on other sites

Thanks for trying to help Popcorn

 

It didn't appear to have been overridden.  I've got the entire thing checked into git, so I know when a file has changed pretty easily.  From what I understand the mod files themselves may be overridden.

Regardless, the windows PC sufferered a BIOS issue and no longer boots ... so I won't be able to keep pursuing this.

Link to comment
Share on other sites

So I figured out the problem here. 

c:\steamcmd\steamcmd.exe +login anonymous +app_update 343050 validate +quit
cd /D "c:\steamcmd\steamapps\common\Don't Starve Together Dedicated Server\bin"
dontstarve_dedicated_server_nullrenderer -persistent_storage_root C:\dst_server\dst -ugc_directory C:\dst_server\dst\ugc -only_update_server_mods
start dontstarve_dedicated_server_nullrenderer -persistent_storage_root  C:\dst_server\dst -ugc_directory  C:\dst_server\dst\ugc -shard Master
start dontstarve_dedicated_server_nullrenderer -persistent_storage_root  C:\dst_server\dst -ugc_directory  C:\dst_server\dst\ugc -shard Caves

 

Problem1: Regardless of `persistent_storage_root` or `ugc_directory` options, mods to DOWNLOAD are read from another directory.  I tried copying the file to setup the mods there and it downloaded them (to the right directories based on options!)

Problem 2: Steamcmd wipes that file out on every run - replacing it with a default.  I resolved this by adding a copy command to the batch file to copy the file back over.

 

Link to comment
Share on other sites

c:\steamcmd\steamcmd.exe +login anonymous +app_update 343050 validate +quit
cd /D "c:\steamcmd\steamapps\common\Don't Starve Together Dedicated Server\bin"


REM The steam update wipes out the mod config file, forcing everything to re-download
copy "C:\dst_server\dst\DoNotStarveTogether\Cluster_1\mods\dedicated_server_mods_setup.lua" "C:\steamcmd\steamapps\common\Don't Starve Together Dedicated Server\mods\"

dontstarve_dedicated_server_nullrenderer -persistent_storage_root C:\dst_server\dst -ugc_directory C:\dst_server\dst\ugc -only_update_server_mods -shard Master

start dontstarve_dedicated_server_nullrenderer -persistent_storage_root  C:\dst_server\dst -ugc_directory  C:\dst_server\dst\ugc -shard Master

start dontstarve_dedicated_server_nullrenderer -persistent_storage_root  C:\dst_server\dst -ugc_directory  C:\dst_server\dst\ugc -shard Caves

 

Link to comment
Share on other sites

Archived

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.

×
  • Create New...