[Server Crash] - [Dedicated Server] Surfacing issues +CMD vs PowerShell


Recommended Posts

Bug Submission:

Category: Server Crash
Issue Title: [Dedicated Server] Surfacing issues +CMD vs PowerShell
Issue Description: Greetings Klei! Apologies if this seems somewhat disorganized.

I just started experimenting today with the dedicated server build (ds-b) on Windows 7 x64.

I ran this dedicated server on an i7 laptop, 4 gb ram, 500Gb regular hard drive (PC1).

I have tested both logging onto the game as client on the same laptop (PC1) hosting the ds-b, and on a separate computer (Core2Duo PC, 4 gb ram, WinXP from 2006, I will call PC2) logging onto the ds-b on laptop (PC1).

> > >

These were in my settings.ini

enable_snapshots = true
enable_autosaver = true
default_server_name = World..
default_server_description = Endless, 10 Players, no PVP, pause when empty, enable vote kick. (test)
server port = 10999
// server port = 11016
// threaded_render = true
game_mode = Endless
pvp = false
max_players = 10
tick_rate = 60
connection_timeout = 8000
server_save_slot = 5
enable_vote_kick = true
pause_when_empty = true


> > >

The game details would come up as Custom ??? in the client, so I had to add the description. Was it due to being more than 6 players, or the enable vote kick, pause when empty? No Mods either.

Initially, I hosted with my wireless-n card. I joined the game, a few ppl joined, and then I exited. I didn't know about the LOG file until later, so I have to go on memory here. 10-15 min later, the CMD prompt said someone invoked a console cmd and reset something. Then I noticed my wifi connection was severed, even though still on. I had to manually disconnect and re-connect to re-establish internet. Most of the cmd log screen was the ds-b trying to re-establish internet contact.

So my first question is, if the Console is enabled, does that mean any client can open it up too, and mess around as they please?

I ran the ds-b again using cmd prompt. This time I joined from another computer, and the ping was great, 1-9 ping. I disconnected shortly, and two ppl joined. I come home later to see that probably 20 min after that ds-b was up, the same thing happened. Internet connection lost even though wifi is on, and most of the cmd log screen is trying to establish internet contact.

This whole time, the CPU load never exceeds 10%. In the first ds-b, we had about 5 players, and it was still less than 10% load on 1 thread! Very nice! Though this happened before the 2015-02-23 update, Im glad the new update allows for multi-thread rendering.

> > >

Now at this point, I think the problem might be my wifi connection. So now I plug in an ethernet cable to laptop (PC1).

I did not know about the LOG file yet, so I didn't like how CMD truncates older prompt info as new info is filled in. I decide to use PowerShell for Windows 7. Took me a while to figure out how to run the ds-b in it:

PS> & 'D:\online\steamcmd\dst\bin\dontstarve_dedicated_server_nullrenderer.exe'

At first this works, and I am pleased that the CPU load is even less!

But I login as client on PC2, and when I press ~ to load up console, I forgot to press LEFT CTRL to activate REMOTE COMMAND, and I type: c_reset (false). The client hangs, and I have to r-click close from the bottom desktop bar. This seemed to cause a critical problem for the PowerShell loaded ds-b. It no longer is responsive, so I close it.

NOTE: I repeated this issue (c_reset without REMOTE activated) later using CMD (command prompt) ds-b. This also hangs the client, but PC1 ds-b still keeps going. It says PC2 lost connection.

I uploaded some of the LOGS for you to analyze. At this point, loading a ds-b through PowerShell fails. The first LOG says the TOKEN expired, so I tried to update the server files:

login anonymous
force_install_dir C:\path\to\directory
app_update 343050 validate

PowerShell ds-b still fails. I know it worked before, so its not that PowerShell will not work with Don't Starve Dedicated Servers.

After refreshing the server files, CMD-based ds-b will load a game just fine. Keep in mind, however, these ds-b's were only up for less than 10 minutes. Latency was great, but I did not keep it up long enough to know what caused the unknown failures later. I will do some more tests with ethernet cable instead of wifi.

So my second question is: is PowerShell officially supported for DST dedicated servers?

Now that I know I can refer to a LOG file, I don't have to worry about CMD truncating oldest data, but PowerShell seemed more CPU friendly, and I like being able to keep track of what is going on the server real-time, rather than wait to shut server down to retrieve a LOG file.

Steps to Reproduce:
I also tested the console: c_give ("item name")

But when I entered: c_give ("flint"), the item was visible on the ground, but I couldn't click it.

I hope this information can be of use in your QA. Keep up the good work!



*PowerShell UPDATE:


I did some more testing with PowerShell (still learning it).


I got it to run without failure / shutting down.  This is just getting it initially up and running.  I still have to test out for longer length of time when all the unknowns occur.


To get it running, you have to go to the directory the null renderer exe is located (d:, cd online, cd steamcmd, etc.), and then type out that entire line: D:\online\steamcmd\dst\bin\dontstarve_dedicated_server_nullrenderer.exe


Strangely, this only works because the PS> header is missing.  I don't know how I ended up making the PS> header disappear, otherwise you would have to type: & 'D:\online\steamcmd\dst\bin\dontstarve_dedicated_server_nullrenderer.exe'

Thank you.





Link to comment
Share on other sites


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.