Handle Shutdowns

Server Rename
This commit is contained in:
HikikoMarmy
2025-07-01 14:01:58 +01:00
parent 03fcd59f9d
commit d495e5081f

View File

@@ -1,5 +1,7 @@
#include "stdafx.h"
#include <atomic>
#include <csignal>
#include <winsock2.h>
#include "logging.h"
@@ -8,14 +10,22 @@
#include "Lobby Server/LobbyServer.h"
#include "Discovery Server/DiscoveryServer.h"
std::atomic< bool > g_isRunning( true );
static void SignalHandler( int signal )
{
if( signal == SIGINT || signal == SIGTERM )
{
g_isRunning = false;
}
}
static void ShowStartup()
{
printf
(
"------------------------------------------------------\n"
"Norrath Server Build Version %s\n"
"Champions Reborn | Server Build Version %s\n"
"------------------------------------------------------\n\n",
__DATE__
);
@@ -39,14 +49,17 @@ int main()
{
ShowStartup();
std::signal( SIGINT, SignalHandler );
std::signal( SIGTERM, SignalHandler );
Log::Info( "Server Start..." );
if( !NetworkStartup() )
{
Log::Error( "Could not initialize network." );
return 0;
}
Log::Info( "Server Start..." );
if( !Config::Load( "config.ini" ) )
{
Log::Error( "Failed to load configuration file." );
@@ -61,7 +74,7 @@ int main()
auto &database = Database::Get();
while( true )
while( g_isRunning )
{
if( !lobby_server.isRunning() )
{
@@ -75,9 +88,13 @@ int main()
break;
}
database.Process();
std::this_thread::sleep_for( std::chrono::milliseconds( 250 ) );
}
Log::Info( "Shutting down servers..." );
lobby_server.Stop();
discovery_server.Stop();