Shulker icon indicating copy to clipboard operation
Shulker copied to clipboard

Issue with ShulkerSDK not returning game ID and failing to find available server after retry

Open Andrei965 opened this issue 11 months ago • 11 comments

What happened?

I'm running a Shulker Kubernetes cluster and have implemented a custom matchmaking microservice in Kotlin. I'm using the ShulkerSDK to allocate a server, calling the following method:

val shulkerSDK = ShulkerSDKImpl.createFromEnvironment()
println(shulkerSDK.allocateFromFleet("flagwars", "lobby", true).get())

The issue I'm facing is that while the code successfully creates the game server, it doesn't return the game ID as expected. Instead, it throws an error. Additionally, when I run the code again, it fails to find an available server, even though a server exists with its game state set to "ready."

What components are involved in your issue?

Operator, Server Agent (Minestom)

Version

v0.11.0

Kubernetes Version

Client Version: v1.30.5 Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3 Server Version: v1.31.0

Relevant log output

Matchmaker error
Error during gRPC call: INTERNAL: failed to summon game server: Error deserializing response: invalid type: null, expected a sequence at line 1 column 5633
io.grpc.StatusRuntimeException: INTERNAL: failed to summon game server: Error deserializing response: invalid type: null, expected a sequence at line 1 column 5633
 at io.grpc.Status.asRuntimeException(Status.java:533)
 at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:538)
 at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:489)
 at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:453)
 at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:486)
 at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:564)
 at io.grpc.internal.ClientCallImpl.access$100(ClientCallImpl.java:72)
 at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:729)
 at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:710)
 at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
 at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
 at java.base/java.lang.Thread.run(Thread.java:1583)

