summaryrefslogtreecommitdiff
path: root/mcserverctl.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-06-23 15:46:23 +0200
committerDavid Härdeman <david@hardeman.nu>2020-06-23 15:46:23 +0200
commit973ae757342b91e3e6aafd07e0c0a24af84aad98 (patch)
tree0b3b108d741d81f3971f1a7426c531ed37d1fbbb /mcserverctl.c
parent7a8bee84bd1f41bf349f9077617e20c3560b7c62 (diff)
Add skeleton of new mcserverctl binary
Diffstat (limited to 'mcserverctl.c')
-rw-r--r--mcserverctl.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/mcserverctl.c b/mcserverctl.c
new file mode 100644
index 0000000..8a799a2
--- /dev/null
+++ b/mcserverctl.c
@@ -0,0 +1,41 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <inttypes.h>
+
+#include "rcon-protocol.h"
+
+
+int
+main(int argc, char **argv)
+{
+ char buf[4096];
+ size_t len;
+ int32_t id, type;
+ const char *msg, *error;
+
+ fprintf(stderr, "Started\n");
+
+ if (!rcon_protocol_create_packet(buf, sizeof(buf), &len,
+ 1, RCON_PACKET_LOGIN,
+ "test")) {
+ fprintf(stderr, "Failed to create packet\n");
+ exit(EXIT_FAILURE);
+ }
+
+ if (!rcon_protocol_packet_complete(buf, len)) {
+ fprintf(stderr, "Packet not complete\n");
+ exit(EXIT_FAILURE);
+ }
+
+ if (!rcon_protocol_read_packet(buf, len, &id, &type, &msg, &error)) {
+ fprintf(stderr, "Packet parsing failed: %s\n", error);
+ exit(EXIT_FAILURE);
+ }
+
+ fprintf(stderr, "Packet - id: %" PRIi32 ", type: %" PRIi32 ", msg: %s\n",
+ id, type, msg);
+
+ exit(EXIT_SUCCESS);
+}
+