status response

This commit is contained in:
nemo 2025-01-26 17:09:13 +01:00
parent 209c3e8bdb
commit 4ee7f7a1e9
2 changed files with 32 additions and 6 deletions

34
main.c
View File

@ -3,6 +3,7 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include <arpa/inet.h>
#define PORT 6969
@ -145,9 +146,22 @@ void write_String(int client_fd, const char* str, int len)
}
}
void write_Long(int client_fd, int64_t value)
{
(void) client_fd;
request[req_current_byte] = value;
req_current_byte += 8;
}
void send_request(int client_fd)
{
write(client_fd, request, req_current_byte);
printf("[INFO] %d byte request sent: ", req_current_byte);
print_hex((const char*) request, req_current_byte > 10 ? 10 : req_current_byte);
printf("...\n");
req_current_byte = 0;
}
File read_entire_file(const char *filename)
@ -155,7 +169,7 @@ File read_entire_file(const char *filename)
FILE *f = fopen(filename, "r");
fseek(f, 0, SEEK_END);
long fsize = ftell(f);
fseek(f, 0, SEEK_SET); /* same as rewind(f); */
fseek(f, 0, SEEK_SET);
char *string = malloc(fsize);
fread(string, fsize, 1, f);
@ -246,12 +260,24 @@ int main()
write_String(client_fd, status_rep.data, status_rep.len);
send_request(client_fd);
printf("[INFO] %d byte request sent: ", req_current_byte);
print_hex((const char*) request, 10);
printf("...\n");
file_free(status_rep);
int request_status_len = read_VarInt(client_fd);
int request_status_id = read_VarInt(client_fd);
printf("[MCPACKET %d] packet length: %d\n", request_status_id, request_status_len);
if (request_status_id != 0 || request_status_len != 1) {
printf("[ERR] client not in the status state\n");
close_connection(client_fd);
continue;
}
write_VarInt(client_fd, 1 /*packet id*/ + 8 /*Long len*/);
write_VarInt(client_fd, 1); // protocol id
write_Long(client_fd, (long)time(NULL));
send_request(client_fd);
close_connection(client_fd);
}

View File

@ -8,7 +8,7 @@
"online": 1,
"sample": [
{
"name": "caca player 69 ?",
"name": "Le caca est cuit ?",
"id": "83e2e372-1df3-485d-a360-d9c4caf8b8c4"
}
]
@ -16,6 +16,6 @@
"description": {
"text": "caca serveur minecraft en \u00a72C"
},
"favicon": "data:image/png;base64,<data>",
"favicon": "data:image/png;base64,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",
"enforcesSecureChat": false
}