Shulker operator logs
{"timestamp":"2024-12-31T16:53:44.446071Z","level":"WARN","fields":{"message":"{\"apiVersion\":\"agones.dev/v1\",\"kind\":\"GameServer\",\"metadata\":{\"annotations\":{\"agones.dev/sdk-version\":\"1.45.0\",\"minecraftserver.shulkermc.io/tags\":\"lobby\"},\"creationTimestamp\":\"2024-12-31T16:53:44Z\",\"finalizers\":[\"agones.dev/controller\"],\"generateName\":\"lobby-\",\"generation\":1,\"labels\":{\"agones.dev/fleet\":\"lobby\",\"app.kubernetes.io/component\":\"minecraft-server\",\"app.kubernetes.io/instance\":\"minecraft-server-lobby\",\"app.kubernetes.io/managed-by\":\"shulker-operator\",\"app.kubernetes.io/name\":\"minecraft-server\",\"app.kubernetes.io/part-of\":\"cluster-flagwars\",\"minecraftcluster.shulkermc.io/name\":\"flagwars\",\"minecraftserverfleet.shulkermc.io/name\":\"lobby\"},\"managedFields\":[{\"apiVersion\":\"agones.dev/v1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:minecraftserver.shulkermc.io/tags\":{}},\"f:generateName\":{},\"f:labels\":{\".\":{},\"f:agones.dev/fleet\":{},\"f:app.kubernetes.io/component\":{},\"f:app.kubernetes.io/instance\":{},\"f:app.kubernetes.io/managed-by\":{},\"f:app.kubernetes.io/name\":{},\"f:app.kubernetes.io/part-of\":{},\"f:minecraftcluster.shulkermc.io/name\":{},\"f:minecraftserverfleet.shulkermc.io/name\":{}},\"f:ownerReferences\":{\".\":{},\"k:{\\\"uid\\\":\\\"c998f93e-20c3-42c8-8d3c-04815594c321\\\"}\":{}}},\"f:spec\":{\".\":{},\"f:eviction\":{\".\":{},\"f:safe\":{}},\"f:health\":{\".\":{},\"f:disabled\":{},\"f:failureThreshold\":{},\"f:initialDelaySeconds\":{},\"f:periodSeconds\":{}},\"f:immutableReplicas\":{},\"f:ports\":{},\"f:template\":{\".\":{},\"f:metadata\":{\".\":{},\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/default-container\":{},\"f:minecraftserver.shulkermc.io/tags\":{}},\"f:labels\":{\".\":{},\"f:app.kubernetes.io/component\":{},\"f:app.kubernetes.io/instance\":{},\"f:app.kubernetes.io/managed-by\":{},\"f:app.kubernetes.io/name\":{},\"f:app.kubernetes.io/part-of\":{},\"f:minecraftcluster.shulkermc.io/name\":{},\"f:minecraftserverfleet.shulkermc.io/name\":{}}},\"f:spec\":{\".\":{},\"f:containers\":{},\"f:initContainers\":{},\"f:restartPolicy\":{},\"f:serviceAccountName\":{},\"f:subdomain\":{},\"f:volumes\":{}}}}},\"manager\":\"shulker-operator\",\"operation\":\"Update\",\"time\":\"2024-12-31T16:53:44Z\"}],\"name\":\"lobby-lhbxk\",\"namespace\":\"flagwars\",\"ownerReferences\":[{\"apiVersion\":\"agones.dev/v1\",\"controller\":true,\"kind\":\"Fleet\",\"name\":\"lobby\",\"uid\":\"c998f93e-20c3-42c8-8d3c-04815594c321\"}],\"resourceVersion\":\"23835\",\"uid\":\"cb0a58e9-9975-4304-b5e4-1746128adfdf\"},\"spec\":{\"container\":\"minecraft-server\",\"eviction\":{\"safe\":\"OnUpgrade\"},\"health\":{\"failureThreshold\":5,\"initialDelaySeconds\":30,\"periodSeconds\":15},\"immutableReplicas\":1,\"scheduling\":\"Packed\",\"sdkServer\":{\"grpcPort\":9357,\"httpPort\":9358,\"logLevel\":\"Info\"},\"template\":{\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/default-container\":\"minecraft-server\",\"minecraftserver.shulkermc.io/tags\":\"lobby\"},\"creationTimestamp\":null,\"labels\":{\"app.kubernetes.io/component\":\"minecraft-server\",\"app.kubernetes.io/instance\":\"minecraft-server-lobby\",\"app.kubernetes.io/managed-by\":\"shulker-operator\",\"app.kubernetes.io/name\":\"minecraft-server\",\"app.kubernetes.io/part-of\":\"cluster-flagwars\",\"minecraftcluster.shulkermc.io/name\":\"flagwars\",\"minecraftserverfleet.shulkermc.io/name\":\"lobby\"}},\"spec\":{\"containers\":[{\"env\":[{\"name\":\"SHULKER_SERVER_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"SHULKER_SERVER_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"SHULKER_NETWORK_ADMINS\",\"value\":\"172f6616-74b8-475b-89fc-c8edbb57d9b3\"},{\"name\":\"SHULKER_SERVER_LIFECYCLE_STRATEGY\",\"value\":\"AllocateWhenNotEmpty\"},{\"name\":\"EULA\",\"value\":\"TRUE\"},{\"name\":\"COPY_CONFIG_DEST\",\"value\":\"/data\"},{\"name\":\"SYNC_SKIP_NEWER_IN_DESTINATION\",\"value\":\"true\"},{\"name\":\"SKIP_SERVER_PROPERTIES\",\"value\":\"true\"},{\"name\":\"REPLACE_ENV_IN_PLACE\",\"value\":\"true\"},{\"name\":\"REPLACE_ENV_VARIABLE_PREFIX\",\"value\":\"CFG_\"},{\"name\":\"CFG_VELOCITY_FORWARDING_SECRET\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"key\",\"name\":\"flagwars-forwarding-secret\"}}},{\"name\":\"MEMORY\"},{\"name\":\"JVM_XX_OPTS\",\"value\":\"-XX:MaxRAMPercentage=75\"},{\"name\":\"TYPE\",\"value\":\"CUSTOM\"},{\"name\":\"CUSTOM_SERVER\",\"value\":\"http://host.docker.internal:8080/FlagWarsLobby.jar\"}],\"image\":\"itzg/minecraft-server:2024.7.2-java21\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"minecraft-server\",\"ports\":[{\"containerPort\":25565,\"name\":\"minecraft\"}],\"resources\":{},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"capabilities\":{\"drop\":[\"ALL\"]},\"readOnlyRootFilesystem\":true,\"runAsNonRoot\":true,\"runAsUser\":1000},\"volumeMounts\":[{\"mountPath\":\"/config\",\"name\":\"server-config\"},{\"mountPath\":\"/data\",\"name\":\"server-data\"},{\"mountPath\":\"/tmp\",\"name\":\"server-tmp\"}]}],\"initContainers\":[{\"command\":[\"sh\",\"/mnt/shulker/config/init-fs.sh\"],\"env\":[{\"name\":\"SHULKER_CONFIG_DIR\",\"value\":\"/mnt/shulker/config\"},{\"name\":\"SHULKER_SERVER_CONFIG_DIR\",\"value\":\"/config\"},{\"name\":\"SHULKER_SERVER_DATA_DIR\",\"value\":\"/data\"},{\"name\":\"SHULKER_VERSION_CHANNEL\",\"value\":\"Minestom\"}],\"image\":\"alpine:latest\",\"name\":\"init-fs\",\"resources\":{},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"capabilities\":{\"drop\":[\"ALL\"]},\"readOnlyRootFilesystem\":true,\"runAsNonRoot\":true,\"runAsUser\":1000},\"volumeMounts\":[{\"mountPath\":\"/mnt/shulker/config\",\"name\":\"shulker-config\",\"readOnly\":true},{\"mountPath\":\"/config\",\"name\":\"server-config\"}]}],\"restartPolicy\":\"Never\",\"serviceAccountName\":\"shulker-flagwars-server\",\"subdomain\":\"flagwars-cluster\",\"volumes\":[{\"configMap\":{\"name\":\"lobby-config\"},\"name\":\"shulker-config\"},{\"emptyDir\":{},\"name\":\"server-config\"},{\"emptyDir\":{},\"name\":\"server-data\"},{\"emptyDir\":{},\"name\":\"server-tmp\"}]}}},\"status\":{\"address\":\"\",\"addresses\":null,\"eviction\":{\"safe\":\"OnUpgrade\"},\"immutableReplicas\":1,\"nodeName\":\"\",\"players\":null,\"ports\":null,\"reservedUntil\":null,\"state\":\"Creating\"}}\n, Error(\"invalid type: null, expected a sequence\", line: 1, column: 5633)"},"target":"kube_client::client"}

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

