Skip to content

Possible to use itzg/minecraft with GeyserMC? #213

Description

@FawenYo

Hi! I'm trying to deploy the Minecraft server (JAVA edition) and install GeyserMC on it so other devices like iOS with Minecraft Bedrock version can also connect to my server, and here is my overrides YAML

# ref: https://hub.docker.com/r/itzg/minecraft-server/
minecraftServer:
  eula: "TRUE"
  # This can be one of "VANILLA", "FORGE", "SPIGOT", "BUKKIT", "PAPER", "FTBA", "SPONGEVANILLA", "CURSEFORGE"
  type: "PAPER"

  serviceType: ClusterIP

  pluginUrls: [https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot, https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot]

  extraPorts:
    - name: bedrock-v4-tcp
      containerPort: 19132
      protocol: TCP
      service:
        enabled: true
        embedded: true
        annotations: {}
        type: ClusterIP
        loadBalancerIP: ""
        loadBalancerSourceRanges: []
        externalTrafficPolicy: Cluster
        port: 19132
      ingress:
        ingressClassName: nginx
        enabled: false
        annotations:
    - name: bedrock-v4-udp
      containerPort: 19132
      protocol: UDP
      service:
        enabled: true
        embedded: true
        annotations: {}
        type: ClusterIP
        loadBalancerIP: ""
        loadBalancerSourceRanges: []
        externalTrafficPolicy: Cluster
        port: 19132
      ingress:
        ingressClassName: nginx
        enabled: false
        annotations:
    - name: bedrock-v6-tcp
      containerPort: 19133
      protocol: TCP
      service:
        enabled: true
        embedded: true
        annotations: {}
        type: ClusterIP
        loadBalancerIP: ""
        loadBalancerSourceRanges: []
        externalTrafficPolicy: Cluster
        port: 19133
      ingress:
        ingressClassName: nginx
        enabled: false
        annotations:
    - name: bedrock-v6-udp
      containerPort: 19133
      protocol: UDP
      service:
        enabled: true
        embedded: true
        annotations: {}
        type: ClusterIP
        loadBalancerIP: ""
        loadBalancerSourceRanges: []
        externalTrafficPolicy: Cluster
        port: 19133
      ingress:
        ingressClassName: nginx
        enabled: false
        annotations:

I've added the GeyserMC to minecraftServer.pluginUrls[0] and added necessary ports under minecraftServer.extraPorts. Since I have limited IP, I choose to use CluserIP as Kubernetes Service type and use Krelay to do port-forwarding as bedrock requires UDP protocol.

kubectl relay -n minecraft service/minecraft-minecraft --address 0.0.0.0 25565:minecraft
kubectl relay -n minecraft service/minecraft-minecraft --address 0.0.0.0 19132:bedrock-v4-tcp
kubectl relay -n minecraft service/minecraft-minecraft --address 0.0.0.0 19132:bedrock-v4-udp@udp

I tested the server with Java edition and it did the work. However, my iOS devices just can't connect to it... Want to ask if someone here also tried GeyserMC with ClusterIP before?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions