def main():
    process_args()
    server = ServerManager(results.path, mc_server, results.memmin, results.memmax, results.gui)
    global current_ver
    print '*' * 40
    print '* Simple Minecraft Server Wrapper'
    print '*' * 40
    latest_ver = str(get_version())
    if current_ver != latest_ver:
        download_server(latest_ver)
        current_ver = latest_ver
    if not server.online:
        server.start()
        time.sleep(5)
        while server.online:
            print '--- Checking for new versions in ' + str(check_for_new_versions_frequency) + ' seconds.'
            time.sleep(check_for_new_versions_frequency)
            if server.crash_check():
                del server
                main()
            print '--- Checking for a new version...'
            server.message('Checking for a new version...')
            # Checking for new version
            if not up_to_date(current_ver):
                # new version detected
                time.sleep(30)
                server.shutdown()
                del server
                time.sleep(5)
                print '--- Server stopped'
                main()