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; }
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(); }