gate icon indicating copy to clipboard operation
gate copied to clipboard

(1.18) Can't connect to server with onlineMode=true

Open AlyxPractice opened this issue 3 years ago • 0 comments

Hi,

First thanks for this project, it's amazing what you have built here and I'll try to contribute as much as I can 🙇

I'm having some trouble making it work on a Kubernetes cluster (I haven't tried in a more native way yet). When I enabled the onlineMode on gate, I can't connect anymore, no matter the setting of the vanilla server behind (i'm using github.com/itzg/docker-minecraft-server for this).

Context:

  • MC server running on Docker
  • MC server and gate running on a local Kubernetes cluster, on a Mac M1
  • MC server version : 1.18.2 (shown here) but I tried 1.19 too with the same issue
    • I'm trying 1.18.x instead of 1.19 because of the new key enforcement, I ran into some issues with it as well, so I thought it was better to tackle one issue at a time

Dockerfile.gate

This image is being run on the Kubernetes cluster

FROM golang:alpine
EXPOSE 25565
RUN go install go.minekube.com/gate@latest
CMD gate

gate logs:

2022-07-29T11:29:46.051Z	LEVEL(-2)	java.client.decoder	codec/decoder.go:96	decoded packet	{"context": "PacketContext:direction=ServerBound,Protocol=4,KnownPacket=true,PacketID=0,PacketType=*packet.Handshake,Payloadlen=28"}
2022-07-29T11:29:46.051Z	LEVEL(-2)	java.client.decoder	codec/decoder.go:96	decoded packet	{"context": "PacketContext:direction=ServerBound,Protocol=758,KnownPacket=true,PacketID=0,PacketType=*packet.ServerLogin,Payloadlen=9"}
2022-07-29T11:29:46.051Z	LEVEL(-2)	java.client.encoder	codec/encoder.go:96	encoded packet	{"context": "PacketContext:direction=ClientBound,Protocol=758,KnownPacket=true,PacketID=1,PacketType=*packet.EncryptionRequest,Payloadlen=0", "bytes": 171}
2022-07-29T11:29:46.238Z	LEVEL(-2)	java.client.decoder	codec/decoder.go:96	decoded packet	{"context": "PacketContext:direction=ServerBound,Protocol=758,KnownPacket=true,PacketID=1,PacketType=*packet.EncryptionResponse,Payloadlen=261"}
2022-07-29T11:29:46.239Z	DEBUG	java.client.loginSession.authn.authnJoin.request	auth/authenticator.go:168	Sending http request to Mojang sessionserver	{"url": "https://sessionserver.mojang.com/session/minecraft/hasJoined?serverId=xxx&username=my_minecraft_name"}
2022-07-29T11:29:46.405Z	DEBUG	java.client.loginSession.authn.authnJoin.request	auth/authenticator.go:198	User was tested against Mojang sessionserver	{"onlineMode": true, "time": "166.380917ms", "statusCode": 200}
2022-07-29T11:29:46.405Z	INFO	java.client.authSession	proxy/sesssion_auth.go:61	player has connected, completing login	{"player": "my_minecraft_name", "id": "xxx"}
2022-07-29T11:29:46.405Z	LEVEL(-2)	java.client.encoder	codec/encoder.go:96	encoded packet	{"context": "PacketContext:direction=ClientBound,Protocol=758,KnownPacket=true,PacketID=3,PacketType=*packet.SetCompression,Payloadlen=0", "bytes": 3}
2022-07-29T11:29:46.406Z	DEBUG	java.client	proxy/connection.go:424	update compression	{"threshold": 256}
2022-07-29T11:29:46.406Z	LEVEL(-2)	java.client.encoder	codec/encoder.go:96	encoded packet	{"context": "PacketContext:direction=ClientBound,Protocol=758,KnownPacket=true,PacketID=2,PacketType=*packet.ServerLoginSuccess,Payloadlen=0", "bytes": 25}
2022-07-29T11:29:46.406Z	DEBUG	java.client.player.serverConn	proxy/server.go:332	connecting to server...	{"name": "my_minecraft_name", "id": "xxx", "serverName": "server1", "serverAddr": "minecraft:25570"}
2022-07-29T11:29:46.406Z	DEBUG	java.client.player.serverConn	proxy/server.go:337	connected to server	{"name": "my_minecraft_name", "id": "xxx", "serverName": "server1", "serverAddr": "minecraft:25570"}
2022-07-29T11:29:46.407Z	DEBUG	java.client.player.serverConn	proxy/server.go:353	establishing player connection with server...	{"name": "my_minecraft_name", "id": "xxx", "serverName": "server1", "serverAddr": "minecraft:25570"}
2022-07-29T11:29:46.407Z	LEVEL(-2)	java.server.encoder	codec/encoder.go:96	encoded packet	{"context": "PacketContext:direction=ServerBound,Protocol=4,KnownPacket=true,PacketID=0,PacketType=*packet.Handshake,Payloadlen=0", "bytes": 1282}
2022-07-29T11:29:46.407Z	LEVEL(-2)	java.server.encoder	codec/encoder.go:96	encoded packet	{"context": "PacketContext:direction=ServerBound,Protocol=758,KnownPacket=true,PacketID=0,PacketType=*packet.ServerLogin,Payloadlen=0", "bytes": 9}
2022-07-29T11:29:46.407Z	DEBUG	java.server	proxy/connection.go:125	Error reading packet, closing connection	{"err": "error reading varint frame: error reading varint: EOF"}
2022-07-29T11:29:46.407Z	DEBUG	java.client.player	proxy/switch.go:161	could not connect player to server	{"name": "my_minecraft_name", "id": "xxx", "serverName": "server1", "serverAddr": "minecraft:25570", "err": "The connection to the remote server was unexpectedly closed.\nThis is usually because the remote server does not have BungeeCord IP forwarding correctly enabled."}
2022-07-29T11:29:46.407Z	INFO	java.client.player	proxy/switch.go:174	unable to connect to server	{"name": "my_minecraft_name", "id": "xxx", "serverName": "server1", "serverAddr": "minecraft:25570", "error": "The connection to the remote server was unexpectedly closed.\nThis is usually because the remote server does not have BungeeCord IP forwarding correctly enabled."}
2022-07-29T11:29:46.407Z	LEVEL(-2)	java.client.encoder	codec/encoder.go:96	encoded packet	{"context": "PacketContext:direction=ClientBound,Protocol=758,KnownPacket=true,PacketID=1a,PacketType=*packet.Disconnect,Payloadlen=0", "bytes": 81}
2022-07-29T11:29:46.407Z	DEBUG	java.client	proxy/connection.go:125	Error reading packet, closing connection	{"err": "error reading varint frame: error reading varint: read tcp 127.0.0.1:25565->127.0.0.1:42998: use of closed network connection"}
2022-07-29T11:29:46.407Z	INFO	java.client.player	proxy/player.go:597	Player has been disconnected	{"name": "my_minecraft_name", "id": "xxx", "reason": "§cUnable to connect to \"server1\". Try again later."}

