Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add first-party support for Minestom servers #634

Merged
merged 5 commits into from
Aug 26, 2024

Conversation

jeremylvln
Copy link
Owner

@jeremylvln jeremylvln commented Aug 26, 2024

Hugely inspired by @ajh123's work.

It will provide a library one should include in their Minestom build. It has two entry points:

  1. The first is ShulkerServerAgentMinestom.init() that will create and initialize the server & the agent, nothing more
  2. The second is ShulkerServerAgentMinestom.start() that will start the server using the correct IP and port

The Shulker Operator will mimic a Paper-based server but will require a custom JAR to be provided. The appropriate proxy middleware will be used.

Closes #633

@jeremylvln jeremylvln added the type:enhancement 🚀 New feature or request label Aug 26, 2024
@jeremylvln jeremylvln self-assigned this Aug 26, 2024
@jeremylvln
Copy link
Owner Author

@ajh123 Does the implementation seem correct to you? On my side it compiles, but I have no knowledge of Minestom what's however, so it would be cool if you could test this after merging (running the operator on next and using the snapshot build on my Maven).

@jeremylvln jeremylvln enabled auto-merge (squash) August 26, 2024 12:10
Copy link

codecov bot commented Aug 26, 2024

Codecov Report

Attention: Patch coverage is 90.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 33.14%. Comparing base (86b4804) to head (53c2bdf).
Report is 3 commits behind head on main.

Files Patch % Lines
...tor/src/reconcilers/minecraft_server/gameserver.rs 90.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #634      +/-   ##
==========================================
+ Coverage   32.96%   33.14%   +0.18%     
==========================================
  Files          59       59              
  Lines        3228     3237       +9     
==========================================
+ Hits         1064     1073       +9     
  Misses       2164     2164              
Flag Coverage Δ
shulker-addon-matchmaking 23.02% <ø> (+0.31%) ⬆️
shulker-crds 92.30% <ø> (ø)
shulker-kube-utils 11.25% <ø> (ø)
shulker-operator 60.41% <90.00%> (+0.16%) ⬆️
shulker-utils 87.50% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...tor/src/reconcilers/minecraft_server/gameserver.rs 91.95% <90.00%> (-0.11%) ⬇️

... and 1 file with indirect coverage changes

@jeremylvln jeremylvln merged commit 3874320 into main Aug 26, 2024
14 checks passed
@jeremylvln jeremylvln deleted the feat/633-minestom-library branch August 26, 2024 12:18
@ajh123
Copy link
Contributor

ajh123 commented Aug 26, 2024

@jeremylvln

@ajh123 Does the implementation seem correct to you?

Yes, the code looks like it should work.

Also, for my lobby's YAML configuration what do I use for the version's name field?

apiVersion: shulkermc.io/v1alpha1
kind: MinecraftServerFleet
metadata:
  name: lobby
spec:
  clusterRef:
    name: miners-online-main
  replicas: 1
  template:
    spec:
      clusterRef:
        name: miners-online-main
      tags:
        - lobby
      version:
        channel: Minestom
        name: '1.21'
        customJar:
          url: http://10.0.0.160:83/lobby/Lobby-1.1-SNAPSHOT-all.jar
#      config: {}
      config:
        patches:
          - url: http://10.0.0.160:83/lobby/Lobby.tar.gz
        serverProperties:
          #level-name: Lobby
          #level-spawn-x: '8.5'
          #level-spawn-y: '100.5'
          #level-spawn-z: '8.5'
          server-ip: '0.0.0.0'
          server-port: '25565'

With this current configuration, no lobby pods get created when I apply it.

@ajh123
Copy link
Contributor

ajh123 commented Aug 26, 2024

Also, with the new ServerProperties class, if someone provides custom serverProperties via the config (like above) would the server-ip and server-port fields be correctly set?

Does Shulker automatically fill it's own fields in the server.properties if they do not exist?

@jeremylvln
Copy link
Owner Author

jeremylvln commented Aug 26, 2024

@ajh123 You can put whatever you want in the version name I guess, as you are providing the JAR file there is no impact (at least for now).

It's weird that your pods are not created, is there any error log in the shulker-operator pod?

About the properties, Shulker is mounting an already filled file with the custom properties from the config alongside its own necessary configs (notably server-ip and server-port). So in your example you can omit these two from your config, it should work properly :)

