Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions src/engine/client/cl_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -564,9 +564,12 @@ class DemoPlayCmd: public Cmd::StaticCmd {
return;
}

// make sure a local server is killed
Cvar_Set( "sv_killserver", "1" );
CL_Disconnect( true );
if (com_sv_running.Get()) {
// Use /disconnect to shut everything down cleanly.
// Maybe we should also do that if there is an online connection or another demo?
Cmd::BufferCommandTextAfter("disconnect; demo_play " + Cmd::Escape(args.Argv(1)));
return;
}

// open the demo file
const std::string& fileName = args.Argv(1);
Expand Down Expand Up @@ -1008,16 +1011,12 @@ void CL_Connect_f()
// clear any previous "server full" type messages
clc.serverMessage[ 0 ] = 0;

if ( com_sv_running.Get() && !strcmp( server, "loopback" ) )
if ( com_sv_running.Get() )
{
// if running a local server, kill it
SV_Shutdown( "Server quit" );
SV_Shutdown( "Host ended the game" );
}

// make sure a local server is killed
Cvar_Set( "sv_killserver", "1" );
SV_Frame( 0 );

try {
CL_Disconnect( true );
} catch (Sys::DropErr& err) {
Expand Down
1 change: 0 additions & 1 deletion src/engine/server/server.h
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,6 @@ extern Cvar::Cvar<std::string> sv_hostname;
extern Cvar::Cvar<std::string> sv_statsURL;
extern Cvar::Cvar<int> sv_reconnectlimit;
extern Cvar::Cvar<int> sv_padPackets;
extern cvar_t *sv_killserver;
extern Cvar::Cvar<std::string> sv_mapname;
extern cvar_t *sv_mapChecksum;
extern Cvar::Cvar<int> sv_serverid;
Expand Down
2 changes: 0 additions & 2 deletions src/engine/server/sv_init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -611,8 +611,6 @@ void SV_Init()

// server vars

sv_killserver = Cvar_Get( "sv_killserver", "0", 0 );

svs.serverLoad = -1;
}

Expand Down
9 changes: 0 additions & 9 deletions src/engine/server/sv_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ Cvar::Cvar<std::string> sv_hostname("sv_hostname", "server name for server list"
Cvar::Cvar<std::string> sv_statsURL("sv_statsURL", "URL for server's gameplay statistics", Cvar::SERVERINFO, "");
Cvar::Cvar<int> sv_reconnectlimit("sv_reconnectlimit", "minimum time (seconds) before client can reconnect", Cvar::NONE, 3);
Cvar::Cvar<int> sv_padPackets("sv_padPackets", "(debugging) add n NOP bytes to each snapshot packet", Cvar::NONE, 0);
cvar_t *sv_killserver; // menu system can set to 1 to shut server down
Cvar::Cvar<std::string> sv_mapname("mapname", "current map on this server", Cvar::SERVERINFO | Cvar::ROM, "nomap");
Cvar::Cvar<int> sv_serverid("sv_serverid", "match ID", Cvar::SYSTEMINFO | Cvar::ROM, 0);
Cvar::Cvar<int> sv_maxRate("sv_maxRate", "max bytes/sec to send to a client (0 = unlimited)", Cvar::SERVERINFO, 0);
Expand Down Expand Up @@ -1317,14 +1316,6 @@ void SV_Frame( int msec )
start = Sys::Milliseconds();
svs.stats.idle += ( double )( start - end ) / 1000;

// the menu kills the server with this cvar
if ( sv_killserver->integer )
{
SV_Shutdown( "Server was killed." );
Cvar_Set( "sv_killserver", "0" );
return;
}

if ( !com_sv_running.Get() )
{
return;
Expand Down
Loading