// The fake 40250 auth + game server of port_login_flow_test as its own process, for runs that drive the // real client from Godot (script/python_game_render_test.sh). Prints "ports " once it // listens and serves until SIGTERM or SIGINT; the milestones go to stderr on the way out. #include "port_login_flow_server.h" #include #include #include static volatile std::sig_atomic_t g_stop = 0; static void on_signal(int) { g_stop = 1; } int main() { std::signal(SIGTERM, on_signal); std::signal(SIGINT, on_signal); FakeLoginServer server; if (!server.Start()) { std::fprintf(stderr, "port_fake_login_server: cannot listen on loopback\n"); return 1; } std::printf("ports %d %d\n", server.AuthPort(), server.GamePort()); std::fflush(stdout); while (!g_stop) pause(); std::fprintf(stderr, "port_fake_login_server events:"); for (const auto& e : server.Events()) std::fprintf(stderr, " %s", e.c_str()); std::fprintf(stderr, "\nport_fake_login_server error: %s\n", server.Error().c_str()); server.Stop(); return server.Failed() ? 1 : 0; }