diff --git a/Subsurface/Barotrauma.csproj b/Subsurface/Barotrauma.csproj
index f29daa602..3e95f82d0 100644
--- a/Subsurface/Barotrauma.csproj
+++ b/Subsurface/Barotrauma.csproj
@@ -468,7 +468,7 @@
PreserveNewest
-
+
PreserveNewest
@@ -641,10 +641,10 @@
PreserveNewest
Designer
-
+
PreserveNewest
-
+
PreserveNewest
Designer
diff --git a/Subsurface/Source/Characters/Character.cs b/Subsurface/Source/Characters/Character.cs
index 2fadac1c6..5fbd13970 100644
--- a/Subsurface/Source/Characters/Character.cs
+++ b/Subsurface/Source/Characters/Character.cs
@@ -393,7 +393,34 @@ namespace Barotrauma
public static Character Create(string file, Vector2 position, CharacterInfo characterInfo = null, bool isNetworkPlayer = false, bool hasAi=true)
{
- if (!System.IO.File.Exists(file)) return null;
+#if LINUX
+ if (!System.IO.File.Exists(file))
+ {
+
+ //if the file was not found, attempt to convert the name of the folder to upper case
+ var splitPath = file.Split('/');
+ if (splitPath.Length > 2)
+ {
+ splitPath[splitPath.Length-2] =
+ splitPath[splitPath.Length-2].First().ToString().ToUpper() + splitPath[splitPath.Length-2].Substring(1);
+
+ file = string.Join("/", splitPath);
+ }
+
+ if (!System.IO.File.Exists(file))
+ {
+ DebugConsole.ThrowError("Spawning a character failed - file ''"+file+"'' not found!");
+ return null;
+ }
+ }
+#else
+ if (!System.IO.File.Exists(file))
+ {
+ DebugConsole.ThrowError("Spawning a character failed - file ''"+file+"'' not found!");
+ return null;
+ }
+#endif
+
if (file != humanConfigFile)
{
diff --git a/Subsurface/Source/Items/Item.cs b/Subsurface/Source/Items/Item.cs
index 57297b9f5..a427cbac5 100644
--- a/Subsurface/Source/Items/Item.cs
+++ b/Subsurface/Source/Items/Item.cs
@@ -1645,7 +1645,7 @@ namespace Barotrauma
#if DEBUG
System.Diagnostics.Debug.Assert(body != null, "Tried to send a PhysicsBodyPosition message for an item that has no physics body ("+Name+")");
#else
- if (body == null) return;
+ if (body == null) return false;
#endif
body.FillNetworkData(message);