Added TimedServerReset

This commit is contained in:
ChocoTaco 2019-07-19 19:14:24 -04:00
parent e3de008b18
commit 291821f250
5 changed files with 107 additions and 6 deletions

Binary file not shown.

View file

@ -60,7 +60,8 @@ $Host::DefenseTurret::MaxWptHeight = 10;
$Host::DefenseTurret::Optional = 0;
$Host::DefenseTurret::RequiredInTourney = 0;
$Host::DMSLOnlyMode = 0;
$Host::EmptyServerReset = 0;
$Host::EmptyServerReset = 1;
$Host::EmptyServerResetTime = 120;
$Host::EnableAutobalance = 1;
$Host::EnableLakUnlimitedDJ = 1;
$Host::EnableMortarTurret = 0;

View file

@ -5,8 +5,6 @@
// and aspects within the server.
//
//
// To control whether the server auto resets when empty
// $Host::EmptyServerReset = 0;
$GetCountsClientTeamChange = true;
@ -19,9 +17,6 @@ function CreateServer( %mission, %missionType )
parent::CreateServer( %mission, %missionType );
//Call for a GetTeamCount update
GetTeamCounts( %game, %client, %respawn );
//Whether the server auto restarts when empty or not
$Host::Dedicated = $Host::EmptyServerReset;
}
};

View file

@ -0,0 +1,103 @@
//Timed Server reset
//Reset Server after a certain time
//
//Time in Minutes
// $Host::EmptyServerResetTime = 120;
//To control whether the server auto resets when empty
// $Host::EmptyServerReset = 1;
//Changed in evo Server.ovl
//
//function GameConnection::onDrop(%client, %reason)
//{
// if(isObject(Game))
// Game.onClientLeaveGame(%client);
//
// // make sure that tagged string of player name is not used
// if($CurrentMissionType !$= "SinglePlayer")
// messageAllExcept(%client, -1, 'MsgClientDrop', '\c1%1 has left the game.', getTaggedString(%client.name), %client);
// else
// messageAllExcept(%client, -1, 'MsgClientDrop', "", getTaggedString(%client.name), %client);
//
// if(isObject(%client.camera))
// %client.camera.delete();
//
// // z0dd - ZOD, 6/19/02. Strip the hit sound tags
// removeTaggedString(%client.playerHitWav);
// removeTaggedString(%client.vehicleHitWav);
// removeTaggedString(%client.name);
// removeTaggedString(%client.voiceTag);
// removeTaggedString(%client.skin);
// freeClientTarget(%client);
//
// echo("CDROP: " @ %client @ " " @ %client.getAddress());
// $HostGamePlayerCount--;
//
// // z0dd - ZOD, 5/05/04. Add a bot for every client drop if balanced bots are set
// if( $Host::BotsEnabled )
// {
// if($Host::ClassicBalancedBots)
// {
// if(!%client.isAIControlled())
// {
// if (serverCanAddBot())
// {
// aiConnectMultiple( 1, $Host::MinBotDifficulty, $Host::MaxBotDifficulty, -1 );
// $HostGameBotCount++;
// }
// }
// }
// }
// if($Host::ClassicAutoPWEnabled)
// {
// if( ($HostGamePlayerCount < $Host::ClassicAutoPWPlayerCount) &&
// (!$Host::TournamentMode || ($Host::TournamentMode && !$Host::EvoAutoPWTourneyNoRemove)))
// {
// AutoPWServer(0);
// }
// }
// if($Host::EvoFullServerPWEnabled)
// {
// if($HostGamePlayerCount == ($MaxPlayers - 1))
// {
// FullServerPW(0);
// }
// }
// //if($Host::EvoNoBaseRapeEnabled)
// //{
// //if(!$Host::TournamentMode &&
// //(EvoPlayersOnTeamCount() < $Host::EvoNoBaseRapeClassicPlayerCount))
// //{
// //$EvoNoBaseRape = 1;
// //}
// //}
// // Reset the server if everyone has left the game
//
// if( $HostGamePlayerCount - $HostGameBotCount == 0 && $Host::EmptyServerReset && !$resettingServer && !$LoadingMission && !$TimedServerResetActive && $CurrentMissionType !$= $Host::MissionType )
// {
// if($Evo::ETMMode)
// {
// $Evo::ETMMode = false;
// ETMreset();
// }
//
// %resettime = $Host::EmptyServerResetTime * 60000;
// schedule(%resettime, 0, "ResetServerTimed");
// $TimedServerResetActive = true;
// error(formatTimeString("HH:nn:ss") SPC "Timed Server Reset schedule started..." );
//
// }
//}
function ResetServerTimed()
{
if($HostGamePlayerCount - $HostGameBotCount == 0 && $Host::EmptyServerReset && !$resettingServer && !$LoadingMission && $TimedServerResetActive)
schedule(10, 0, "resetServerDefaults");
// Instead of simply resetting the defaults, reinitialize the
// entire server...
// ReallyQuit();
else
error(formatTimeString("HH:nn:ss") SPC "Timed Server Reset schedule cancelled..." );
$TimedServerResetActive = false;
}

View file

@ -177,6 +177,8 @@ $Host::MapPlayerLimits["Whiteout", "DM"] = "8 -1";
$Host::MapPlayerLimits["Whiteout", "Bounty"] = "8 -1";
//Taco Addons
$Host::EmptyServerReset = 1; //To control whether the server auto resets when empty
$Host::EmptyServerResetTime = 120; //Time in Minutes to reset an empty server
$Host::EnableAutobalance = 1; //Will autobalance when teams are uneven.
$Host::EnableMortarTurret = 0; //Enable or Disable Mortar Turret
$Host::EnableNetTourneyClient = 1; //Enable or Disable Tourney Net Client checking