Time to move on from that weird protocol kludge of not ACKing some valid packets received. We can't ignore repeated UCC requests as that does not allow cleanup of old data. If an error happens, the user just cannot communicate with the region after that, without a region restart.
And I may have fixed the error cleaning up that caused all subsequent UCC updates to not update. The _connectionsByEndpoint.Add() should have been a dictionary update. I witnessed an "already exists" exception here, which is why there's a dict[key] assignment now instead of the call to .Add that was there before.
Time to move on from that weird protocol kludge of not ACKing some valid packets received. We can't ignore repeated UCC requests as that does not allow cleanup of old data. If an error happens, the user just cannot communicate with the region after that, without a region restart.
And I may have fixed the error cleaning up that caused all subsequent UCC updates to not update. The _connectionsByEndpoint.Add() should have been a dictionary update. I witnessed an "already exists" exception here, which is why there's a dict[key] assignment now instead of the call to .Add that was there before.