generated from AfonsoCMSousa/CPP-Template
Feature: Now server ports and IP are parsed using args.
This commit is contained in:
parent
95f5652c8d
commit
73ffb9d8d2
BIN
PlayerTracker
BIN
PlayerTracker
Binary file not shown.
@ -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 <server_id> <in_port> <out_port>\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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user