mooege/mooege — Issue #378: Nat disconnect no more reconnect
Author: Tolriq
Created: 2011-12-03 10:17:47+00:00
State: open

Hello,

On last build there's a bug with external players connecting via NAT (Full NAT all ports opens no firewall).

After a server disconnect no way to reconnect, it's locked on the third step.

The first time the user is locked there's this error in the log :

```
[Debug] [Server]: ReceiveCallback - [Exception] Google.ProtocolBuffers.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field. This could mean either than the input has been
truncated or that an embedded message misreported its own length.
à Google.ProtocolBuffers.CodedInputStream.ReadRawBytes(Int32 size)
à Mooege.Net.MooNet.Packets.PacketIn.Read()
à Mooege.Net.MooNet.Packets.PacketIn..ctor(MooNetClient client, CodedInputStream stream)
à Mooege.Net.MooNet.MooNetRouter.Identify(IConnection connection, CodedInputStream stream)
à Mooege.Net.MooNet.MooNetRouter.Route(ConnectionDataEventArgs e)
à Mooege.Net.MooNet.MooNetServer.<.ctor>b__e(Object sender, ConnectionDataEventArgs e)
à Mooege.Net.Server.OnDataReceived(ConnectionDataEventArgs e)
à Mooege.Net.Server.ReceiveCallback(IAsyncResult result)
```

Then all next attemps locks at the same place and only log :

```
[Fatal] [MooNetClient]: OnTSLAuthentication() exception: - [Exception] OpenSSL.Core.OpenSslException
à OpenSSL.SslStreamBase.EndRead(IAsyncResult asyncResult)
à OpenSSL.SslStream.EndRead(IAsyncResult asyncResult)
à OpenSSL.SslStream.EndAuthenticateAsServer(IAsyncResult ar)
à Mooege.Net.MooNet.MooNetClient.OnTSLAuthentication(IAsyncResult result)
```