TShock in Docker/Linux crashes at startup since 4.5.5 #2524
-
Hello, First off, thank you for your all work on TShock, I really appreciate and enjoy the enhancements it brings to Terraria over the vanilla server. Ever since version 4.5.5 my TShock server container has been unusable. Version 4.5.4 and prior are stable but starting in version 4.5.6 I get "ERROR: System.NullReferenceException: Object reference not set to an instance of an object". A bit of background first. I normally run TShock as a container on a Linux VM and this has been working perfectly for a while now. If I run TShock natively under Windows using the same TShock zip and world file all is well. The Docker image is amd64/debian:11.1 based with with mono-complete 6.12.122 installed from the mono apt repository (standard process for installing mono, not the mono version from a Debian/3rd party repo). Again, this image has been working perfectly in 4.5.5 and older so I don't think it's missing anything or using incompatible versions (unless something changed as of 4.5.6). I've also tried copying what other Docker TShock projects do that I found online which use a mono image as the base as well as rolling back to Debian 10 and trying alternative mono versions but I get the same results in all cases. I get an identical stack trace regardless if I use the world I've been playing since Journey's End came out or I generate a clean world in the current game version. My question is, did something change in 4.5.6 that requires changes for Linux/Mono servers? Thanks Log Files (this is a fresh run, new world file using the latest 4.5.11 version) I can make my Dockerfile and entry script available if needed but that won't entirely make sense outside my environment (I run a private Gitlab instance and use Gitlab's CI/CD tooling to provide some of the environmental details but I might be able to substitute equivalent parameters for sake of clarity). |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
The only possible thing I can think of is that we're keeping console input active. Can you pass |
Beta Was this translation helpful? Give feedback.
The only possible thing I can think of is that we're keeping console input active. Can you pass
-disable-commands
as a startup argument to TShock and try booting again?