Check timeout only for human players.
This commit is contained in:
@@ -1197,7 +1197,7 @@ ServerGameStateHand::StartNewHand(boost::shared_ptr<ServerGame> server)
|
|||||||
}
|
}
|
||||||
PlayerListIterator player_i = curGame.getSeatsList()->begin();
|
PlayerListIterator player_i = curGame.getSeatsList()->begin();
|
||||||
PlayerListIterator player_end = curGame.getSeatsList()->end();
|
PlayerListIterator player_end = curGame.getSeatsList()->end();
|
||||||
unsigned playerCounter = 0;
|
int playerCounter = 0;
|
||||||
while (player_i != player_end && playerCounter < server->GetStartData().numberOfPlayers) {
|
while (player_i != player_end && playerCounter < server->GetStartData().numberOfPlayers) {
|
||||||
NetPlayerState_t *seatState = (NetPlayerState_t *)calloc(1, sizeof(NetPlayerState_t));
|
NetPlayerState_t *seatState = (NetPlayerState_t *)calloc(1, sizeof(NetPlayerState_t));
|
||||||
if ((*player_i)->getMyCash() <= 0) {
|
if ((*player_i)->getMyCash() <= 0) {
|
||||||
@@ -1273,17 +1273,18 @@ ServerGameStateHand::StartNewHand(boost::shared_ptr<ServerGame> server)
|
|||||||
void
|
void
|
||||||
ServerGameStateHand::CheckPlayerTimeouts(boost::shared_ptr<ServerGame> server)
|
ServerGameStateHand::CheckPlayerTimeouts(boost::shared_ptr<ServerGame> server)
|
||||||
{
|
{
|
||||||
// Consider all players, even inactive.
|
// Check timeout.
|
||||||
PlayerListIterator i = server->GetGame().getSeatsList()->begin();
|
int actionTimeout = server->GetGameData().playerActionTimeoutSec;
|
||||||
PlayerListIterator end = server->GetGame().getSeatsList()->end();
|
if (actionTimeout) {
|
||||||
|
// Consider all players, even inactive.
|
||||||
|
PlayerListIterator i = server->GetGame().getSeatsList()->begin();
|
||||||
|
PlayerListIterator end = server->GetGame().getSeatsList()->end();
|
||||||
|
|
||||||
// Send cards to all players.
|
// Check timeouts of all players.
|
||||||
while (i != end) {
|
while (i != end) {
|
||||||
boost::shared_ptr<PlayerInterface> tmpPlayer = *i;
|
boost::shared_ptr<PlayerInterface> tmpPlayer = *i;
|
||||||
// Check timeout.
|
if (tmpPlayer->getMyType() == PLAYER_TYPE_HUMAN
|
||||||
int actionTimeout = server->GetGameData().playerActionTimeoutSec;
|
&& (int)tmpPlayer->getTimeSecSinceLastRemoteAction() >= actionTimeout * SERVER_GAME_AUTOFOLD_TIMEOUT_FACTOR) {
|
||||||
if (actionTimeout) {
|
|
||||||
if ((int)tmpPlayer->getTimeSecSinceLastRemoteAction() >= actionTimeout * SERVER_GAME_AUTOFOLD_TIMEOUT_FACTOR) {
|
|
||||||
if (tmpPlayer->isSessionActive()) {
|
if (tmpPlayer->isSessionActive()) {
|
||||||
tmpPlayer->setIsSessionActive(false);
|
tmpPlayer->setIsSessionActive(false);
|
||||||
boost::shared_ptr<SessionData> session = server->GetSessionManager().GetSessionByUniquePlayerId(tmpPlayer->getMyUniqueID());
|
boost::shared_ptr<SessionData> session = server->GetSessionManager().GetSessionByUniquePlayerId(tmpPlayer->getMyUniqueID());
|
||||||
@@ -1300,8 +1301,8 @@ ServerGameStateHand::CheckPlayerTimeouts(boost::shared_ptr<ServerGame> server)
|
|||||||
server->KickPlayer(tmpPlayer->getMyUniqueID());
|
server->KickPlayer(tmpPlayer->getMyUniqueID());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
++i;
|
||||||
}
|
}
|
||||||
++i;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user