diff --git a/avatar-mixer/src/main.cpp b/avatar-mixer/src/main.cpp index 0b8ebe5653..875dda42e6 100644 --- a/avatar-mixer/src/main.cpp +++ b/avatar-mixer/src/main.cpp @@ -58,12 +58,9 @@ int main(int argc, const char* argv[]) agentList->linkedDataCreateCallback = attachAvatarDataToAgent; - agentList->startDomainServerCheckInThread(); agentList->startSilentAgentRemovalThread(); - agentList->startPingUnknownAgentsThread(); sockaddr *agentAddress = new sockaddr; - sockaddr_in* agentAddressIn; unsigned char *packetData = new unsigned char[MAX_PACKET_SIZE]; ssize_t receivedBytes = 0; @@ -77,6 +74,11 @@ int main(int argc, const char* argv[]) if (agentList->getAgentSocket().receive(agentAddress, packetData, &receivedBytes)) { switch (packetData[0]) { case PACKET_HEADER_HEAD_DATA: + // add this agent if we don't have them yet + if (agentList->addOrUpdateAgent(agentAddress, agentAddress, packetData[0], agentList->getLastAgentId())) { + agentList->increaseAgentId(); + } + // this is positional data from an agent agentList->updateAgentWithData(agentAddress, packetData, receivedBytes); @@ -106,9 +108,7 @@ int main(int argc, const char* argv[]) } } - agentList->stopDomainServerCheckInThread(); agentList->stopSilentAgentRemovalThread(); - agentList->stopPingUnknownAgentsThread(); return 0; } diff --git a/libraries/shared/src/AgentList.cpp b/libraries/shared/src/AgentList.cpp index 2c7d6cf25d..be5e8155b8 100644 --- a/libraries/shared/src/AgentList.cpp +++ b/libraries/shared/src/AgentList.cpp @@ -253,7 +253,9 @@ bool AgentList::addOrUpdateAgent(sockaddr *publicSocket, sockaddr *localSocket, // to use the local socket information the domain server gave us sockaddr_in *publicSocketIn = (sockaddr_in *)publicSocket; audioMixerSocketUpdate(publicSocketIn->sin_addr.s_addr, publicSocketIn->sin_port); - } else if (newAgent->getType() == AGENT_TYPE_VOXEL) { + } else if (newAgent->getType() == AGENT_TYPE_VOXEL || newAgent->getType() == AGENT_TYPE_AVATAR_MIXER) { + // this is currently the cheat we use to talk directly to our test servers on EC2 + // to be removed when we have a proper identification strategy newAgent->activatePublicSocket(); }