@ajh123
Copy link
Contributor

ajh123 commented Aug 26, 2024

@jeremylvln Looks like there are no errors:

{"timestamp":"2024-08-26T11:49:18.122360Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T11:50:57.416030Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T11:53:37.872684Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T11:54:18.160536Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T11:54:18.199840Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T11:55:57.590115Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T11:58:38.051912Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T11:59:18.237366Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T11:59:18.279648Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:00:57.762834Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:01:57.529956Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:04:18.318085Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:04:18.358124Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:05:57.935031Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:06:57.703382Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:09:18.396387Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:09:18.435010Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:10:58.109747Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:11:57.893143Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:14:18.473459Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:14:18.516885Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:15:58.304198Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:16:58.066529Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:19:18.553645Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:19:18.594650Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:20:58.490308Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:21:58.249125Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:24:18.632224Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:24:18.676284Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:25:58.659280Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:26:58.421638Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:29:18.716041Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:29:18.759375Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:30:58.828299Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:31:58.589453Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:34:18.797264Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:34:18.851819Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:35:59.026109Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:36:58.774640Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:39:18.890362Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:39:18.931732Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:40:37.528789Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:40:59.196557Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:44:18.968779Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:44:19.009813Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:44:19.047314Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:45:37.705878Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:45:59.363524Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:49:19.085389Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:49:19.126290Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:50:37.888562Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:50:59.534694Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:54:19.164788Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:54:19.203517Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:55:38.066193Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:55:59.703403Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:59:19.257842Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T12:59:19.299491Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:00:38.245954Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:00:59.871129Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:02:57.533664Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:04:19.336379Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:04:19.376953Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:06:00.035429Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:07:57.706151Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:08:55.481020Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:09:19.415166Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:09:19.474541Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:16.748092Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:16.926732Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: ConfigMap.v1./public-config.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:17.095335Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: ConfigMap.v1./public-config.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:17.258776Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Fleet.v1.agones.dev/public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:17.412726Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:17.577148Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Fleet.v1.agones.dev/public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:17.736668Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:36.546587Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Fleet.v1.agones.dev/public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:36.720627Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:11:47.751765Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:14:19.513824Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:14:19.555277Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:16:47.926270Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:19:19.592520Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:19:19.634455Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:21:48.109593Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:24:19.671849Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:24:19.713311Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:26:48.289952Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:26:51.373144Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:26:51.525323Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: ConfigMap.v1./lobby-config.miners-online","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:26:51.681260Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: ConfigMap.v1./lobby-config.miners-online","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:26:51.843528Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Fleet.v1.agones.dev/lobby.miners-online","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:26:52.000790Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:26:52.161543Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Fleet.v1.agones.dev/lobby.miners-online","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:26:52.319166Z","level":"INFO","fields":{"message":"reconciling MinecraftServerFleet","name":"lobby","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_server_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"MinecraftServerFleet.v1alpha1.shulkermc.io/lobby.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:12.500202Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:12.677776Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: ConfigMap.v1./public-config.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:12.840030Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: ConfigMap.v1./public-config.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:13.006776Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Fleet.v1.agones.dev/public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:13.160650Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:13.330697Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Fleet.v1.agones.dev/public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:13.483131Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:32.778761Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Fleet.v1.agones.dev/public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:32.952725Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"object updated","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:28:43.505359Z","level":"INFO","fields":{"message":"reconciling ProxyFleet","name":"public","namespace":"miners-online"},"target":"shulker_operator::reconcilers::proxy_fleet","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./public.miners-online","object.ref":"ProxyFleet.v1alpha1.shulkermc.io/public.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:29:19.752974Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"reconciler requested retry","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}
{"timestamp":"2024-08-26T13:29:19.795680Z","level":"INFO","fields":{"message":"reconciling MinecraftCluster","name":"miners-online-main","namespace":"miners-online"},"target":"shulker_operator::reconcilers::minecraft_cluster","span":{"name":"reconcile"},"spans":[{"object.reason":"related object updated: Service.v1./miners-online-main-cluster.miners-online","object.ref":"MinecraftCluster.v1alpha1.shulkermc.io/miners-online-main.miners-online","name":"reconciling object"},{"name":"reconcile"}]}

(I've used delete and apply some many times)

@ajh123
Copy link
Contributor

ajh123 commented Aug 26, 2024

Also, when I did the helm upgrade a new shulker operator wasn't made for some reason.

@jeremylvln
Copy link
Owner Author

jeremylvln commented Aug 26, 2024

Also, when I did the helm upgrade a new shulker operator wasn't made for some reason.

Oh, yes that's probably why. I do not publish Helm pre-releases when I merge on main, the setup is not the nicest, but you can achieve the same results manually.

First, update your Helm config target the next tag (values.yaml):

operator:
  image:
    tag: next

Then update the CRDs:

kubectl apply -f kube/helm/templates/crds/

Finally, re-apply your resources. Your cluster is probably not aware yet of the new Minestom value.

@jeremylvln
Copy link
Owner Author

I just tested with you config and pods are created on my side (of course it fails because your URLs are private, but at least there are pods).

@ajh123
Copy link
Contributor

ajh123 commented Aug 26, 2024

@jeremylvln

For me I had to manually delete the old operator and run the upgrade again.

Now the lobby pod gets created but there is an error in the logs:

Aug 26, 2024 1:53:20 PM io.shulkermc.serveragent.paper.ShulkerServerAgentMinestom onServerInitialization
INFO: Loading configuration files
Exception in thread "main" Cannot create property=proxies for JavaBean=PaperConfiguration(proxies=ProxiesConfiguration(velocity=VelocityConfiguration(enabled=false, secret=null)))
 in 'reader', line 1, column 1:
    proxies:
    ^
No writable property 'proxies' on class: io.shulkermc.serveragent.paper.config.PaperConfiguration
 in 'reader', line 2, column 3:
      bungee-cord:
      ^

        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:283)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:169)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:320)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:264)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:247)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:201)
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:185)
        at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:493)
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:434)
        at io.shulkermc.serveragent.paper.config.PaperConfiguration$Companion.load(PaperConfiguration.kt:32)
        at io.shulkermc.serveragent.paper.ShulkerServerAgentMinestom.onServerInitialization(ShulkerServerAgentMinestom.kt:48)
        at io.shulkermc.serveragent.paper.ShulkerServerAgentMinestom.access$onServerInitialization(ShulkerServerAgentMinestom.kt:10)
        at io.shulkermc.serveragent.paper.ShulkerServerAgentMinestom$Companion.init(ShulkerServerAgentMinestom.kt:24)
        at io.shulkermc.serveragent.paper.ShulkerServerAgentMinestom.init(ShulkerServerAgentMinestom.kt)
        at uk.minersonline.minestom.AbstractGame.start(AbstractGame.java:17)
        at uk.minersonline.minestom.Lobby.Main.main(Main.java:95)
