diff --git a/src/net/common/serverlobbythread.cpp b/src/net/common/serverlobbythread.cpp index c35deb2b..66f68cae 100644 --- a/src/net/common/serverlobbythread.cpp +++ b/src/net/common/serverlobbythread.cpp @@ -47,6 +47,7 @@ #include #include #include +#include #include #define SERVER_MAX_NUM_SESSIONS 512 // Maximum number of idle users in lobby. @@ -1665,6 +1666,11 @@ ServerLobbyThread::EstablishSession(SessionWrapper session) boost::shared_ptr ack(new NetPacket(NetPacket::Alloc)); ack->GetMsg()->present = PokerTHMessage_PR_initAckMessage; InitAckMessage_t *netInitAck = &ack->GetMsg()->choice.initAckMessage; + boost::uuids::uuid sessionId(m_sessionIdGenerator()); + OCTET_STRING_fromBuf( + &netInitAck->yourSessionId, + (char *)&sessionId, + boost::uuids::uuid::static_size()); // initAckData.sessionId = session.sessionData->GetId(); // TODO: currently unused. netInitAck->yourPlayerId = session.playerData->GetUniqueId(); GetSender().Send(session.sessionData, ack); diff --git a/src/net/serverlobbythread.h b/src/net/serverlobbythread.h index cc2813d3..e98a601b 100644 --- a/src/net/serverlobbythread.h +++ b/src/net/serverlobbythread.h @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -258,6 +259,8 @@ private: boost::asio::deadline_timer m_saveStatisticsTimer; boost::asio::deadline_timer m_loginLockTimer; + boost::uuids::random_generator m_sessionIdGenerator; + const boost::posix_time::ptime m_startTime; friend class InternalServerCallback;