Andrei965 avatar Dec 31 '24 16:12 Andrei965

Hello! The issue seems to be in the shulker-operator code. I am using grpcui to send an allocation request directly, and I am getting the same error

  • with summonIfNeeded = true: Internal (13) failed to summon game server: Error deserializing response: invalid type: null, expected a sequence at line 1 column 5633
  • with summonIfNeeded = false: ResourceExhausted (8) no game server available for fleet lobby in namespace flagwars

Andrei965 avatar Jan 04 '25 15:01 Andrei965

Hello! I have also checked the agones-allocator logs, and found this: http: TLS handshake error from 10.244.0.240:55348: tls: first record does not look like a TLS handshake

Andrei965 avatar Jan 04 '25 16:01 Andrei965

The previous error was because, by default, the agones allocators expects the request to be TSL. You have to set the helm values agones.allocator.disableMTLS and agones.allocator.disableTLS to true. But now, there is a new error in the agones allocator: ERROR: Failed to extract ServerMetadata from context I even tried adding some test fields to the custom_annotations filed, but the error still appears.

Andrei965 avatar Jan 04 '25 16:01 Andrei965

Hi! It turns out the issue was on my end. The problem was from the Agones allocator being configured to use both REST and gRPC on the same port. For some reason, HTTP took priority, causing an error to be returned to the Shulker operator, even though the request was made via gRPC. Once I disabled the HTTP server on the allocator, everything started working as expected.

Andrei965 avatar Jan 06 '25 14:01 Andrei965

