diff --git a/server/masterserver/gsmgr.cc b/server/masterserver/gsmgr.cc index 494343a..19f2caf 100644 --- a/server/masterserver/gsmgr.cc +++ b/server/masterserver/gsmgr.cc @@ -71,10 +71,16 @@ void GSMgr::_SS_WSP_RequestTargetServer(f8::MsgHdr* hdr, const ss::SS_WSP_Reques a8::XObject request; request.ReadFromUrlQueryString(msg.query_str()); if (request.HasKey("server_id")) { - auto node = GetNodeByInstanceId(request.At("server_id")->AsXValue()); + node = GetNodeByInstanceId(request.At("server_id")->AsXValue()); } else { node = nullptr; } + if (!node) { + respmsg.set_error_code(1); + respmsg.set_error_msg("cant alloc node1"); + GGListener::Instance()->SendMsg(hdr->socket_handle, respmsg); + return; + } } #endif if (node) {