itzg / itzg/minecraft-server-charts
Possible to use itzg/minecraft with GeyserMC?
- 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