Caused by: org.yaml.snakeyaml.error.YAMLException: No writable property 'proxies' on class: io.shulkermc.serveragent.paper.config.PaperConfiguration
        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:228)
        ... 15 more

@jeremylvln
Copy link
Owner Author

Would you mind sharing me a simple example of how to build a Minestom server? This way I can test without bothering you

@ajh123
Copy link
Contributor

ajh123 commented Aug 26, 2024

Would you mind sharing me a simple example of how to build a Minestom server? This way I can test without bothering you

@jeremylvln Yes, Minestom has docs for this.

@jeremylvln
Copy link
Owner Author

jeremylvln commented Aug 29, 2024

@ajh123 I've connected successfully to a Minestom server, I've pushed a demo integration on this repository.

I just have some more tests to ensure I've not broken anything, but otherwise, ready to release :)

image

@ajh123
Copy link
Contributor

ajh123 commented Aug 30, 2024

@jeremylvln Can confirm it works for me to.

image

@jeremylvln
Copy link
Owner Author

That's awesome to hear! I'll probably make a real release this week-end :)

jeremylvln pushed a commit that referenced this pull request Sep 1, 2024
## [0.11.0](v0.10.0...v0.11.0) (2024-09-01)

### ✨ Features ✨

* add first-party support for Minestom servers ([#634](#634)) ([3874320](3874320))
* add minestom-demo implementation ([50e5263](50e5263))

### 🐛 Bug Fixes 🐛

* **deps:** update dependency com.google.api.grpc:proto-google-common-protos to v2.43.0 ([#639](#639)) ([9870f8d](9870f8d))
Copy link

github-actions bot commented Sep 1, 2024

🎉 This issue has been resolved in version 0.11.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement 🚀 New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create first-party Minestom agent library
2 participants