Exemplo n.º 1
0
int main()
{
    try
    {
      
    ListeningManager<BetterTelnet, TelnetLogon> telnetlistener;
    ConnectionManager<BetterTelnet, TelnetLogon> telnetconnectionmanager( 128, 60, 65536 );

    telnetlistener.SetConnectionManager( &telnetconnectionmanager );
    telnetlistener.AddPort( 5110 );

    g_game.LoadAll();


    while( g_game.Running() )
    {
        telnetlistener.Listen();
        telnetconnectionmanager.Manage();
        g_game.ExecuteLoop();
        ThreadLib::YieldThread();

        
    }

    }

    catch( BetterMUD::Exception& e )
    {
        PyErr_Print();          // print python errors
        std::cout << e.GetError();
    }
    catch( std::exception& e )
    {
        // catch standard errors
    }
    catch( ... )
    {
        // catch all other errors
    }

    g_game.SaveAll();

    CharacterDB.Purge();
    ItemDB.Purge();
    AccountDB.Purge();
    RoomDB.Purge();
    PortalDB.Purge();
    RegionDB.Purge();

    return 0;
}
Exemplo n.º 2
0
int main()
{
    try
    {
		ItemDatabase::Load();
		PlayerDatabase::Load();


		ListeningManager<Telnet, Logon> lm;
		ConnectionManager<Telnet, Logon> cm( 128, 60, 65536 );

		lm.SetConnectionManager( &cm );
		lm.AddPort( 5100 );

		Game::GetTimer().Reset();
		Game::Running() = true;

		while( Game::Running() )
		{
			lm.Listen();
			cm.Manage();
			ThreadLib::YieldThread();
		}
    
    }

    catch( SocketLib::Exception& e )
    {
        ERRORLOG.Log( "Fatal Socket Error: " + e.PrintError() );
    }

    catch( ThreadLib::Exception& )
    {
        ERRORLOG.Log( "Fatal Thread Error" );
    }

    catch( std::exception& e )
    {
        ERRORLOG.Log( "Standard Error: " + std::string( e.what() ) );
    }

    catch( ... )
    {
        ERRORLOG.Log( "Unspecified Error" );
    }

    // save the whole database.
    SimpleMUD::PlayerDatabase::Save();
}