From c8739ccd4757b471d016c0981720bc77dcde6376 Mon Sep 17 00:00:00 2001 From: lotodore Date: Mon, 30 Sep 2013 23:36:32 +0200 Subject: [PATCH] Adding limitation for the number of spectators per game. --- src/net/common/servergamestate.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/net/common/servergamestate.cpp b/src/net/common/servergamestate.cpp index a807c738..372e5165 100644 --- a/src/net/common/servergamestate.cpp +++ b/src/net/common/servergamestate.cpp @@ -82,6 +82,7 @@ using namespace std; #define SERVER_GAME_FORCED_TIMEOUT_FACTOR 60 #define SERVER_VOTE_KICK_TIMEOUT_SEC 30 #define SERVER_LOOP_DELAY_MSEC 50 +#define SERVER_MAX_NUM_SPECTATORS_PER_GAME 100 // Helper functions @@ -555,7 +556,11 @@ void ServerGameStateInit::HandleNewSpectator(boost::shared_ptr server, boost::shared_ptr session) { if (session && session->GetPlayerData()) { - AcceptNewSession(server, session, true); + if (server->GetSpectatorIdList().size() >= SERVER_MAX_NUM_SPECTATORS_PER_GAME) { + server->MoveSessionToLobby(session, NTF_NET_REMOVED_GAME_FULL); + } else { + AcceptNewSession(server, session, true); + } } }