I recently went through a lot of software installs / uninstalls / upgrades in the process of hardening my webserver a bit, and after the smoke cleared i tried to start up my Terraria server again. For reference, I've upgraded from Ubuntu 18.04 to 19.04 (both are LTS versions).
I used the same shell script as before the upgrades, which basically reads:
The terminal blanks momentarily as usual when screen starts, then it dumps back out to the prompt with "[Screen is terminating]" as the output.
Attempting to run directly via TerrariaServer.bin.x86_64 doesn't even blank the screen, just does nothing visible and pops a new prompt back out.
The client-crashlog.txt file says a bunch of stuff i don't really understand about initialization and magic numbers:
My only guess is the 'System.Console' bit suggests Linux isn't giving my Terraria user access to something it needs to run in the console. It must be something i've broken by messing around with which software is installed (e.g. dropped a dependency) or something i've broken by tightening up on user permissions (e.g. denied access to some key bit of functionality).
I'm kind of lost on how to proceed. Most of the stuff i've found seaching online deals with execution of TerrariaServer.exe via mono, but most of these posts are from years ago - i assume before there were binaries for Unix-based systems. Any guidance on troubleshooting this would be amazing.
If i had concrete questions, they would be:
What software does Terraria require to run? I understand mono is needed, but anything else that might not be included in a standard Linux install?
What usual Linux infrastructure does Terraria need access to to run? I have the user owning all relevant files same as before recent upgrades, so i wouldn't think permissions should be an issue.
I used the same shell script as before the upgrades, which basically reads:
Code:
#! /bin/bash
screen /path/to/TerrariaServer.bin.x86_64 -config /path/to/world.config
The terminal blanks momentarily as usual when screen starts, then it dumps back out to the prompt with "[Screen is terminating]" as the output.
Attempting to run directly via TerrariaServer.bin.x86_64 doesn't even blank the screen, just does nothing visible and pops a new prompt back out.
The client-crashlog.txt file says a bunch of stuff i don't really understand about initialization and magic numbers:
Code:
System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.Exception: Magic number is wrong: 542
at System.TermInfoReader.ReadHeader (System.Byte[] buffer, System.Int32& position) [0x0002b] in <1170fb08300b4d0db71c1d1db8555768>:0
at System.TermInfoReader..ctor (System.String term, System.String filename) [0x00065] in <1170fb08300b4d0db71c1d1db8555768>:0
at System.TermInfoDriver..ctor (System.String term) [0x00058] in <1170fb08300b4d0db71c1d1db8555768>:0
at System.ConsoleDriver.CreateTermInfoDriver (System.String term) [0x00000] in <1170fb08300b4d0db71c1d1db8555768>:0
at System.ConsoleDriver..cctor () [0x00062] in <1170fb08300b4d0db71c1d1db8555768>:0
--- End of inner exception stack trace ---
at System.Console.SetupStreams (System.Text.Encoding inputEncoding, System.Text.Encoding outputEncoding) [0x0000a] in <1170fb08300b4d0db71c1d1db8555768>:0
at System.Console..cctor () [0x000a8] in <1170fb08300b4d0db71c1d1db8555768>:0
--- End of inner exception stack trace ---
at Terraria.Main.DedServ () [0x00045] in <13b27967e15e4b599e2813a00bd8f379>:0
at Terraria.Program.LaunchGame (System.String[] args, System.Boolean monoArgs) [0x00092] in <13b27967e15e4b599e2813a00bd8f379>:0
My only guess is the 'System.Console' bit suggests Linux isn't giving my Terraria user access to something it needs to run in the console. It must be something i've broken by messing around with which software is installed (e.g. dropped a dependency) or something i've broken by tightening up on user permissions (e.g. denied access to some key bit of functionality).
I'm kind of lost on how to proceed. Most of the stuff i've found seaching online deals with execution of TerrariaServer.exe via mono, but most of these posts are from years ago - i assume before there were binaries for Unix-based systems. Any guidance on troubleshooting this would be amazing.
If i had concrete questions, they would be:
What software does Terraria require to run? I understand mono is needed, but anything else that might not be included in a standard Linux install?
What usual Linux infrastructure does Terraria need access to to run? I have the user owning all relevant files same as before recent upgrades, so i wouldn't think permissions should be an issue.