Hi! I thought the issue was fixed, but it isn't. When no server is available, and the summonIfNeeded parameter is true, the shulker sdk gives the following error: Error processing match: io.grpc.StatusRuntimeException: INTERNAL: failed to summon game server: Error deserializing response: invalid type: null, expected a sequence at line 1 column 5691 In the shulker-operator, I get the same error: {"timestamp":"2025-01-06T15:42:45.247420Z","level":"WARN","fields":{"message":"{\"apiVersion\":\"agones.dev/v1\",\"kind\":\"GameServer\",\"metadata\":{\"annotations\":{\"agones.dev/sdk-version\":\"1.45.0\",\"matchData\":\"{\\\"gameType\\\":\\\"DUO\\\",\\\"mapName\\\":null,\\\"teams\\\":[]}\",\"minecraftserver.shulkermc.io/tags\":\"game\"},\"creationTimestamp\":\"2025-01-06T15:42:45Z\",\"finalizers\":[\"agones.dev/controller\"],\"generateName\":\"game-\",\"generation\":1,\"labels\":{\"agones.dev/fleet\":\"game\",\"app.kubernetes.io/component\":\"minecraft-server\",\"app.kubernetes.io/instance\":\"minecraft-server-game\",\"app.kubernetes.io/managed-by\":\"shulker-operator\",\"app.kubernetes.io/name\":\"minecraft-server\",\"app.kubernetes.io/part-of\":\"cluster-flagwars\",\"minecraftcluster.shulkermc.io/name\":\"flagwars\",\"minecraftserverfleet.shulkermc.io/name\":\"game\"},\"managedFields\":[{\"apiVersion\":\"agones.dev/v1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:matchData\":{},\"f:minecraftserver.shulkermc.io/tags\":{}},\"f:generateName\":{},\"f:labels\":{\".\":{},\"f:agones.dev/fleet\":{},\"f:app.kubernetes.io/component\":{},\"f:app.kubernetes.io/instance\":{},\"f:app.kubernetes.io/managed-by\":{},\"f:app.kubernetes.io/name\":{},\"f:app.kubernetes.io/part-of\":{},\"f:minecraftcluster.shulkermc.io/name\":{},\"f:minecraftserverfleet.shulkermc.io/name\":{}},\"f:ownerReferences\":{\".\":{},\"k:{\\\"uid\\\":\\\"9f647fb4-1e52-4e40-af61-6feeead2af3c\\\"}\":{}}},\"f:spec\":{\".\":{},\"f:eviction\":{\".\":{},\"f:safe\":{}},\"f:health\":{\".\":{},\"f:disabled\":{},\"f:failureThreshold\":{},\"f:initialDelaySeconds\":{},\"f:periodSeconds\":{}},\"f:immutableReplicas\":{},\"f:ports\":{},\"f:template\":{\".\":{},\"f:metadata\":{\".\":{},\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/default-container\":{},\"f:minecraftserver.shulkermc.io/tags\":{}},\"f:labels\":{\".\":{},\"f:app.kubernetes.io/component\":{},\"f:app.kubernetes.io/instance\":{},\"f:app.kubernetes.io/managed-by\":{},\"f:app.kubernetes.io/name\":{},\"f:app.kubernetes.io/part-of\":{},\"f:minecraftcluster.shulkermc.io/name\":{},\"f:minecraftserverfleet.shulkermc.io/name\":{}}},\"f:spec\":{\".\":{},\"f:containers\":{},\"f:initContainers\":{},\"f:restartPolicy\":{},\"f:serviceAccountName\":{},\"f:subdomain\":{},\"f:volumes\":{}}}}},\"manager\":\"shulker-operator\",\"operation\":\"Update\",\"time\":\"2025-01-06T15:42:45Z\"}],\"name\":\"game-dtxpj\",\"namespace\":\"flagwars\",\"ownerReferences\":[{\"apiVersion\":\"agones.dev/v1\",\"controller\":true,\"kind\":\"Fleet\",\"name\":\"game\",\"uid\":\"9f647fb4-1e52-4e40-af61-6feeead2af3c\"}],\"resourceVersion\":\"86877\",\"uid\":\"d79f5d88-60b0-431c-b5dc-50119389bd41\"},\"spec\":{\"container\":\"minecraft-server\",\"eviction\":{\"safe\":\"OnUpgrade\"},\"health\":{\"failureThreshold\":5,\"initialDelaySeconds\":30,\"periodSeconds\":15},\"immutableReplicas\":1,\"scheduling\":\"Packed\",\"sdkServer\":{\"grpcPort\":9357,\"httpPort\":9358,\"logLevel\":\"Info\"},\"template\":{\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/default-container\":\"minecraft-server\",\"minecraftserver.shulkermc.io/tags\":\"game\"},\"creationTimestamp\":null,\"labels\":{\"app.kubernetes.io/component\":\"minecraft-server\",\"app.kubernetes.io/instance\":\"minecraft-server-game\",\"app.kubernetes.io/managed-by\":\"shulker-operator\",\"app.kubernetes.io/name\":\"minecraft-server\",\"app.kubernetes.io/part-of\":\"cluster-flagwars\",\"minecraftcluster.shulkermc.io/name\":\"flagwars\",\"minecraftserverfleet.shulkermc.io/name\":\"game\"}},\"spec\":{\"containers\":[{\"env\":[{\"name\":\"SHULKER_SERVER_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"SHULKER_SERVER_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"SHULKER_NETWORK_ADMINS\",\"value\":\"172f6616-74b8-475b-89fc-c8edbb57d9b3\"},{\"name\":\"SHULKER_SERVER_LIFECYCLE_STRATEGY\",\"value\":\"Manual\"},{\"name\":\"EULA\",\"value\":\"TRUE\"},{\"name\":\"COPY_CONFIG_DEST\",\"value\":\"/data\"},{\"name\":\"SYNC_SKIP_NEWER_IN_DESTINATION\",\"value\":\"true\"},{\"name\":\"SKIP_SERVER_PROPERTIES\",\"value\":\"true\"},{\"name\":\"REPLACE_ENV_IN_PLACE\",\"value\":\"true\"},{\"name\":\"REPLACE_ENV_VARIABLE_PREFIX\",\"value\":\"CFG_\"},{\"name\":\"CFG_VELOCITY_FORWARDING_SECRET\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"key\",\"name\":\"flagwars-forwarding-secret\"}}},{\"name\":\"MEMORY\"},{\"name\":\"JVM_XX_OPTS\",\"value\":\"-XX:MaxRAMPercentage=75\"},{\"name\":\"TYPE\",\"value\":\"CUSTOM\"},{\"name\":\"CUSTOM_SERVER\",\"value\":\"http://host.docker.internal:8080/FlagWarsGame.jar\"}],\"image\":\"itzg/minecraft-server:2024.7.2-java21\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"minecraft-server\",\"ports\":[{\"containerPort\":25565,\"name\":\"minecraft\"}],\"resources\":{},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"capabilities\":{\"drop\":[\"ALL\"]},\"readOnlyRootFilesystem\":true,\"runAsNonRoot\":true,\"runAsUser\":1000},\"volumeMounts\":[{\"mountPath\":\"/config\",\"name\":\"server-config\"},{\"mountPath\":\"/data\",\"name\":\"server-data\"},{\"mountPath\":\"/tmp\",\"name\":\"server-tmp\"}]}],\"initContainers\":[{\"command\":[\"sh\",\"/mnt/shulker/config/init-fs.sh\"],\"env\":[{\"name\":\"SHULKER_CONFIG_DIR\",\"value\":\"/mnt/shulker/config\"},{\"name\":\"SHULKER_SERVER_CONFIG_DIR\",\"value\":\"/config\"},{\"name\":\"SHULKER_SERVER_DATA_DIR\",\"value\":\"/data\"},{\"name\":\"SHULKER_VERSION_CHANNEL\",\"value\":\"Minestom\"}],\"image\":\"alpine:latest\",\"name\":\"init-fs\",\"resources\":{},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"capabilities\":{\"drop\":[\"ALL\"]},\"readOnlyRootFilesystem\":true,\"runAsNonRoot\":true,\"runAsUser\":1000},\"volumeMounts\":[{\"mountPath\":\"/mnt/shulker/config\",\"name\":\"shulker-config\",\"readOnly\":true},{\"mountPath\":\"/config\",\"name\":\"server-config\"}]}],\"restartPolicy\":\"Never\",\"serviceAccountName\":\"shulker-flagwars-server\",\"subdomain\":\"flagwars-cluster\",\"volumes\":[{\"configMap\":{\"name\":\"game-config\"},\"name\":\"shulker-config\"},{\"emptyDir\":{},\"name\":\"server-config\"},{\"emptyDir\":{},\"name\":\"server-data\"},{\"emptyDir\":{},\"name\":\"server-tmp\"}]}}},\"status\":{\"address\":\"\",\"addresses\":null,\"eviction\":{\"safe\":\"OnUpgrade\"},\"immutableReplicas\":1,\"nodeName\":\"\",\"players\":null,\"ports\":null,\"reservedUntil\":null,\"state\":\"Creating\"}}\n, Error(\"invalid type: null, expected a sequence\", line: 1, column: 5691)"},"target":"kube_client::client"} In the agones-allocator:

