Add and implement ID_MASTER_QUERY

This commit is contained in:
Koncord 2017-01-10 18:33:02 +08:00
parent 32615d05cf
commit b5c586d5b7
2 changed files with 15 additions and 1 deletions

View file

@ -865,6 +865,19 @@ int Networking::mainLoop()
case ID_CONNECTED_PING:
case ID_UNCONNECTED_PING:
break;
case ID_MASTER_QUERY:
{
LOG_MESSAGE_SIMPLE(Log::LOG_WARN, "Query request from %s",
packet->systemAddress.ToString());
RakNet::BitStream bs;
bs.Write((unsigned char) ID_MASTER_QUERY);
bs.Write(Players::getPlayers()->size());
for(auto player : *Players::getPlayers())
bs.Write(RakNet::RakString(player.second->Npc()->mName.c_str()));
bs.Write(0); // plugins
peer->Send(&bs, HIGH_PRIORITY, RELIABLE_ORDERED, 0, packet->systemAddress, false);
break;
}
default:
update(packet);
break;

View file

@ -9,7 +9,8 @@
enum GameMessages
{
ID_GAME_BASE_INFO = ID_USER_PACKET_ENUM+1,
ID_MASTER_QUERY = ID_USER_PACKET_ENUM+1,
ID_GAME_BASE_INFO,
ID_GAME_CHARGEN,
ID_GAME_POS,
ID_GAME_DYNAMICSTATS,