diff --git a/server/masterserver/gsmgr.cc b/server/masterserver/gsmgr.cc index e47b04e..862c11b 100644 --- a/server/masterserver/gsmgr.cc +++ b/server/masterserver/gsmgr.cc @@ -203,9 +203,13 @@ GSNode* GSMgr::AllocNode(int channel) GSNode* n2 = sorted_nodes->at(sorted_nodes->size() - 2); if (n1->online_num < 100 && n2->online_num < 100) { if (n1->instance_id < n2->instance_id) { - return n1; + if (n1->servicing) { + return n1; + } } else { - return n2; + if (n2->servicing) { + return n2; + } } } }