2025-01-06T15:42:44.951Z | {"message":"allocation request received.","request":{"namespace":"flagwars","metadata":{"annotations":{"matchData":"{\"gameType\":\"DUO\",\"mapName\":null,\"teams\":[]}"}},"gameServerSelectors":[{"matchLabels":{"minecraftserverfleet.shulkermc.io/name":"game"}}]},"severity":"info","source":"main","time":"2025-01-06T15:42:44.950972285Z"}
2025-01-06T15:42:45.232Z | {"error":"Could not find an Allocatable GameServer","gsa":{"metadata":{"namespace":"flagwars","creationTimestamp":null},"spec":{"multiClusterSetting":{"policySelector":{}},"required":{},"selectors":[{"matchLabels":{"minecraftserverfleet.shulkermc.io/name":"game"},"gameServerState":"Ready"}],"scheduling":"Packed","metadata":{"annotations":{"matchData":"{\"gameType\":\"DUO\",\"mapName\":null,\"teams\":[]}"}}},"status":{"state":"","gameServerName":"","source":""}},"gsaKey":"flagwars/","message":"Failed to Allocated. Retrying...","severity":"warning","source":"*gameserverallocations.Allocator","time":"2025-01-06T15:42:45.232554606Z"}

Andrei965 avatar Jan 06 '25 16:01 Andrei965

