From a8855560632b09aedeae66d449391d73000d6b5f Mon Sep 17 00:00:00 2001 From: Dr Scofield Date: Mon, 18 May 2009 16:10:48 +0000 Subject: From: Chris Yeoh We've encountered problems with textures never fully downloading and objects not moving or being deleted (from the client's point of view) even when the bandwidth settings on the client have been set very low. This can happen over reasonably lossy links (eg you're on the other side of the world from the server) as the server retries 3 times and then gives up. Whilst its possible to set ReliableIsImportant, this forces the server to keep retrying no matter what which potentially could lead to problems. This patch allows for the setting of MaxReliableResends explicitly (is set to 3 normally) in OpenSim.ini so if you know you will have clients connecting with poor connections you can set it a bit higher (10-15 works quite well even for very poor connections). --- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 3 ++- bin/OpenSim.ini.example | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 4d6b35b..f6a326f 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -532,7 +532,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_PacketHandler.ReliableIsImportant = clientConfig.GetBoolean("ReliableIsImportant", false); - + m_PacketHandler.MaxReliableResends = clientConfig.GetInt("MaxReliableResends", + m_PacketHandler.MaxReliableResends); m_primTerseUpdatesPerPacket = clientConfig.GetInt("TerseUpdatesPerPacket", m_primTerseUpdatesPerPacket); m_primFullUpdatesPerPacket = clientConfig.GetInt("FullUpdatesPerPacket", diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d54734a..f379516 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1255,7 +1255,10 @@ [LLClient] ; Resend packets markes as reliable until they are received ;ReliableIsImportant = false - + + ; Maximum number of times to resend packets marked reliable + ;MaxReliableResends = 3 + ; Configures how ObjectUpdates are compressed. ;TerseUpdatesPerPacket=10 ;FullUpdatesPerPacket=14 -- cgit v1.1