Minecraft-Java-Edition

我無法連接到朋友的 Minecraft 伺服器,但通常的罪魁禍首似乎都不是問題

  • January 29, 2021

我正在嘗試連接到朋友的 Minecraft 伺服器,但無法連接。我們已經仔細檢查了大多數 Minecraft 伺服器教程中提到的常見罪魁禍首,但我們仍然沒有運氣。

這是我們的具體情況:

我在 Mac OSX 機器上,想連接到我朋友的伺服器。他在他的 Windows 機器上同時執行伺服器和客戶端。我們都在同一個本地網路上。他能夠啟動並連接到他的伺服器。但是,每當我嘗試使用我們的外部 IP 地址連接到他的伺服器時,我都會收到以下錯誤:

在此處輸入圖像描述

當我嘗試從我們的外部 IP 地址連接到他的伺服器時,我的日誌如下所示:

[16:45:46] [客戶端執行緒/INFO]:連接到 [IP 地址],25565
[16:45:46] [伺服器連接器 #1/錯誤]:無法連接到伺服器
java.net.ConnectException:連接被拒絕:/[IP 地址]:25565
在 sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.6.0_65]
在 sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599) ~[?:1.6.0_65]
在 io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:287) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 java.lang.Thread.run(Thread.java:695) ~[?:1.6.0_65]

當我嘗試使用他的伺服器內部 IP 地址連接到他的伺服器時,我收到此錯誤:

在此處輸入圖像描述

這是在我的日誌文件中:

[13:52:08] [客戶端執行緒/INFO]:連接到 192.168.2.16、25565
[13:52:38] [伺服器連接器 #1/錯誤]:無法連接到伺服器
io.netty.channel.ConnectTimeoutException:連接超時:/192.168.2.16:25565
在 io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:213) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:123) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.util.concurrent.SingleThreadEventExecutor.runAllTask​​s(SingleThreadEventExecutor.java:380) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
在 java.lang.Thread.run(Thread.java:695) ~[?:1.6.0_65]

在這兩種情況下,當我們檢查我朋友的伺服器日誌時,看起來伺服器執行正常,並且它從未收到我的客戶端加入伺服器的請求。


這些是我們已經嘗試過的一些事情:

  • 我們已經對路由器的埠轉發設置進行了兩次和三次檢查。他們當然是正確的。
  • 正如您在上面看到的,我嘗試使用其內部和外部 IP 地址連接到伺服器。
  • 我們已經確保他的 Windows 防火牆設置和我的 Mac OSX 防火牆設置沒有在我們的任何一台電腦上阻止 Minecraft。

這些都沒有幫助。

我還在 Arquade 上查看了這些類似的問題,但都沒有幫助:

為了更好地診斷和解決我們連接到他的伺服器的問題,我和我的朋友還應該檢查哪些其他事項?

在放棄之前,還有一些事情要嘗試:

  1. 檢查您朋友的server.properties設置server-ip是否設置為您朋友的內部 ip NOTlocalhost127.0.0.1
  2. 嘗試使用 LAN 伺服器,讓您的朋友打開一個 LAN 世界(有秘籍),然後輸入命令/publish,這將為您提供您需要連接的埠,以便連接到192.168.2.16:[whatever port Minecraft gives you]
  3. 禁用任何和所有防火牆,然後嘗試在建議 2 中連接專用和 LAN 伺服器
  4. 嘗試將伺服器託管在您的一端,這可能是他的電腦上的mac保護問題或java問題。重新配置新伺服器時,請記住建議 1。還可以從您的終端嘗試 LAN 伺服器。
  5. 嘗試一個新埠/檢查是否沒有任何東西在使用25565. 雖然我懷疑這會是問題,但值得一試。
  6. 確保您的路由器防火牆允許您的本地流量通過,我無法告訴您如何為您的路由器執行此操作,但請檢查防火牆或 DMZ 選項卡以確保沒有任何異常情況發生。
  7. 雖然我懷疑這會起作用,但您可以嘗試設置online-modefalse

祝你好運,我希望這會有所幫助。有一次我遇到過這樣的事情,但是有 2 個 Mac 和 2 個視窗,兩週後它似乎自行清理了。

當您在同一個網路上時,不需要埠轉發,但您確實需要伺服器屬性中的埠(預設 25565)與您用於連接的埠相匹配(對於預設埠 25565,您不需要在之後鍵入它ip)。

如果您尋找您的 ip,我建議您打開 cmd 並輸入 ipconfig。現在您擁有了所有內部 IP,但您必須使用正確的 IP:乙太網或無線 ipv4。您可能正在使用一些虛擬網路 ip,例如 hamachi,它不起作用。

如果您在同一個網路上,我建議始終使用內部 ip,因為它可能會更快。

引用自:https://gaming.stackexchange.com/questions/198428