diff --git a/src/server.cpp b/src/server.cpp index 35405851fa85260240b44fe41f0de61c4a98de7f..18968cdf98c7d700eb86e33e8bfb4989516361dd 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -845,7 +845,7 @@ void Server::AsyncRunStep(bool initial_step) } if(unreliable_data.size() > 0) { - SendActiveObjectMessages(client->peer_id, unreliable_data); + SendActiveObjectMessages(client->peer_id, unreliable_data, false); } } m_clients.Unlock(); @@ -1893,13 +1893,17 @@ u32 Server::SendActiveObjectRemoveAdd(u16 peer_id, const std::string &datas) return pkt.getSize(); } -void Server::SendActiveObjectMessages(u16 peer_id, const std::string &datas) +void Server::SendActiveObjectMessages(u16 peer_id, const std::string &datas, bool reliable) { NetworkPacket pkt(TOCLIENT_ACTIVE_OBJECT_MESSAGES, 0, peer_id); pkt.putRawString(datas.c_str(), datas.size()); - Send(&pkt); + + m_clients.send(pkt.getPeerId(), + clientCommandFactoryTable[pkt.getCommand()].channel, + &pkt, reliable); + } s32 Server::playSound(const SimpleSoundSpec &spec, diff --git a/src/server.h b/src/server.h index 900a1eaaa7e1ff8ecfe55082a1ef39ebee3032f6..f62b5b66070a6a03c1fde915371929efa4bd16ff 100644 --- a/src/server.h +++ b/src/server.h @@ -464,7 +464,7 @@ class Server : public con::PeerHandler, public MapEventReceiver, bool collisiondetection, bool vertical, std::string texture); u32 SendActiveObjectRemoveAdd(u16 peer_id, const std::string &datas); - void SendActiveObjectMessages(u16 peer_id, const std::string &datas); + void SendActiveObjectMessages(u16 peer_id, const std::string &datas, bool reliable = true); /* Something random */