aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jonas Gunz <himself@jonasgunz.de> 2020-10-01 04:32:21 +0200
committerGravatar Jonas Gunz <himself@jonasgunz.de> 2020-10-01 04:32:21 +0200
commitc211af513406984536fb2aa91feb2cfaed790e9f (patch)
tree3e4fc7808c098ebb6ee2c9296af568e83a9ba2b1
parent2bdbca1e885af9504d8ec7322e1efd7623b5bd97 (diff)
downloadminecraft-rcon-c211af513406984536fb2aa91feb2cfaed790e9f.tar.gz
command hardcoded
-rw-r--r--src/main.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index c4cc3a1..08cbd51 100644
--- a/src/main.c
+++ b/src/main.c
@@ -64,15 +64,30 @@ int main( int argc, char* argv[] ) {
fprintf ( stderr, "Connection successful.\n" );
rcon_packet_t pack = {0,1337,RCON_LOGIN,args.password, strlen(args.password)}, rcon_result;
+ ret = rcon_construct_packet ( sendbuf, RCON_SEND_PKGSIZE, &pack );
ret = send ( sock, sendbuf, ret, 0 );
ret = recv ( sock, recvbuf, RCON_RECV_PKGSIZE, 0);
rcon_parse_packet ( &rcon_result, recvbuf, ret );
- close (sock);
+ if ( rcon_result.type != RCON_COMMAND ) {
+ fprintf ( stderr, "Authentification failed." );
+ exit ( EXIT_FAILURE );
+ }
+
+ rcon_packet_t pack2 = {0,6969,RCON_COMMAND, args.command, strlen(args.command)};
+
+ ret = rcon_construct_packet ( sendbuf, RCON_SEND_PKGSIZE, &pack2 );
+
+ ret = send ( sock, sendbuf, ret, 0 );
+
+ ret = recv ( sock, recvbuf, RCON_RECV_PKGSIZE, 0);
+ rcon_parse_packet ( &rcon_result, recvbuf, ret );
+
+ printf("%s\n", rcon_result.payload);
- //printf("%s\n%s", sendbuf, recvbuf);
+ close (sock);
return 0;
}