Pryaxis / TShock

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

Corrupted world #1455

Closed boosemoose closed 7 years ago

boosemoose commented 7 years ago

I've been running my world in build 1575 for tens of hours however it appears to become corrupted,now when I start up even the latest version of tshock (1.3.5.3) I get

terraria_1  | Settling liquids 98%
terraria_1  | Settling liquids 99%
terraria_1  | Starting server...
terraria_1  | Server started
terraria_1  | Terraria Server v1.3.5.3
terraria_1  |
terraria_1  | Listening on port 7777
terraria_1  | Type 'help' for a list of commands.
terraria_1  |
terraria_1  | : Unhandled exception
terraria_1  | System.UnhandledExceptionEventArgs
terraria_1  | [Server API] Error ===================================================================================
terraria_1  | [Server API] Error An unhandled exception has occured in TSAPI, and a crash report will be generated
terraria_1  | [Server API] Error Generating a crash report, please wait...
terraria_1  | [Server API] Error Crash report saved at crash_131409565028039980.zip
terraria_1  | [Server API] Error Please upload the crash file and report it at http://tshock.co/
terraria_1  | [Server API] Error The process will terminate.
terraria_1  | [Server API] Error ===================================================================================
terraria_1  | [ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
terraria_1  |   at Terraria.Main.startDedInputCallBack (System.Object threadContext) [0x00017] in <06adbab0e92243bbb7ab2312d0c212fb>:0
terraria_1  |   at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object state) [0x00007] in <4dc8ec68b0964e099af86e50301f5f3c>:0
terraria_1  |   at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071]
in <4dc8ec68b0964e099af86e50301f5f3c>:0
terraria_1  |   at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <4dc8
ec68b0964e099af86e50301f5f3c>:0
terraria_1  |   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00021] in <4dc8ec68b0964e099af86e50301f5f3c>:0
terraria_1  |   at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in <4dc8ec68b0964e099af86e50301f5f3c>:0
terraria_1  |   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <4dc8ec68b0964e099af86e50301f5f3c>:0
terraria_1  | TerrariaAPI Version: 2.1.0.0 (Protocol v1.3.5.3 (194), OTAPI 1.3.5.3)
terraria_1  | [Server API] Warning Plugin "TShockAPI.TShock" is designed for a different Server API version (2.0) and was ignored.
terraria_1  | Terraria Server v1.3.5.3
terraria_1  |

And it seems to try to loop forever attempting to load the world.

Joffoworld.wld.zip

SignatureBeef commented 7 years ago

I think your main problem is due to the following line: terraria_1 | [Server API] Warning Plugin "TShockAPI.TShock" is designed for a different Server API version (2.0) and was ignored.. Updating ServerPlugins\TShockAPI.dll should fix this.

@NyxStudios/tshock During my earlier tests this crash only occurred when OTAPI.Hooks.Command.Process was not cancelled - it should be fixed in OTAPI 2.0.0.30 (https://github.com/DeathCradle/Open-Terraria-API/commit/6d1e295de6962c283aa310d1874cfc7b11a3db5d).

boosemoose commented 7 years ago

Where do I find am updated TShockAPI.dll?

ivanbiljan commented 7 years ago

@boosemoose TShockAPI.dll is shipped with the releases. Please confirm whether this is still an issue.

ivanbiljan commented 7 years ago

Seems to be fixed with OTAPI 2.0.0.30. Closing.