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

Save command doesn't seem to pulse the save event to plugins. #384

Closed atom0s closed 12 years ago

atom0s commented 12 years ago

Issue:

Steps to reproduce:

The plugin never receives the invoked /save so the configuration for the chest created does not save. Causes a headache on server crashes when /save is not fully working as it should.

stevenh commented 12 years ago

This is likely fixed by https://github.com/TShock/TShock/pull/397 please confirm either way

stevenh commented 12 years ago

If there's still a problem re-open the issue including a full list of commands to reproduce the issue.

atom0s commented 12 years ago

Can't connect to the server now using latest dev build. Debugger shows the server locked at: _wh.WaitOne();

Inside the new SaveManager.

stevenh commented 12 years ago

That will be the SaveManager thread, which is to be expected as it will be just waiting for save requests to process. The main thread should still be processing.

I tested several clients connecting to a server here without any issue. After adding in ChestControl I got the stall your referring to the first time I connected but not since, so I'm unable to determine the cause atm.

Does your setup always stall?

atom0s commented 12 years ago

Sorry forgot to repost the cause. It was MoreAdminCommands. It was trying to use some old stuff that had changed causing the server to lockup connections. It's all fixed now and working. I'm using the latest dev build on my live server with some custom changes to the Sql stuff to fix the leaks. All is good so far :)

atom0s commented 12 years ago

Had the save worker lock up on me two days ago and my server crashed lost two days of building cause the world saver stopped triggering. Not sure if it is related, the only thing I can think that would cause it to lock up, stop working, or not get fired is that time was frozen on the server (/freezetime) for the two days it wasn't saving.

stevenh commented 12 years ago

I found that a bad / broken plugins could cause saves to fail this was patched yesterday in https://github.com/TShock/TShock/pull/422 so would advise updating to that build.