Pryaxis / TShock

☕️⚡️TShock provides Terraria servers with server-side characters, anti-cheat, and community management tools.
GNU General Public License v3.0
2.41k stars 377 forks source link

Exception on server startup/world start #1041

Closed Aehrraid closed 9 years ago

Aehrraid commented 9 years ago

I am new to Tshock and Terraria Server hosting and Mono/C# on Linux aswell, please excuse that. After starting a server (I could only test it with newly created servers):

[07/20/15 15:31:34] [Server API] Verbose: TerrariaApi - Server v1.19.0.0 started.
[07/20/15 15:31:34] [Server API] Verbose:   Command line: /home/terraria/tshock/TerrariaServer.exe
[07/20/15 15:31:34] [Server API] Verbose:   OS: Unix 3.13.0.42 (64bit: True)
[07/20/15 15:31:34] [Server API] Verbose:   Mono: True
[07/20/15 15:31:48] [Server API] Error: Server crashed due to an unhandled exception:
System.TypeInitializationException: An exception was thrown by the type initializer for Newtonsoft.Json.Utilities.ConvertUtils ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
  --- End of inner exception stack trace ---
  at Newtonsoft.Json.Serialization.DefaultContractResolver.IsJsonPrimitiveType (System.Type t) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract (System.Type objectType) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract (System.Type type) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.GetContractSafe (System.Object value) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize (Newtonsoft.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.JsonSerializer.SerializeInternal (Newtonsoft.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.JsonSerializer.Serialize (Newtonsoft.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.JsonConvert.SerializeObjectInternal (System.Object value, System.Type type, Newtonsoft.Json.JsonSerializer jsonSerializer) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.JsonConvert.SerializeObject (System.Object value, System.Type type, Formatting formatting, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.JsonConvert.SerializeObject (System.Object value, Formatting formatting, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <filename unknown>:0 
  at Newtonsoft.Json.JsonConvert.SerializeObject (System.Object value, Formatting formatting) [0x00000] in <filename unknown>:0 
  at Terraria.IO.FavoritesFile.Save () [0x00000] in <filename unknown>:0 
  at Terraria.IO.FavoritesFile.SaveFavorite (Terraria.IO.FileData fileData) [0x00000] in <filename unknown>:0 
  at Terraria.IO.FileData.SetFavorite (Boolean favorite, Boolean saveChanges) [0x00000] in <filename unknown>:0 
  at Terraria.IO.WorldFile.CreateMetadata (System.String name, Boolean cloudSave, Boolean isExpertMode) [0x00000] in <filename unknown>:0 
  at Terraria.Main.DedServ () [0x00000] in <filename unknown>:0 
  at Terraria.ProgramServer.InnerStart (System.String[] args) [0x00000] in <filename unknown>:0 

And sometimes even on mono server startup:

[07/20/15 15:43:47] [Server API] Verbose: TerrariaApi - Server v1.19.0.0 started.
[07/20/15 15:43:47] [Server API] Verbose:   Command line: /home/terraria/tshock-4.3.5/TerrariaServer.exe
[07/20/15 15:43:47] [Server API] Verbose:   OS: Unix 3.13.0.42 (64bit: True)
[07/20/15 15:43:47] [Server API] Verbose:   Mono: True
[07/20/15 15:43:47] [Server API] Error: Startup aborted due to an exception in the Server API initialization:
System.InvalidOperationException: Plugin "TShock" has thrown an exception during initialization. ---> System.Exception: Fatal TShock initialization exception. See inner exception for details. ---> System.TypeInitializationException: An exception was thrown by the type initializer for Newtonsoft.Json.Utilities.ConvertUtils ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
--- End of inner exception stack trace ---
at Newtonsoft.Json.Serialization.DefaultContractResolver.IsJsonPrimitiveType (System.Type t) [0x00000] in <filename unknown>:0 
at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract (System.Type objectType) [0x00000] in <filename unknown>:0 
at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract (System.Type type) [0x00000] in <filename unknown>:0 
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.GetContractSafe (System.Type type) [0x00000] in <filename unknown>:0 
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent) [0x00000] in <filename unknown>:0 
at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in <filename unknown>:0 
at Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in <filename unknown>:0 
at Newtonsoft.Json.JsonConvert.DeserializeObject (System.String value, System.Type type, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <filename unknown>:0 
at Newtonsoft.Json.JsonConvert.DeserializeObject[ConfigFile] (System.String value, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <filename unknown>:0 
at Newtonsoft.Json.JsonConvert.DeserializeObject[ConfigFile] (System.String value) [0x00000] in <filename unknown>:0 
at TShockAPI.ConfigFile.Read (System.IO.Stream stream) [0x00000] in <filename unknown>:0 
at TShockAPI.ConfigFile.Read (System.String path) [0x00000] in <filename unknown>:0 
at TShockAPI.FileTools.SetupConfig () [0x00000] in <filename unknown>:0 
at TShockAPI.TShock.Initialize () [0x00000] in <filename unknown>:0 
--- End of inner exception stack trace ---
at TShockAPI.TShock.Initialize () [0x00000] in <filename unknown>:0 
at TerrariaApi.Server.PluginContainer.Initialize () [0x00000] in <filename unknown>:0 
at TerrariaApi.Server.ServerApi.LoadPlugins () [0x00000] in <filename unknown>:0 
--- End of inner exception stack trace ---
at TerrariaApi.Server.ServerApi.LoadPlugins () [0x00000] in <filename unknown>:0 
at TerrariaApi.Server.ServerApi.Initialize (System.String[] commandLineArgs, Terraria.Main ga

Tried running with with root permissions. No changes.

I tried running version 4.2.9: works properly!

Please help.

Aehrraid commented 9 years ago

Please close this, if I should repost in the internal forums. Thanks!

Aehrraid commented 9 years ago

Appears only with old mono versions (3.x~). Thanks!