diff options
author | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2019-02-18 01:33:10 -0500 |
---|---|---|
committer | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2019-09-14 16:58:52 -0400 |
commit | 4a297e29eb0c97be799ee3939e9747dc1c631427 (patch) | |
tree | 3d79b88be729437f0ad763070d1c7c1aff461954 | |
parent | 0ba8325708d6eea6bb60121d85d4cad8ab4e7787 (diff) | |
download | SMAPI-4a297e29eb0c97be799ee3939e9747dc1c631427.tar.gz SMAPI-4a297e29eb0c97be799ee3939e9747dc1c631427.tar.bz2 SMAPI-4a297e29eb0c97be799ee3939e9747dc1c631427.zip |
better handle player reconnecting before disconnection is registered
-rw-r--r-- | docs/release-notes.md | 1 | ||||
-rw-r--r-- | src/SMAPI/Framework/SMultiplayer.cs | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md index 7724904b..3041dbd3 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -4,6 +4,7 @@ These changes have not been released yet. * For players: * Fixed Save Backup not pruning old backups if they're uncompressed. + * Fixed issues when a farmhand reconnects before the game notices they're disconnected. * For modders: * Added `IContentPack.HasFile` method. diff --git a/src/SMAPI/Framework/SMultiplayer.cs b/src/SMAPI/Framework/SMultiplayer.cs index 0241ef02..dde71092 100644 --- a/src/SMAPI/Framework/SMultiplayer.cs +++ b/src/SMAPI/Framework/SMultiplayer.cs @@ -201,7 +201,8 @@ namespace StardewModdingAPI.Framework MultiplayerPeer newPeer = new MultiplayerPeer(message.FarmerID, model, sendMessage, isHost: false); if (this.Peers.ContainsKey(message.FarmerID)) { - this.Monitor.Log($"Rejected mod context from farmhand {message.FarmerID}: already received context for that player.", LogLevel.Error); + this.Monitor.Log($"Received mod context from farmhand {message.FarmerID}, but the game didn't see them disconnect. This may indicate issues with the network connection.", LogLevel.Info); + this.Peers.Remove(message.FarmerID); return; } this.AddPeer(newPeer, canBeHost: false, raiseEvent: false); |