SignatureBeef / Terraria-s-Dedicated-Server-Mod

TDSM - .NET and Mono compatible Terraria Server Software Mod
MIT License
143 stars 49 forks source link

Server Config: Missing/Commmented "autocreate" Option Crash #188

Open D1G1T4L3CH0 opened 9 years ago

D1G1T4L3CH0 commented 9 years ago

If the "autocreate" option is commented out or missing from the config file but "world" is specified, you get a crash. Happens on both windows and linux.

8/19/2015 2:50:50 PM Pool> Server state changed to: WorldLoading

Unhandled Exception: System.IO.FileNotFoundException: Could not find file 'E:\Windows\Desktop\TDSM-Rebind\pre-release\Worlds\world1.wld'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.File.InternalReadAllBytes(String path, Boolean checkHost)
   at Terraria.Utilities.FileUtilities.ReadAllBytes(String path, Boolean cloud)
   at TDSM.API.Callbacks.WorldFileCallback.loadWorld(Boolean loadFromCloud)
   at Terraria.WorldGen.serverLoadWorldCallBack(Object threadContext)
   at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
SignatureBeef commented 9 years ago

Seems to be a flaw in vanilla code. We could fix it, but Re-Logic may as well so I'll make this a low priority since the exception states the issue. If all b6 items are checked off I'll implement it.