Browse Source

restricting bulk updates per limitations possibly imposed by client

Info/visual updates may be restricted to 1 per bulk update.  Position updates may also hard cap at a certain amount.  This is to resolve after hours of remaining in a zone instability on the spawns.
Image 4 years ago
parent
commit
4f93d986be
1 changed files with 4 additions and 1 deletions
  1. 4 1
      EQ2/source/WorldServer/client.cpp

+ 4 - 1
EQ2/source/WorldServer/client.cpp

@@ -8257,8 +8257,9 @@ void Client::SendSpawnChanges(set<Spawn*>& spawns) {
 	int32 vis_size = 0;
 
 	int count = 0;
+	bool forceSend = false;
 	for (const auto& spawn : spawns) {
-		if (count > 20 || (info_size+pos_size+vis_size) > 200)
+		if (count > 9 || (info_size+pos_size+vis_size) > 200)
 		{
 			MakeSpawnChangePacket(info_changes, pos_changes, vis_changes, info_size, pos_size, vis_size);
 
@@ -8295,6 +8296,7 @@ void Client::SendSpawnChanges(set<Spawn*>& spawns) {
 				info_size += spawn->info_packet_size;
 
 				info_changes[index] = data;
+				forceSend = true;
 			}
 			count++;
 		}
@@ -8325,6 +8327,7 @@ void Client::SendSpawnChanges(set<Spawn*>& spawns) {
 				vis_size += spawn->vis_packet_size;
 
 				vis_changes[index] = data;
+				forceSend = true;
 			}
 			count++;
 		}