Hi @jeremylvln, I've been working on fixing this issue for the past week, but unfortunately haven't had any success so far. I suspect the problem might be related to missing fields when the game server is creating, which could be causing the deserialization error. Would you mind taking a look when you have a chance? Thanks in advance!

Andrei965 avatar Jan 19 '25 13:01 Andrei965

Hi @Andrei965! Thanks for pinging me, I've totally forgot about your issue. I'll manage to take a look this week :)

jeremylvln avatar Jan 20 '25 09:01 jeremylvln

Hi @jeremylvln ! Could you please look into this issue? It is a critical bug that prevents the use of allocateFromFleet, with no other work-around.

Andrei965 avatar Jan 26 '25 17:01 Andrei965

Hi @jeremylvln! Any update on this?

Andrei965 avatar Feb 15 '25 12:02 Andrei965

Hi @jeremylvln! I think a simple fix for this issue would be waiting for the game server to be fully created, so that all of the fields are correctly initialized.

Andrei965 avatar Mar 01 '25 16:03 Andrei965

Hi @jeremylvln ! I understand that you're busy and may not have had the time to work on Shulker recently. I’ve been trying to fix this issue, along with the other discussions I opened, but since this is my first time working with the technologies used in the project, I’m finding it quite challenging.

If you could take some time to look into this, I’d really appreciate it. Please let me know if there’s anything I can help with.

Thanks in advance!

Andrei965 avatar Mar 10 '25 18:03 Andrei965

Hi @jeremylvln! Can you at least reproduce the bug?

Andrei965 avatar Mar 30 '25 18:03 Andrei965

Hi @jeremylvln! Can you at least reproduce the bug?

Hi @Andrei965 looking into it :) Sorry for the long delay, finally having some vacation days!

jeremylvln avatar Apr 04 '25 13:04 jeremylvln

I reproduced the issue locally, looking into it

jeremylvln avatar Apr 05 '25 12:04 jeremylvln

The problem should be fixed in the next version. You can test it today by using the next tag on the Docker images (using Helm)

jeremylvln avatar Apr 05 '25 17:04 jeremylvln

I confirm the issue is fixed, I start a release :) Thanks a lot for the detailed report, and sorry for the delay

jeremylvln avatar Apr 05 '25 18:04 jeremylvln