From 65d2ba355668f7e96f2c826580d9b6151a01996f Mon Sep 17 00:00:00 2001 From: Lion Kortlepel Date: Mon, 15 Jan 2024 22:18:25 +0100 Subject: [PATCH] server-side identification done --- src/Network.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Network.cpp b/src/Network.cpp index eda8b8e..54fc0e8 100644 --- a/src/Network.cpp +++ b/src/Network.cpp @@ -245,6 +245,29 @@ void Network::handle_packet(ClientID id, const Packet& packet) { cinfo.program_version.major, cinfo.program_version.minor, cinfo.program_version.patch); + // respond with server info + auto version = Application::ServerVersion(); + struct bmp::ServerInfo sinfo { + .program_version = { + .major = version.major, + .minor = version.minor, + .patch = version.patch, + }, + .implementation = { + .value = "Official BeamMP Server (BeamMP Ltd.)", + }, + }; + Packet sinfo_packet { + .purpose = bmp::Purpose::ServerInfo, + .data = std::vector(1024), + }; + sinfo.serialize_to(sinfo_packet.data); + client->tcp_write(sinfo_packet); + // now transfer to next state + Packet auth_state { + .purpose = bmp::Purpose::StateChangeAuthentication, + }; + client->tcp_write(auth_state); break; } default: