Hi,
I really hate to ask though I cannot see my issue solved on google or within the forums here :o(
Problem: I am unable to join to my newly created MineOS server (running as a VM) from a local PC client.
Setup:
Client OS: Windows 10 running Minecraft
IP: 192.168.20.52
Guest Server: MineOS (latest version)
Host OS: Proxmox
IP: 172.16.0.2
The client is on a separate network to the MineOS server in a local home environment and a local FW is providing the Network Boundary between both LANās.
The FW has an open (permissive) rule running bi -directional between both LANās.
I am not trying to get port forwarding set up as at the moment as the server is hosted locally within a household.
Issue: Minecraft on the Client PC has been configured to join the VM MineOS server with the following details:
Server Name: foo
Server Address: 172.16.0.2
Port: 25565
RAM:6GB
HDD:20GB
Java Mods:
-Xmx - Set to 512MB
-Xms - Set to 512MB
Additional Commands: -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false
I have tried to force Java to not bind sockets to IPV6 which was happening originally and this seems to have taken effect as denoted in the netstat output example below.
Troubleshooting Steps:
MineOS Server Setup:
- IPTables has been configured as follows. I have added UDP as a destination protocol for reasons explained shortly.
root@mineos ~# iptables -L
Chain INPUT (policy DROP)
_target prot opt source destination _
_ACCEPT all ā anywhere anywhere _
ACCEPT tcp ā anywhere anywhere tcp dpt:ssh
ACCEPT tcp ā anywhere anywhere tcp dpt:8443
ACCEPT tcp ā anywhere anywhere tcp dpt:25565
ACCEPT all ā anywhere anywhere state RELATED,ESTABLISHED
ACCEPT udp ā anywhere anywhere udp dpt:25565
Chain FORWARD (policy ACCEPT)
_target prot opt source destination _
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
- Netstat shows the following on the MineOS server. UDP:22565 is not bound to any socket as denoted by itās absence below:
_root@mineos ~# netstat -a _
Active Internet connections (servers and established)
_Proto Recv-Q Send-Q Local Address Foreign Address State _
_tcp 0 0 *:ssh : LISTEN _
_tcp 0 0 localhost:smtp : LISTEN _
_tcp 0 0 *:8443 : LISTEN _
_tcp 0 0 *:25565 : LISTEN _
_tcp 0 0 localhost:12319 : LISTEN _
_tcp 0 0 *:12320 : LISTEN _
tcp 0 0 *:12321 : LIST
- Running a TCPDUMP on MineOS whilst getting the client to try and connect shows the following:
root@mineos ~# tcpdump -i eth0 host 192.168.20.52
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:21:07.223192 IP 192.168.20.52.62172 > 172.16.0.2.25565: UDP, length 1464
11:21:07.223234 IP 172.16.0.2 > 192.168.20.52: ICMP 172.16.0.2 udp port 25565 unreachable, length 556
11:21:07.732477 IP 192.168.20.52.62172 > 172.16.0.2.25565: UDP, length 1464
11:21:07.732507 IP 172.16.0.2 > 192.168.20.52: ICMP 172.16.0.2 udp port 25565 unreachable, length 556
11:21:08.241406 IP 192.168.20.52.62172 > 172.16.0.2.25565: UDP, length 1464
11:21:08.241430 IP 172.16.0.2 > 192.168.20.52: ICMP 172.16.0.2 udp port 25565 unreachable, length 556
11:21:08.751598 IP 192.168.20.52.62172 > 172.16.0.2.25565: UDP, length 1464
11:21:08.751621 IP 172.16.0.2 > 192.168.20.52: ICMP 172.16.0.2 udp port 25565 unreachable, length 556
11:21:09.259937 IP 192.168.20.52.62172 > 172.16.0.2.25565: UDP, length 1172
11:21:09.259974 IP 172.16.0.2 > 192.168.20.52: ICMP 172.16.0.2 udp port 25565 unreachable, length 556
11:21:09.768327 IP 192.168.20.52.62172 > 172.16.0.2.25565: UDP, length 1172
11:21:09.768366 IP 172.16.0.2 > 192.168.20.52: ICMP 172.16.0.2 udp port 25565 unreachable, length 556
Anaylsis
I have tried using different profiles and have copied profiles to the live server. The Server shows to be up and running with no issues and the log output shows the following:
[11:50:18] [Server thread/INFO]: Starting minecraft server version 1.12.2
[11:50:18] [Server thread/WARN]: To start the server with more ram, launch it as ājava -Xmx1024M -Xms1024M -jar minecraft_server.jarā
[11:50:18] [Server thread/INFO]: Loading properties
[11:50:18] [Server thread/INFO]: Default game type: SURVIVAL
[11:50:18] [Server thread/INFO]: Generating keypair
[11:50:18] [Server thread/INFO]: Starting Minecraft server on *:25565
[11:50:18] [Server thread/INFO]: Using epoll channel type
[11:50:18] [Server thread/INFO]: Preparing level āworldā
[11:50:18] [Server thread/INFO]: Loaded 488 advancements
[11:50:18] [Server thread/INFO]: Preparing start region for level 0
[11:50:19] [Server thread/INFO]: Preparing spawn area: 56%
[11:50:20] [Server thread/INFO]: Done (1.650s)! For help, type āhelpā or ā?ā
>
Server Properties are set as follows:
_Server:Port = 25565_
Server.IP = _
From what I can see, Layer 3 connectivity is correctly in place between client and server. The server seeās incoming UDP requests from the client to DST Port 25565 and responds with an ICMP unreachable stating UDP port 25565 is unreachable. This I think ties in with the output from the Netstat command above which does not show that UDP:25565 as being bound to a network socket.
I donāt really understand the inner workings of Minecraft or how it interacts with a server though I am trying to get this working for my kids and their friends as they are desperate to create a local server to play together.
I am sure I am overlooking something though just cannot see what I am missing other then suspecting Java is not setting up correctly and or creating the correct network socket to listen for incoming requests from a local Minecraft instance running on a Windows 10 machine.
Any pointers or help would be really appreciated !!
Cheers
Matt