gate config.yml:

editions:
  java:
    enabled: true
    config:
      bind: 0.0.0.0:25565
      servers:
        server1: minecraft:25570
      try:
        - server1

server.properties:

enable-jmx-monitoring=false
level-seed=
rcon.port=25575
enable-command-block=true
gamemode=survival
enable-query=false
generator-settings={}
level-name=world
motd=A Vanilla Minecraft Server powered by Docker
query.port=25565
texture-pack=
pvp=true
generate-structures=true
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
max-players=20
use-native-transport=false
online-mode=false
enable-status=true
allow-flight=false
broadcast-rcon-to-ops=true
view-distance=10
max-build-height=256
server-ip=
resource-pack-prompt=
allow-nether=true
server-port=25565
enable-rcon=true
sync-chunk-writes=true
op-permission-level=4
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=100
simulation-distance=10
player-idle-timeout=0
rcon.password=minecraft
force-gamemode=false
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
snooper-enabled=true
function-permission-level=2
level-type=default
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
resource-pack-sha1=
spawn-protection=16
max-world-size=29999984

If I disable the online mode, I can connect, so I guess there is something related to this? I'm a bit lost on what to try next, if you have any hints, that would be super helpful.

Thanks a lot!

AlyxPractice avatar Jul 29 '22 11:07 AlyxPractice