@Override
    public void onEnable()
    {
        try
        {
            Class.forName( "org.sqlite.JDBC" );
        } catch ( ClassNotFoundException ex )
        {
            getLogger().log( Level.SEVERE, "Could not connect to SQLite database", ex );
            getServer().getPluginManager().disablePlugin( this );
            return;
        }

        System.setProperty( "org.eclipse.jetty.LEVEL", "OFF" );
        InetSocketAddress bind = new InetSocketAddress( 5555 );
        server = new Server( bind );
        try
        {
            server.start();
        } catch ( Exception ex )
        {
            getLogger().log( Level.SEVERE, "Could not start intergrated web server", ex );
        }

        try
        {
            Metrics metrics = new Metrics( this );
            metrics.start();
        } catch ( IOException ex )
        {
        }

        getServer().getScheduler().runTaskTimer( this, chunksMonitor, TICKS_MINUTE, TICKS_MINUTE );
        getServer().getScheduler().runTaskTimer( this, entitiesMonitor, TICKS_MINUTE, TICKS_MINUTE );
        getServer().getScheduler().runTaskTimer( this, memoryMonitor, TICKS_MINUTE, TICKS_MINUTE );
        getServer().getScheduler().runTaskTimer( this, playersMonitor, TICKS_MINUTE, TICKS_MINUTE );
        getServer().getScheduler().runTaskTimer( this, tpsMonitor, TICKS_MINUTE, TICKS_MINUTE );

        getServer().getScheduler().runTaskTimer( this, tpsGauger, TICKS_SECOND, TICKS_SECOND );
    }