itzg / itzg/minecraft-server-charts

Possible to use itzg/minecraft with GeyserMC?

Open
#213 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Mustache
Stars
406
Forks
164
Avg merge
1h 34m
Merged PRs (30d)
1

Description

Hi! I'm trying to deploy the Minecraft server (JAVA edition) and install [GeyserMC](https://geysermc.org) 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](https://github.com/knight42/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?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the supplied overrides YAML and the Kubernetes Service configuration, then review the GeyserMC plugin and Krelay commands shown in the report. Reproduce the iOS Bedrock connection failure and determine whether the chart configuration supports this ClusterIP setup; done should include a verified working configuration or a documented limitation.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes
Domain
devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.