From fc42c1bc94e5a6717afa25dacfd64c60bff15e36 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 24 Jan 2017 17:08:13 -0800 Subject: [PATCH] don't tell ESS about script Agents that won't talk to it --- domain-server/src/DomainServer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index 5a5dd62c40..8a7ff7ab20 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -960,11 +960,14 @@ void DomainServer::sendDomainListToNode(const SharedNodePointer& node, const Hif // (1/19/17) Agents only need to connect to Entity Script Servers to perform administrative tasks // related to entity server scripts. Only agents with rez permissions should be doing that, so // if the agent does not have those permissions, we do not want them and the server to incur the - // overhead of connecting to one another. + // overhead of connecting to one another. Additionally we exclude agents that do not care about the + // Entity Script Server and won't attempt to connect to it. + auto otherNodeData = static_cast(otherNode->getLinkedData()); bool shouldNotConnect = (node->getType() == NodeType::Agent && otherNode->getType() == NodeType::EntityScriptServer && !node->getCanRez() && !node->getCanRezTmp()) || (node->getType() == NodeType::EntityScriptServer && otherNode->getType() == NodeType::Agent - && !otherNode->getCanRez() && !otherNode->getCanRezTmp()); + && (!otherNodeData->getNodeInterestSet().contains(NodeType::EntityServer) || + !otherNode->getCanRez() && !otherNode->getCanRezTmp())); if (!shouldNotConnect) { // since we're about to add a node to the packet we start a segment