TShock/TShockAPI
Lucas Nicodemus ac76ccf589
Fix doors in the lamest way possible (!)
Fixes #1774.

This commit is designed to fix the clientside door desync issue. Based
on the order of events that I've been able to see, the way that door
opening works is like this:

1. Client sends a door open request.
2. Server echoes request back to client.
3. Both server and client simulate door opening.
4. The client that requests the initial door open sends a tile square to
the server for some reason.

In TShock, under all circumstances, we send a tile square back to the
client that sends one in, unless you have the
`tshock.ignore.sendtilesquare` permission. This adds a deviation: it
does not network data back if the event is just a door change. Doing
this is safe from the perspective of actual gameplay. A previous
iteration of this commit synchronized data to other clients, but that
seemed superfluous.

This does not really solve the underlying problem or answer the question
as to why sending a tile square back to the client seems to throw it
off, but it does. I was not able to replicate the desync issue anymore
with this branch. I expect that it will be safe to keep, because the
improved logic will only happen if the tile square had no effective
changes in addition to the door changes.
2020-05-31 00:40:03 -07:00
..
CLI Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
DB Merge branch 'general-devel' into patch-7 2020-05-30 00:18:44 -07:00
Extensions Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Hooks Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Localization pass compile; add void vault code 2020-05-17 21:38:47 +08:00
Models Add modeling to new projectile handling 2020-05-18 15:47:31 +09:30
Net Fix wall read bug in NetTile 2020-05-29 17:17:24 +09:30
Properties Version tick: 4.4.0 2020-05-18 01:04:51 -07:00
Rest Resolve null reference on REST user group name. Solves #1850 2020-05-22 14:41:52 +09:30
ServerSideCharacters Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Sockets pass compile; add void vault code 2020-05-17 21:38:47 +08:00
app.config Saving work to apply merge changes 2017-04-19 17:12:38 -06:00
BackupManager.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Bouncer.cs Fix doors in the lamest way possible (!) 2020-05-31 00:40:03 -07:00
Commands.cs Merge branch 'general-devel' into patch-6 2020-05-30 00:11:18 -07:00
ConfigFile.cs Merge branch 'general-devel' of github.com:Pryaxis/TShock into general-devel 2020-05-24 14:06:17 -07:00
FileTools.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
GeoIPCountry.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
GetDataHandlers.cs Update GetDataHandlers ExtraValue packet handling to match the network protocol. 2020-05-29 16:44:03 -04:00
Group.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
HandlerList.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
ILog.cs Overhaul debug logging 2020-05-19 22:04:10 -07:00
IPackable.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
ItemBans.cs Update Bouncer/Item Bans refs for new models 2020-05-18 14:45:36 +09:30
NetItem.cs pass compile; add void vault code 2020-05-17 21:38:47 +08:00
packages.config Update to Newtonsoft JSON v10.0.3 for parity with OTAPI/TSAPI 2019-03-30 15:47:14 +10:30
PaginationTools.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Permissions.cs Add /sync command to alleviate door related sadness 2020-05-29 21:04:48 -07:00
PlayerData.cs Only process journey research updates for SSC mode 2020-05-25 01:01:47 -07:00
RegionHandler.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Resources.Designer.cs Remove headers from autogenerated file 2016-10-17 11:28:34 +05:30
Resources.resx Remove 2 year old config files... 2013-10-01 20:55:19 -04:00
SaveManager.cs Clean up world save to be less alarmist 2020-05-23 23:33:16 -07:00
SqlLog.cs Properly don't log if not logging enabled 2020-05-20 00:00:09 -07:00
TextLog.cs Properly don't log if not logging enabled 2020-05-20 00:00:09 -07:00
TShock.cs Merge branch 'general-devel' into general-devel 2020-05-30 00:32:57 -07:00
TShockAPI.csproj Revert TShockAPI.csproj to original. 2020-05-29 00:10:57 +02:00
TShockAPI.licenseheader Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
TSPlayer.cs Fix paint permission check 2020-05-29 13:58:44 +09:30
TSServerPlayer.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
UpdateManager.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Utils.cs pass compile; add void vault code 2020-05-17 21:38:47 +08:00
web.config Saving work to apply merge changes 2017-04-19 17:12:38 -06:00