diff --git a/Server/Core/Networking/Client.cs b/Server/Core/Networking/Client.cs
index fb9975e9..c272583b 100644
--- a/Server/Core/Networking/Client.cs
+++ b/Server/Core/Networking/Client.cs
@@ -42,6 +42,7 @@ private void OnClientState(bool connected)
ClientState(this, connected);
}
+ if (connected && _parentServer.BufferManager.BuffersAvailable == 0)
_parentServer.BufferManager.IncreaseBufferCount(1);
if (!connected && !_parentServer.Processing)
@@ -397,4 +398,4 @@ public void AddTypesToSerializer(Type parent, params Type[] types)
AddTypeToSerializer(parent, type);
}
}
-}
+}
\ No newline at end of file
diff --git a/Server/Core/Networking/PooledBufferManager.cs b/Server/Core/Networking/PooledBufferManager.cs
index 7147d83d..13893c16 100644
--- a/Server/Core/Networking/PooledBufferManager.cs
+++ b/Server/Core/Networking/PooledBufferManager.cs
@@ -183,17 +183,6 @@ public bool ReturnBuffer(byte[] buffer)
return true;
}
- ///
- /// Frees all buffers.
- ///
- public void FreeAllBuffers()
- {
- while (_buffers.Count != 0)
- {
- DecreaseBufferCount(1);
- }
- }
-
///
/// Increases the number of buffers available in the pool by a given size.
///
diff --git a/Server/Core/Networking/Server.cs b/Server/Core/Networking/Server.cs
index f15fcffa..25d1c969 100644
--- a/Server/Core/Networking/Server.cs
+++ b/Server/Core/Networking/Server.cs
@@ -392,7 +392,6 @@ public void Disconnect()
}
}
- BufferManager.FreeAllBuffers();
Listening = false;
OnServerState(false);
}