From db2a2353e9faa0bfa0ea222a1a9626cdafe506ef Mon Sep 17 00:00:00 2001 From: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> Date: Mon, 5 Oct 2026 02:38:09 +0200 Subject: [PATCH 1/3] fix(modules): drop the Terraria and tModLoader readiness probe The kubelet's tcpSocket readiness probe connects to the game port and closes at once, which crashes the Terraria server (ObjectDisposedException in Netplay.ServerLoop) and crash-loops the pod. Bump modules to gameplane-module#42, where terraria 2.2.2 and tmodloader 1.0.1 declare no probe, and set Probes to nil in the Terraria bot e2e fixture so the test runs the shipped configuration. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01NsN6bnAMRM9XQtrTQ6KC7U Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> --- modules | 2 +- test/e2e/terraria_bot_e2e_test.go | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/modules b/modules index ff19983c4..872eb7f8a 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit ff19983c4ac5879e25d9230e97d658dc88fc3f06 +Subproject commit 872eb7f8a9fc6a3660a6f3d28c32896d6780b263 diff --git a/test/e2e/terraria_bot_e2e_test.go b/test/e2e/terraria_bot_e2e_test.go index 0a6fdb9ae..5acfe635b 100644 --- a/test/e2e/terraria_bot_e2e_test.go +++ b/test/e2e/terraria_bot_e2e_test.go @@ -73,14 +73,9 @@ func TestGameServer_TerrariaBot_Joined(t *testing.T) { ExpectDepth: expectedDepth, RCON: map[string]any{"protocol": "none"}, ConsoleMode: "pty", - Probes: map[string]any{ - "readiness": map[string]any{ - "tcpSocket": map[string]any{"port": "game"}, - "initialDelaySeconds": int64(30), - "periodSeconds": int64(10), - "failureThreshold": int64(30), - }, - }, + // No probes, matching the module: a tcpSocket probe's connect-and-close + // crashes the Terraria server (ObjectDisposedException in Netplay.ServerLoop). + Probes: nil, Actions: []any{ map[string]any{ "id": "broadcast", From 8477e1664d89855a598ae3a57f22170ef170c0bf Mon Sep 17 00:00:00 2001 From: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> Date: Mon, 5 Oct 2026 03:32:54 +0200 Subject: [PATCH 2/3] fix(modules): probe Terraria readiness without connecting Follow-up to db2a2353, which dropped the crashing tcpSocket readiness probe. gameplane-module#42 now replaces it with an exec probe that reads /proc/net/tcp for a socket listening on 7777, so the pod only turns Ready once the server accepts players and the probe never opens a connection. Bump modules to that commit and mirror the probe in the Terraria bot e2e fixture. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01NsN6bnAMRM9XQtrTQ6KC7U Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> --- modules | 2 +- test/e2e/terraria_bot_e2e_test.go | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules b/modules index 872eb7f8a..d9f67c873 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit 872eb7f8a9fc6a3660a6f3d28c32896d6780b263 +Subproject commit d9f67c873e86fb9935da469d8fdf078459b24026 diff --git a/test/e2e/terraria_bot_e2e_test.go b/test/e2e/terraria_bot_e2e_test.go index 5acfe635b..874360e6f 100644 --- a/test/e2e/terraria_bot_e2e_test.go +++ b/test/e2e/terraria_bot_e2e_test.go @@ -73,9 +73,19 @@ func TestGameServer_TerrariaBot_Joined(t *testing.T) { ExpectDepth: expectedDepth, RCON: map[string]any{"protocol": "none"}, ConsoleMode: "pty", - // No probes, matching the module: a tcpSocket probe's connect-and-close - // crashes the Terraria server (ObjectDisposedException in Netplay.ServerLoop). - Probes: nil, + // The module's exec readiness probe: it reads /proc/net/tcp instead of + // connecting, because a tcpSocket probe's connect-and-close crashes the + // Terraria server (ObjectDisposedException in Netplay.ServerLoop). + Probes: map[string]any{ + "readiness": map[string]any{ + "exec": map[string]any{ + "command": []any{"sh", "-c", "grep -qsE ':1E61 [0-9A-F]+:[0-9A-F]{4} 0A' /proc/net/tcp /proc/net/tcp6"}, + }, + "initialDelaySeconds": int64(30), + "periodSeconds": int64(10), + "failureThreshold": int64(30), + }, + }, Actions: []any{ map[string]any{ "id": "broadcast", From a66740ea06e1b8d9d66282a1331ad10687c59f2f Mon Sep 17 00:00:00 2001 From: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> Date: Mon, 5 Oct 2026 03:45:14 +0200 Subject: [PATCH 3/3] chore(modules): pin the merged gameplane-module main gameplane-module#42 (Terraria/tModLoader exec readiness probe) and #43 (minecraft-java currentFrom on Set difficulty) are both merged; pin modules to their merge commit on main instead of the #42 branch commit, so one bump carries both. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01NsN6bnAMRM9XQtrTQ6KC7U Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> --- modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules b/modules index d9f67c873..afbcf1f16 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit d9f67c873e86fb9935da469d8fdf078459b24026 +Subproject commit afbcf1f16a8b524a24a68561f06eba59ec0cd7f3