From f9b93c013d6b58158e1c8f9e65ba2e1bed1111c2 Mon Sep 17 00:00:00 2001 From: Adam <897017+asemy@users.noreply.github.com> Date: Fri, 22 Oct 2021 00:07:48 +0200 Subject: [PATCH] pipe factorio events to kafka bb!!! --- modules/mod/pipe-logs-to-kafka.sh | 8 ++++++++ modules/mod/src/main/typescript/events.ts | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 modules/mod/pipe-logs-to-kafka.sh diff --git a/modules/mod/pipe-logs-to-kafka.sh b/modules/mod/pipe-logs-to-kafka.sh new file mode 100644 index 0000000..2a06458 --- /dev/null +++ b/modules/mod/pipe-logs-to-kafka.sh @@ -0,0 +1,8 @@ +# stream logs from 'factorio' container +# follow the logs, and +# combine stdout and stderr +# only match lines that start with 'FactorioEvent: ', +# and only return the stuff *after* 'FactorioEvent: ' +docker logs --tail 0 -f factorio 2>&1 | + sed -n -e 's/^FactorioEvent: //p' | + kafkacat -P -b localhost -t factorio-server-log diff --git a/modules/mod/src/main/typescript/events.ts b/modules/mod/src/main/typescript/events.ts index cbc3135..c60255c 100644 --- a/modules/mod/src/main/typescript/events.ts +++ b/modules/mod/src/main/typescript/events.ts @@ -20,7 +20,6 @@ function createFactorioEvent(tick: uint, object_name: string, eventType: string, eventType, data, } - } function handlePlayerUpdate(tick: uint, player_index: uint, eventType: string) { @@ -63,7 +62,7 @@ function surfaceEvent(tick: uint, surface: LuaSurface, eventType: string) { function emitEvent(event: JsonTable) { let data = game.table_to_json(event) // game.write_file(EVENT_FILE_DIR + "/" + filename, data, false, SERVER_ID) - localised_print(`FactorioWebMapJsonEvent: ${data}`) + localised_print(`FactorioEvent: ${data}`) } // script.on_event(