From 73ffb9d8d2767007e087b6a26d0c4659dc23b971 Mon Sep 17 00:00:00 2001 From: Server Ubunto - HOME Date: Wed, 22 Oct 2025 03:16:10 +0100 Subject: [PATCH] Feature: Now server ports and IP are parsed using args. --- PlayerTracker | Bin 279312 -> 279312 bytes source/main.cpp | 39 +++++++++++++++++++++++---------------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/PlayerTracker b/PlayerTracker index 606f8a2e7d281d6e6883d89d2a3229955e08ba08..8b17efd675f9d80ef7dc8ce036994381723707ee 100755 GIT binary patch delta 916 zcmZ9IUr1AN6vyxH_q&s^hhR~3Z>U?NaBbC{4KuTvYqQy(VP?T51)DB<=&3Bohfpca z;R5joo+$+iL4QyXlvE<3jZK`VB!C&sK;L193Du>*`oY$&+Q zvSmMhYKKGsSEGZnE{G4Efv#~ZfNva|A;vOP1&iZsNG*sHEI7fR4IUWI1}}(N)+{eh z;H%Tn)k>JNl`tpE@InA~ZXp$b+Q<%^48Vww6;4*5W$?EV2VP|jElitb8bsTOc__qe z>v`1~Vzx}d*2)S^5Js9wh1?w?L#3Kyh~xU?(r$961og=y_sMgf#rg=bJ5e8W%#*T` zPS%1t<%jd+c$R&NledV)#~;Yn(}f!dzz(SgQ#rqJ76IaA{GQE*OXYlgvtozVgWtgS P6eLd}DVI+f`8m@+4)OUQ delta 927 zcmZ9IT}V@59LCT4zGpH-suM+LF}D?jx>eg6*#|S{rfq$oSO%LEY`W-HvI`}IP0$c0 z2ru;46>1>#fkI$#Aj*%3>}D5|7gM(}rHghEeUXSD>pg8#cFx6l-sk=OpNE(KaKA9z zFTCy|hpfW*pN~JzzI`~k{lq_Z>*9gINYhM&e66JuE;a3PIcSGVEsVUwocyW(|2eLj zF1gH_P*v_WuAp|RskexgIVip_jyh?e-mIC=N4*N_p)Xm~n2U@kU?cs-qW*kwTtQoA zE;KX&?MSHUaKfRPaOF$xlcJ|D(@er5p3lL!0T8JwKHfeLptZ~@#-4BYpcj#!!OhYNP;8hTQW<3?Sqw4hxxkAwV z0iBdO?I_%Yw&3p|(xWsSj-X@O*)1c-d4^PD<4gt?zqy}hvjcs>R5m-CmTpAQcS_tX zHdxp5qSR`@cT0CItQxToTP<+fgsX^+OGChfYgzp>6V9SuK-;($3b;WlyvujS2xY&QH5^)iCmnaSi$9WyY}&eEZFmfrNk zYAKspkY{#Sx>XJYnc)Kvy-6yhaF9IKs(KK|)kxYf=_x@qQuGmd#WQV)5L+Fpf$kV7 zFPUQ_Xij<>BbQ{hwnRQ7rjuXD!K;ORh@jQ+C-xj$uK*k6{O-a;xUJ)t_6FF(1@P(l QzQUEeaL`Ft4E*Bpe}Lury#N3J diff --git a/source/main.cpp b/source/main.cpp index 7fa9908..412b332 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -18,14 +18,10 @@ #define DEBUG_CAR_INFO 0 -const int SERVER_OUT_PORT = 12000; -const int SERVER_IN_PORT = 11000; -const char *SERVER_OUT_IP = "127.0.0.1"; - const char *API_SOCKET_PATH = "/tmp/ACplayer_socket"; const int MAX_PLAYERS = 64; -const int SERVER_ID = 130; +const int SERVER_ID = 137; api_packet current_packet; int apiSent = 0; @@ -127,10 +123,10 @@ void *send_to_api_socket(void *arg) { continue; } - if (apiSent) { - usleep(10000); - continue; - } + if (apiSent) { + usleep(10000); + continue; + } ssize_t sent_bytes = send(sock_fd, ¤t_packet, sizeof(api_packet), MSG_NOSIGNAL); if (sent_bytes < 0) { @@ -204,14 +200,26 @@ void init_carupdate(carAtributes *car) { car->normalizedSplinePos = 0.0f; } -int main(void) { +int main(int argc, char *argv[]) { + + // Parse command-line arguments + if (argc != 4) { + fprintf(stderr, "Usage: %s \n", argv[0]); + fprintf(stderr, "Example: %s 131 11001 12001\n", argv[0]); + return EXIT_FAILURE; + } + + int SERVER_ID = atoi(argv[1]); + int SERVER_IN_PORT = atoi(argv[2]); + int SERVER_OUT_PORT = atoi(argv[3]); + printf("[+] Starting server...\n"); printf("[+] Server listening on port %d\n", SERVER_IN_PORT); printf("[+] Server sending to %s:%d\n\n", SERVER_OUT_IP, SERVER_OUT_PORT); current_packet.tracker_id = (u_int8_t)-1; // Mark as uninitialized - int send_sock_fd = connect_udp_socket(SERVER_OUT_IP, SERVER_IN_PORT); // SEND requests to Server + int send_sock_fd = connect_udp_socket(SERVER_OUT_IP, SERVER_IN_PORT); // SEND requests to Server int recv_sock_fd = create_bound_udp_socket("0.0.0.0", SERVER_OUT_PORT); // LISTEN to server updates if (send_sock_fd < 0 || recv_sock_fd < 0) { @@ -357,7 +365,7 @@ int main(void) { update.isConnected = 1; // Mark as connected update.isLoading = 1; // Mark as Loading - current_packet.connected_cars++; + current_packet.connected_cars++; printf("\tDriver Name: \"%s\"\n", update.driver_name); printf("\tDriver GUID: \"%s\"\n", update.driver_GUID); @@ -395,9 +403,8 @@ int main(void) { break; } - update.isConnected = 0; // Mark as disconnected - current_packet.connected_cars--; + current_packet.connected_cars--; printf("\tDriver Name: \"%s\"\n", update.driver_name); printf("\tDriver GUID: \"%s\"\n", update.driver_GUID); @@ -443,8 +450,8 @@ int main(void) { players[update.carID].carGear = update.carGear; players[update.carID].carRPM = update.carRPM; players[update.carID].normalizedSplinePos = update.normalizedSplinePos; - players[update.carID].carID = update.carID; - players[update.carID].isConnected = 1; // Ensure isConnected is set + players[update.carID].carID = update.carID; + players[update.carID].isConnected = 1; // Ensure isConnected is set } update_api_packet(trackInfo, players, update.carID);