diff options
-rw-r--r-- | src/connection.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/connection.cpp b/src/connection.cpp index 127cabdc5..5bf47f13c 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -353,9 +353,11 @@ SharedBuffer<u8> IncomingSplitBuffer::insert(BufferedPacket &p, bool reliable) <<" != sp->reliable="<<sp->reliable <<std::endl; - // If chunk already exists, cancel + // If chunk already exists, ignore it. + // Sometimes two identical packets may arrive when there is network + // lag and the server re-sends stuff. if(sp->chunks.find(chunk_num) != NULL) - throw AlreadyExistsException("Chunk already in buffer"); + return SharedBuffer<u8>(); // Cut chunk data out of packet u32 chunkdatasize = p.data.getSize() - headersize; |