教學/架設伺服器- Minecraft Wiki,最詳細的Minecraft百科

文章推薦指數: 80 %
投票人數:10人

在這個教學中,我們將透過手把手的方式,一步步地幫助您建立屬於您自己的Minecraft伺服器(Java版)。

在該教學中,我們使用Mojang發布的供玩家免費下載的伺服器端程序 ... MinecraftWiki除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博吗沟通交流,欢迎到社区专页需要协助,请在告示板留言 了解更多 MinecraftWiki 導覽 首頁 所有頁面 人氣頁面 指令 附魔 藥水釀造 交易 紅石電路 教學 資源包 入門教學 新手手冊 方塊一覽 物品一覽 合成簡介 熔煉簡介 生物簡介 參與編輯 說明資訊 計畫 沙盒 溝通社群 社區專頁 管理員告示板 wiki微博 敬請參閲 wiki條例 wiki手冊 標準譯名清單 管理制度 FANDOM 遊戲 電影 電視 wiki 探索wiki 社群中心 建立wiki 註冊 尚未註冊? 登入 Advertisement 分類: 教學、伺服器 台灣正體 不转换 简体 繁體 大陆简体 香港繁體 澳門繁體 大马简体 新加坡简体 中文 Deutsch English Français 日本語 한국어 Русский 教學/架設伺服器 指定伺服器監聽的埠,而無論在server.properties中設定的是什麼(預設值為-1)。

--safeMode 載入存檔時只使用原版資料包。

--serverId 為伺服器指定一個伺服器ID。

--singleplayer 指定伺服器以離線模式執行(的用途未知,可能是由Mojang內部所使用的)。

--universe 指定查找world資料夾的位置(預設為.,即目前目錄)。

--world 指定一個level.dat所在資料夾的名稱。

舊命令列選項 一些選項能在舊版中使用,但是已在新版本中被移除或被替換了。

-otrue 使伺服器以線上模式執行,只有經過認證的使用者才能進入(新版本中此選項可能不能使用)。

示例命令列[] 執行一個存檔資料夾名稱為「cold」的,監聽在1337埠上且最大1GB記憶體的伺服器:java-Xmx1G-jarminecraft_server.jar--port1337--nogui--worldcold。

Windows操作指導[] 安裝Java[] 執行Minecraft伺服器需要Java執行環境(JRE,或者直接叫Java)。

為了安全著想,您應該使用最新版的Java。

您可以按照下列方法之一檢查是否是最新版: 打開Windows控制面板,找到Java(它可能在「程序」類別中),然後點擊「立即升級」。

點此可以透過您的瀏覽器自動檢查版本。

但是,GoogleChrome和Firefox瀏覽器不執行Java內容,所以不能用它們來檢查。

打開指令提示字元,輸入java-version。

如果顯示出了版本號,可以與Java網站上的資訊對比取得最新版本號。

如果您沒有安裝Java或您的Java版本較老,您可以下載OpenJDK或Oracle「OTN」JDK。

macOS操作指導[] 請注意:在MacOS10.4或更老的版本上,伺服器不能正常執行,且有可能導致您的機器崩潰。

安裝Java[] 打開終端。

您可以透過執行java-version來檢查您是否安裝了Java。

並確保其版本高於1.6(比1.8高要更好)。

如果您沒有Java,您可以使用HomeBrew安裝: 先執行/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install.sh)"安裝HomeBrew。

再執行brewcaskinstalladoptopenjdk安裝Java(OpenJDK)。

再次執行java-version,這一次應該會看到一些訊息了。

設定Minecraft伺服器[] 參見一般步驟。

使用TimeCapsule[] 有些家庭使用的無線路由器是AirPortTimeCapsule。

此章節教您如何在不搞壞檔案伺服器的情況下做相應設定。

註:您需要知道您的管理員帳號和密碼。

打開系統設定->網路。

點擊「高級」按鈕,然後到TCP/IP的底部。

找到配置IPv4的地方,把選項改成使用具有手動IP位址的DHCP。

把IP位址改為10.0.1.x。

注意:x的數值需要在DHCP範圍內(例如:如果DHCP地址池為10.0.1.2-10.0.1.254,那麼x可以取2-254的任意值)。

轉到共享一節,確保Internet共享已開啟。

打開AirPortUtility並編輯您的TimeCapsule設定。

轉到「網路」,確保路由模式選項設定為「DHCP和NAT」。

然後,點擊埠設定下方的「+」按鈕。

輸入以下內容: 描述:MinecraftServer(隨便怎麼寫都行) 私有IP位址:您在第四步填寫的IP位址。

把所有名字裡面帶「埠」的內容改成25565. 點擊儲存並更新TimeCapsule。

您現在可以配置您的伺服器了。

Linux操作指導[] Linux有許多被稱為「發行版」的變種。

有一些發行版是專門為伺服器設計的,或更適合執行在伺服器上的。

如果您正在架設一台專用伺服器,我們建議您使用這些發行版中的其中一個。

一般來講,Linux更歡迎開源軟體。

因此,在適用的情況下,建議您使用開源程序,例如OpenJDK。

安裝Java[] 大多數發行版中都有OpenJDK。

您可以直接安裝。

對於OracleJava,請參考Oracle的下載頁。

註:儘管不影響Minecraft伺服器,JavaFX以及其他專有部分可能需要單獨安裝。

Solus[] 執行sudoeopkginstallopenjdk-8指令安裝OpenJDK。

安裝OracleJDK,請參考Solus說明中心。

註:OpenJDK11不在Solus的倉庫中。

Debian、Ubuntu和Raspbian[] 為了正常使用apt-add-repository指令,您可能需要「software-properties-common」(使用sudoapt-getinstallsoftware-properties-common安裝)和/或「python-software-properties」軟體包(使用sudoapt-getinstallpython-software-properties安裝)。

由於許可證方面的問題,常用來安裝OracleJava的軟體庫已經停止維護。

推薦您安裝OpenJDK8及更高版本。

OpenJDK可以使用此指令安裝:sudoaptupdate;sudoapt-getinstallopenjdk-8-jdk-headless 去掉指令中的「-headless」可以安裝完整的Java。

註:此方法已在Ubuntu18.04中測試有效。

openSUSE[] 註:由於openSUSETumbleweed可能的不穩定性,不建議使用此系統架設專用伺服器。

在終端內執行指令:sudozypperinjava-1_8_0-openjdk安裝Java。

註:此方法已在openSUSELeap15.1中測試有效。

ArchLinux[] 官方只支持OpenJDK7到OpenJDK12。

執行pacman-Sjdk8-openjdk-headless安裝Java。

去掉指令中的「-headless」可以安裝完整的Java。

如果遇到問題,請參考ArchWiki。

Gentoo[] 執行emerge--askvirtual/jdk安裝Java。

GentooWiki 其他發行版[] 查看您使用發行版的文件。

它們應該會告訴您如何安裝OpenJDK。

另外,您還可以直接訪問Java網站下載適用於Linux的安裝包。

對於大部分發行版都有用(無論32位還是64位)。

在網站上提供了不同安裝包的安裝指導。

如果您在安裝的過程中詢問了密碼,請輸入它。

如果您被問到「IsthisOK[Y/N]」,(如果需要的話)請回答「Y」然後回車。

Java現在應該已經安裝好了。

一個簡單的安裝腳本(同時會安裝Java)[] https://github.com/silvertriclops/MCSLI 註:這是一個非常早期的項目,設計時考慮了脫機安裝,並將定期更新以使其對使用者更加友好。

FreeBSD操作指導[] 此部分需要更新 Java7與8已經過時,因為官方開始使用Java16了。

一些崩潰問題在OpenJDK16中不會再出現。

所以如果相關內容測試成功的話,則下文中關於Linux相容相關的內容應該就可以刪掉了。

此部分已在FreeBSD10.0amd64上測試有效(JRE使用的是:jre-7u65-linux-i586.tar.gz)。

安裝Java[] 由於OpenJDK與Minecraft伺服器的效能和崩潰問題,我們會安裝為Linux設計的OracleJRE。

在安裝JRE前,您需要安裝FreeBSD的Linux二進位檔案相容層,您可以按照此文件操作。

Java需要從proc中取得一些資訊。

您需要執行以下指令掛載linprocfs: kldloadlinprocfs mount-tlinprocfslinprocfs/compat/linux/proc 並向/etc/fstab加入此行: linprocfs/compat/linux/proclinprocfsrw00 OracleJRE的一個依賴被標成「禁止」,所以安裝這個依賴會失敗。

切換到/usr/ports/textproc/linux-f10-expat2.0.1/,然後在其中的Makefile檔案中刪掉以FORBIDDEN=開頭的一行。

由於許可證問題,您需要從Java官網上手動下載Linux的tar包(例如「jre-7u65-linux-i586.tar.gz」),並把它複製到/usr/ports/distfiles。

然後,進入/usr/ports/java/linux-sun-jre17/目錄並執行makeinstalldistclean安裝JRE。

註:前一部分以前的說法(適用於FreeBSD9.2amd64)是:您必須在Makefile檔案中設定JRE_UPDATE_VERSION變數,並將其設定為一個數字(在此例中為45)。

然後再執行makeinstallNO_CHECKSUM=1。

嘗試執行java-version。

您可能會被提示找不到libjli.so。

一種解決方法是:將您的Java路徑顯式指定為搜尋路徑。

建立一個符號連接: ln-s/usr/local/linux-sun-jre1.7.0/lib/i386/compat/linux/usr/lib/java 然後在/compat/linux/etc/ld.so.conf.d/java.conf加入: /usr/lib/java /usr/lib/java/jli 執行/compat/linux/sbin/ldconfig。

現在執行java-version應該是正常的了。

啟動Minecraft伺服器[] 建立一個資料夾,然後把Minecraft伺服器端jar檔案複製進去。

在實際的版本中,如果您用一般方法執行伺服器,您會得到以下異常:syscallepoll_createnotimplemented。

為了解決這個問題,可以在指令後面加上-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider。

啟動指令示例: java-Xmx1024M-Xms1024M-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider-jarminecraft_server.1.7.10.jarnogui Plan9[] alien-convertPATH_TO_YOUR_JRE.deb chmod~/~rwx#forcurrentuser snarfjava-jarPATH_TO_SERVER_JAR.jarxvmfinacme Cloudron[] Cloudron是一個在伺服器上自託管應用程式的平台。

在Cloudron上,Minecraft是一個一鍵應用。

它允許您透過瀏覽器上的Web介面管理Minecraft伺服器。

您也可以在同一台伺服器上安裝多個Minecraft實例。

您可以嘗試此示例(使用者名稱:cloudron,密碼:cloudron)。

Docker[] Docker是一種開源的容器平台,可以使不同的Minecraft伺服器實例和主機相互隔離開來。

Docker本身和其容器倉庫的所有者與Mojang沒有任何隸屬關係。

安裝Docker(適用於Linux、Mac和Windows)[] 參見https://docs.docker.com/install Docker鏡像[] 關於完整的Docker鏡像文件,請參見:https://github.com/itzg/docker-minecraft-server/blob/master/README.md。

在一個名為「mc」的容器中執行一個簡單的最新版本伺服器,可以在shell中執行以下指令:dockerrun-d-p25565:25565--namemc-eEULA=TRUEitzg/minecraft-server 在Docker鏡像中指定Minecraft版本[] 如果要指定特定的版本,請在指令後加入-eVERSION=

例如,您可以使用下面的指令指定版本為最新快照:dockerrun-d-p25565:25565--namemc-eVERSION=SNAPSHOT-eEULA=TRUEitzg/minecraft-server 指定為Minecraft1.7.9:dockerrun-d-p25565:25565--namemc-eVERSION=1.7.9-eEULA=TRUEitzg/minecraft-server 伺服器埠[] 要變更監聽的埠,需要用到Docker的埠映射功能。

這可以把主機上的指定埠映射到容器的25565埠上。

可以使用下面的指令執行一個非25565埠的伺服器:dockerrun-d-p:25565--namemc-eEULA=TRUEitzg/minecraft-server 更新Docker鏡像[] 使用下面的指令更新Docker鏡像。

請注意,此指令不會更新Minecraft,它只會更新鏡像本身。

dockerpullitzg/minecraft-server 配置環境[] 編寫腳本用於啟動伺服器[] 實際上,我們不需要在每次啟動伺服器的時候輸入指令。

我們可以把指令寫進一個檔案裡,然後執行它。

Windows[] 在Windows上,腳本被稱為「批處理檔案」。

在放伺服器jar檔案的資料夾中建立一個文字文件,命名為start.bat,然後右鍵點擊「編輯」,再將下面的內容粘貼到裡面: @ECHOOFF java-Xms1024M-Xmx2048M-jarminecraft_server.jar--nogui pause 然後雙擊這個檔案啟動您的伺服器。

您可能會收到「Class_Not_Found」和「ServerGuiConcole」錯誤資訊,直接忽略它們。

然後您就可以看到「ServerThread/INFO」這樣的內容,這表示您的伺服器啟動了。

腳本中的pause指令會保持窗口開啟,這樣是為了讓您能在伺服器停止時能更方便的知道到底發生了什麼。

macOS、Linux和FreeBSD[] 這些系統在命令列中都使用一種被稱為「POSIXshellscript」的腳本語言。

在放伺服器jar檔案的資料夾中建立一個文字檔案,命名為start.sh,然後寫入以下內容: #!/bin/sh cd"$(dirname"$0")" execjava-Xms1G-Xmx1G-jarserver.jar--nogui 然後儲存檔案。

執行chmoda+xstart.sh(或者您放置此腳本的路徑)使其可執行。

您可以透過雙擊此檔案或者在資料夾中輸入./start.sh(如果在資料夾外,請輸入完整路徑)指令啟動伺服器。

如果您想像Windows中一樣能在伺服器關閉後保留窗口,請刪除腳本中的exec一詞,並在末尾加上read-n1-p"Waiting..."一行。

此變更對從圖形介面雙擊打開的伺服器有效果。

啟動和維護腳本[] 另外,您也可以嘗試使用下面列出的腳本實現對Minecraft伺服器的管理和啟動、關閉自動化: MinecraftServerControlScript(MSCS)適用於UNIX和Linux平台的Minecraft伺服器。

有以下功能: 執行多個Minecraft實例。

啟動、停止和重啟單個或多個實例。

建立、刪除、停用和啟用實例。

第三方伺服器支持:Forge、BungeeCord、SpigotMC等。

自動備份、刪除(X天前)和重啟實例。

詳情參見:MSCS的Github。

MinecraftServerManager是一個適用於原版伺服器端和Bukkit的全面的啟動腳本(支持Debian系系統,例如Ubuntu)。

MSM可以定期建立可相容WorldEdit的備份。

可配置用於提醒玩家的訊息,例如「將在10秒內關閉伺服器!」。

可以在終端內執行遊戲內指令(例如「say」、「op」和「whitelist」)。

支持Tab鍵補全指令,使學習更簡單。

查看完整功能:MSM的GitHub。

伺服器架設腳本 FreeBSD啟動腳本 OpenBSD啟動腳本 Ubuntu啟動腳本 rfwadmin是一個適用於Linux的具有Web介面的啟動腳本。

有很好的用於快速儲存和載入存檔的Web介面。

MinecraftSystemdService是一個完全集成systemd的Minecraft服務: 適用於CentOS和Fedora。

使用大量的只讀和不可訪問的權限來保護伺服器。

使用rcon執行安全的重啟和停機操作。

為了更方便的管理,可以與MinecraftCommandCenterScript一起組合使用。

ArchLinuxsystemdwrapper 埠轉發[] 參見:埠轉發 如果您有一台路由器,並且想讓使用者透過路由器連接進來時,就需要使用埠轉發。

如果您只是想架設一台內部伺服器,那麼您就不需要做這樣的事。

請注意:埠轉發可能會導致安全風險。

不同路由器設定埠轉發的方式不同。

如果您不知道如何在您的路由器設定埠轉發,可以嘗試在網路上找適用於您路由器型號的教學。

此示例適用於TP-Link家庭路由器的新版介面。

進入您路由器的管理介面,找到埠轉發頁,然後點擊新建服務或自訂服務。

選擇一個「協議類型」,「TCP」表示只轉發TCP協議,「UDP」只轉發UDP協議,而「ALL」則兩者都轉發。

內部埠和外部埠都填寫25565(如果您伺服器不是標準埠,可以按需填寫)。

IP位址則填寫您Minecraft伺服器的內部IP位址,其餘保持不變即可。

要取得您電腦的IP位址,請按以下步驟操作: Windows 按⊞Win + R打開「執行」,輸入cmd然後↵Enter,打開指令提示字元。

在指令提示字元中輸入ipconfig然後↵Enter。

找到對應您使用的網路適配器上的IPv4地址(有線連接的一般是「乙太網」,無線連接的一般是「WLAN」)。

一個IP位址的形式應該是xxx.xxx.xxx.xxx,然後把這樣的內容記錄下來。

注意不要包含任何除了數字或點的部分。

OSX上IP位址的顯示位置 Mac 打開在logo下的選單,找到「系統首選項」,然後選擇「網路」。

您的IP位址應該會顯示在右側(應該是xxx.xxx.xxx.xxx形式)。

將它複製下來即可。

Linux 您可以使用網路診斷中心(有一些發行版有)。

或者在終端中執行ifconfig,此指令會輸出您所有網路接口的IP位址,找到例如inetaddr:xxx.xxx.xxx.xxx的內容,將xxx.xxx.xxx.xxx的部分複製下來即可。

如果您獲得了您的IP位址,請把它輸入到前面轉發設定中的「IP位址」中。

填寫好這些需要的資訊後,請點擊「儲存」(或者其他類似意思的按鈕)。

這樣您就成功的設定了埠轉發。

當您啟動Minecraft伺服器時,需要把server.properties中的IP位址一項留空。

其他人需要透過您的外部IP位址來連接到您的伺服器。

您可以透過例如IPChicken的網站取得外部IP位址。

如果您不想用IP位址連接,可以使用動態DNS服務,例如NoIPDynDNS。

接下來可以配置並連接了。

設定VPN[] 該段落的內容不代表MojangStudios或MinecraftWiki的官方意見。

注意 使用虛擬專用網路可能對連接至Mojang伺服器,Minecraft伺服器,或者您的網際網路造成影響。

在您和您的朋友之間設定伺服器的另一種方法是設定虛擬專用網路。

由於希望連接到伺服器的所有使用者必須下載外部軟體以加入或建立伺服器,因此該方法可能會被認為是不推薦而且不方便的。

另外一種可行的辦法是埠轉發。

可用於建立虛擬專用網路的免費簡單程序是Hamachi和Radmin虛擬專用網路。

這是另外一種免費開源且支持大多數作業系統的方案,但是配置較困難。

Hamachi免費版只允許5個玩家連接。

設定Hamachi[] 在希望加入伺服器的每台計算機上安裝Hamachi,包括主機。

下載地址:Windows/MacLinux(32位與64位.deb和.rpm包均可找到。

欲在Gentoo上安裝,使用net-misc/logmein-hamachi) 在主機上建立新的Hamachi網路。

主機安裝並配置Minecraft伺服器軟體(server.jar):server.properties中的伺服器IP欄位保留為空(預設情況下)。

主機將新建立的Hamachi網路憑證傳遞給每個玩家。

玩家連接到主機的Hamachi網路。

當所有機器都連接在同一個Hamachi網路中,主機將其機器的HamachiIPv4地址提供給玩家。

每個玩家使用主機的IPv4地址輸入到「直接連接」框裡。

請注意,Hamachi占用了已經被IANA分配的IP塊(25.0.0.0/8)。

所以,Hamachi有可能會和網際網路衝突。

設定RadminVPN[] 其配置方法和Hamachi的很相像。

在這裡下載RadminVPN。

建立網路:在本地計算機上安裝RadminVPN後,按「建立網路」按鈕。

設定網路名稱和密碼,然後按「建立」按鈕。

現在新網路將出現在主窗口。

給朋友發送連接資訊,然後執行Minecraft。

連接:Radmin程序啟動後按「加入網路」->在對話框中按輸入網路名稱和從主機網路的密碼->「加入」->新網路及其節點將顯示在主窗口中。

->在Minecraft中連接到主機。

(如同配置Hamachi的第七步) 如果RadminVPN上的連接已經建立,但您沒有看到遊戲中的其他玩家,則需要調整抗火牆,或者直接關閉抗火牆。

配置Minecraft伺服器[] 編輯server.properties檔案(格式可參見server.properties#server.properties)。

請使用純文字編輯器修改此檔案(例如記事本)。

可能不需要做額外配置,預設生成的內容也可以啟動伺服器。

如果您要成為管理員(op)或加入管理員,請在伺服器控制台或GUI上輸入/op指令。

此指令會把您指定的使用者的UUID加入到ops.json檔案中。

管理員權限不會隨著使用者名稱的變更而消失,因為儲存的是您的UUID而不是使用者名稱。

管理員可以執行指令。

換句話說,管理員有權限控制遊戲的某些方面(例如傳送玩家)。

ops.json的內容: [ { "uuid":"", "name":"", "level":4, "bypassesPlayerLimit":false } ] 如果在您的server.properties中設定了開啟白名單,您可以在伺服器控制台或GUI上使用/whitelistadd指令把玩家加入進whitelist.json檔案中(由於過渡到UUID系統的原因,不建議直接修改此檔案的內容)。

連接到Minecraft伺服器[] 如果您是在作為伺服器端的電腦上玩Minecraft,先選擇「多人遊戲」,輸入「localhost」或者是「127.0.0.1」,而不是您的IP位址。

這是不推薦的。

除非您有一個效能良好,記憶體比較大的電腦。

(伺服器4GB,用戶端2GB,其餘的給系統) 在您的區域網內的玩家可以透過內網IP來連接到您的伺服器(因為玩家在區域網內,所以您不需要接口轉發)。

從Internet連結的玩家(也就是不在您的區域網中的玩家)必須使用您的外部ip來連結.您必須為這些從外部連結的玩家使用埠轉發。

(部分支持IPv6的用戶端和伺服器端,用戶端可以直接透過IPv6地址訪問伺服器端。

) 特定網路適配器上的IP位址可以透過在指令提示字元中輸入「ipconfig」或者透過此網站來查看。

如果在server.properties檔案中指定了非25565的埠,則需要在地址欄中加上埠號。

地址(IP和埠)看起來應該像192.168.0.168:25565這樣。

關於IP位址的一些注意事項[] 除非您為正在做伺服器的電腦設定一個靜態IP,否則的話,內部IP位址是有可能改變的。

這會影響到接口轉發規則並使得它們失效。

不同的路由器有不同的設定靜態ip的方法。

您可以從您的裝置的說明書或者線上文件中獲得更多的幫助。

如果您有連接到您外部IP的玩家,您應該明白如果您沒有從您的Internet服務商處獲得一個靜態IP,那麼您的外部IP是會變化的。

您可以使用類似MyWANIP的工具來定時的檢查您的外部IP。

此外,您可以嘗試使用DNS服務,這會允許您使用一個固定的域名,而不是動態的IP位址。

不管您的外部IP位址是否改變,這個域名會指向您目前的外部IP位址(即,當您的外部IP改變時,DNS會自動更新)。

在解決伺服器故障時,您可以嘗試在執行伺服器的機器上使用用戶端來除錯,使用本地IP位址(localhost)、內網IP位址(例如192.168.x.x)或者公網IP都是可以的。

如果您在公網上連接您伺服器的公網IPv4地址時有問題,可以嘗試使用IPv6地址來連接。

您僅應在測試伺服器是否線上時執行此操作。

對於其他玩家而言,還是最好使用您的IPv4地址來連接。

伺服器端網路設定[] 伺服器需要開啟抗火牆相應埠(預設為25565)才能使伺服器端正常工作。

確認網路設定正確並使用線上工具如YouGetSignal確定伺服器端在國際網際網路的IP。

測試埠應與伺服器端設定的埠一致(預設為25565),測試時請啟動伺服器端。

伺服器有可能會遭到惡意攻擊,在伺服器投入使用以前,請務必做好物理保護及資料備份工作,否則有可能會帶來經濟及精神上的損失。

針對接入NAT的家庭網路的伺服器[] 如果家庭路由器的伺服器接入NAT網路,那麼他在啟動後外網的玩家是無法連接的。

購買路由器,進入路由器配置頁面(一般是192.168.1.1:80或192.168.0.1:80)查看WANIP記錄下來,使用搜尋引擎搜尋IP,將該IP與之前的WANIP對比,若相同則為一般有IP,若不同則為接入NAT的家庭網路。

這種情況,您可以使用內網貫穿類應用,如花生殼,或協商運營商請求許可取得公網IP的資格。

針對使用家庭路由器的伺服器[] 如果伺服器位於一個家庭路由器的區域網內,則需要在路由器設定相應的埠映射法則。

關於埠映射的具體設定,可以訪問portforward.com。

從網站給出的列表中選擇您使用的路由器型號,網站將給出設定埠映射的相應步驟(有廣告,可跳過)。

數據機、路由器等網路器材附帶的說明檔案也可能包括了設定埠映射的相關資訊。

部分路由器提供了DMZ選項,與埠映射有同樣效果,但遭到攻擊的可能性相比使用埠映射更大(DMZ主機暴露在外網,不受路由器安全設定保護)。

新手使用請諮詢熟悉的業內人士。

一般來說可以首先嘗試使用UPnP進行埠映射,大部分路由器都支持並預設開啟該功能。

可以使用諸如miniupnpc軟體包的upnpc指令一類的程序進行映射。

針對使用動態IP的伺服器[] 由於大部分家庭使用者(部分伺服器代理的伺服器也沒有固定IP)使用ADSL或PPPoE等方式接入網際網路,此種情況下的伺服器無論透過路由器與否,IP位址是不定的。

解決此問題可以使用動態DNS服務,屆時玩家只需要知道伺服器使用的域名即可連接到伺服器。

請聯繫網路供應商(家庭使用者)或伺服器代理商確定正在使用的網路接入方式。

使用動態DNS需要進行以下準備工作: 獲得一個域名,可以從dot.tk或Oray等網站獲得免費域名,也可以支付一定費用註冊; 選擇一個動態DNS服務商,註冊帳號並按服務商提供的操作方法設定伺服器及域名,維基百科有部分動態DNS的服務商列表 使用動態DNS需要一定網路理論及實踐的基礎,新手在做出決定前,請先諮詢熟悉的業內人士。

設定動態DNS請按照服務商的指示對伺服器、路由器(僅限使用路由器的使用者)進行設定。

路由器設定需要進入管理頁面進行操作,新手請參照說明文件或在業內人士的指導下進行。

區域網中的專用伺服器[] 這一段的內容只適用於Classic(v0.30)伺服器。

管理員不能在內網中透過一台另一台機器進入那台架設了伺服器的機器,這是一個普遍性的問題。

典型的情景是:您有一台專用伺服器,而且有另一台供您玩遊戲的機器。

而它們同時連接到同一個路由器或交換機下,且內部IP為「192.168.x.x」。

通常,透過伺服器生成的URL連接時,會返回「伺服器離線」的錯誤資訊。

要解決這個問題,您需要在您的URL、書籤以及其他您用來連接的東西後面加上?override=true 例如:http://www.minecraft.net/classic/play/4c3bebb1a01816acbe31c5ece1570da5?override=true 以前(1.8beta和網站更新前)上面要加的東西是&override=true。

這一點並沒有被Mojang在網站Applet頁面上說明,導致出現了很多誤用。

在此更新前,透過網站連接到您自己的URL會導致出現在Applet窗口底部出現「Ifyoucan'tconnect,trythislinkinstead.」的紅色文字,返回的是同樣以「&override=true」結尾的連接。

註:Beta伺服器沒有這樣的情況,您應該能透過內部或外部IP連接上伺服器。

SRV記錄[] 從Java版1.3開始支持玩家可以在不輸入埠號的情況下連接到一個使用非標準埠號的伺服器。

相關的資訊是作為一種服務被記錄在DNS上的SRV記錄中的。

SRV記錄告知用戶端實際上應該連接的主機名和埠。

一些動態DNS(DDNS)服務和大多數的靜態DNS服務都會允許您設定這樣的記錄。

[1] 如果您要手動驗證SRV記錄是否生效,請參考下面的內容(假設給玩家的域名是「YOUR.DOMAIN.com」): >nslookup-q=srv_minecraft._tcp.YOUR.DOMAIN.com Server:UnKnown Address:[REDACTED] Non-authoritativeanswer: _minecraft._tcp.YOUR.DOMAIN.comSRVservicelocation: priority=5 weight=5 port=65312 svrhostname=ACTUAL.DOMAIN.com 常見問題[] 問:如果我有一個沒在這裡提到的問題,我應該怎麼辦? 答:您可以在MinecraftForums上發帖說明您的問題。

為了能幫到您,請提供以下資訊: 使用的作業系統 Java版本 一台還是多台電腦 問題的具體描述 您為解決問題已嘗試的步驟 您遇到的任何錯誤 (如果可以的話)問題的截圖 其他可能有助於幫您解決問題的內容(一般也不會有多少。

注意不要提供密碼) 如果我們解決了您的問題,請說明具體解決問題的地方和方法。

這可以對其他人有所幫助(也能幫我們解決常見問題)! 問:在Windows上雙擊批處理檔案啟動伺服器,指令提示字元窗口閃退且伺服器沒有啟動。

答:請在您的批處理檔案最後加上pause再執行。

如果顯示的是無效路徑,這可能是您Java可執行檔案或者伺服器端jar檔案的路徑不正確導致的。

把批處理檔案路徑裡的/jre7/換成/jre6/,確定執行環境在/ProgramFiles/裡還是在/ProgramFiles(x86)/裡,或者根據自己電腦的情況對路徑進行相應調整。

多說一句,執行伺服器端需要JRE執行環境,而不是瀏覽器裡的Java外掛。

也可能是您沒有修改您的eula.txt檔案。

在雙擊您的minecraft_sever.jar檔案後,您會看到資料夾內有個eula.txt檔案。

用記事本打開這個檔案 (https://account.mojang.com/documents/minecraft_eula). DatumUhrzeit eula=false 將最後一行修改為 eula=true 然後儲存並退出。

重新雙擊伺服器啟動的批處理檔案應該就可以正常啟動了。

問:當我嘗試啟動伺服器時,伺服器顯示"Failedtobindtoport!"。

答:可能是路由器埠映射設定有誤,確認路由器為Minecraft開放的埠(預設為25565)正確地映射到您的伺服器上。

如果您的伺服器是直接接入網路的且網路服務商不開放您所設定的埠,將server.properties檔案中的server-port=25565中的「25565」改為其他可用埠號。

或者是您在server.properties檔案中的IP位址一項中設定了IP位址。

如果這個IP位址不與您系統上任何接口上的地址一致,伺服器端會顯示這樣的資訊。

如果把此項留空,您就可以在所有接口上綁定。

這樣,您和內網內的人就可以透過localhost或內網IP位址連接到伺服器了。

此外,問題也可能是由於您嘗試使用一個已被占用或無權限綁定的埠(小於1024的埠需要root或管理員特權才能使用)導致的。

要解決這個問題,您可以嘗試修改server.properties檔案中的server-port=25565一行。

註:您應該避免使用下列埠,這些埠在有些ISP那裡是被封鎖的。

並且,為了安全考慮,最好不要用root使用者執行伺服器(適用於Linux系統且埠小於1024的情況): 21(由大多數FTP伺服器使用) 22(由SSH伺服器使用) 25(由郵件伺服器使用,用於SMTP協議) 53(由DNS伺服器使用) 80(由大多數Web伺服器使用) 110(由郵件伺服器使用,用於POP3協議) 115(由簡單檔案傳輸協議使用) 143(由郵件伺服器使用,用於IMAP協議) 443(由Web伺服器使用的SSL埠) 3306(由大多數MySQL伺服器使用) 一般要避免使用埠號低於1024的埠,因為這些埠是「公認埠」,用於在IANA處註冊的重要服務;另外因為安全原因,一些網路服務商還會屏蔽3306(MySQL伺服器預設使用)埠等。

除此之外,49152-65535段埠屬於「動態埠」範圍,沒有被註冊占用。

此類問題亦有可能是操作者疏忽導致伺服器端未關閉就再次開啟了伺服器端,典型的錯誤操作有:Windows中直接雙擊了核心jar,Linux中使用守護進程執行Java等,導致伺服器端在後台執行而操作者未注意的情況。

遇到此類問題可先檢查占用該埠的進程,取得控制或將其結束,再啟動伺服器端。

問:我嘗試在Solaris/OpenSolaris上執行伺服器,但是出現了以下錯誤: java.io.InterruptedIOException:Operationinterrupted atjava.net.SocketInputStream.socketRead0(NativeMethod) atjava.net.SocketInputStream.read(SocketInputStream.java:129) atjava.net.SocketInputStream.read(SocketInputStream.java:182) atjava.io.FilterInputStream.read(FilterInputStream.java:66) atgq.a(SourceFile:131) atji.g(SourceFile:197) atji.c(SourceFile:17) atoq.run(SourceFile:84) 2011-05-3116:57:26[INFO]/:44673lostconnection 答:只有Solaris系統線上程中斷連接時會發生這種異常,這種異常可以透過改變啟動指令來避免: java-Xmx1G-Xms32M-XX:-UseVMInterruptibleIO-XX:+UseConcMarkSweepGC\ -XX:+CMSIncrementalPacing-XX:ParallelGCThreads=$CPU_COUNT-XX:+AggressiveOpts\ -jarminecraft.jarnogui 這樣的指令讓Java使用一種可中斷的IO棧來防止異常發生。

問:當我嘗試連接到我的伺服器上,伺服器顯示: Connectionlost Theserverrespondedwithaninvalidserverkey 答:此錯誤通常在伺服器端發送了一個用戶端不能識別的功能時出現,這可能是由於使用了不能識別的伺服器軟體、不平衡的用戶端/伺服器版本或修改過的用戶端導致的。

問:為什麼我不能破壞或放置方塊!? 答:聯繫服主關閉保護重生點的功能,或離重生點遠一些,除非您是伺服器的op,否則在該功能開啟時您不能在重生點附近放置或破壞方塊。

問:我的伺服器執行正常,但是我不能連接上去! 答:這可能是由一連串問題導致的。

請按照上方提供的模板發帖詢問。

問:如何給伺服器更多記憶體? 答:修改啟動命令列中的「-Xmx1G-Xms1G」部分中的數字。

「-Xms」部分指定的是伺服器啟動時使用的記憶體量,而「-Xmx」部分指定的是伺服器最大可以使用的記憶體量。

-Xmx1G-Xms2G=1GB -Xmx2G-Xms1G=2GB 等等。

問:為什麼伺服器CPU經常滿載? 答:這可能是由於GUI(圖形介面)窗口導致的。

在啟動命令列加入nogui可以停用這個窗口。

問:我要怎麼取得伺服器的IP位址? 答:請參閱連接到Minecraft伺服器一節。

問:我設定了埠轉發,並且允許java.exe透過抗火牆,但仍然不起作用! 答:您的數據機有可能執行在路由模式下。

您可能會從ISP處拿到數據機和路由器二合一的裝置。

要驗證這一點,請查看您路由器上顯示的WANIP,如果這個IP是一個私有IP,那麼您需要登陸到ISP提供給您的數據機的管理介面,然後把埠轉發中的IP位址設定為您路由器的WANIP。

效能最佳化Java參數[] 對於各類JDK(Oracle或Open)使用者,使用JDK的一些參數進行最佳化是可行的。

以下參數在一定程度上最佳化GC記憶體操作且利用了一些CPU指令集。

使用Java8或之前的版本[] java-server-XX:-UseVMInterruptibleIO-XX:NewRatio=3-XX:+UseConcMarkSweepGC-XX:+UseParNewGC-XX:+CMSIncrementalPacing-XX:ParallelGCThreads=4-XX:+AggressiveOpts-XX:+UseFastAccessorMethods-XX:+UseBiasedLocking-XX:+CMSParallelRemarkEnabled-XX:MaxGCPauseMillis=50-XX:+UseAdaptiveGCBoundary-XX:-UseGCOverheadLimit-XX:SurvivorRatio=8-XX:TargetSurvivorRatio=90-XX:MaxTenuringThreshold=15-XX:+DisableExplicitGC-Xnoclassgc-oss4M-ss4M-XX:CMSInitiatingOccupancyFraction=60-XX:SoftRefLRUPolicyMSPerMB=2048-Xms(视情况)-Xmx(视情况)-jarnogui 使用Java9或之後的版本[] 因為從1.17開始不支持Java8,而在高版本Java上,上面的許多參數都被刪除,暫時沒有替代品,故可以使用以下參數: java-jar-Xms(视情况)-Xmx(视情况)-server-XX:+UnlockExperimentalVMOptions-XX:+UseG1GC-XX:G1NewSizePercent=20-XX:G1ReservePercent=20-XX:MaxGCPauseMillis=50-XX:G1HeapRegionSize=32Mnogui 其他[] 如果上述兩個用例都報錯的話,可以使用伺服器端所屬版本的官方用戶端參數,此參數可以在編輯「配置」介面上的「JVM參數」中找到,然後使用以下參數: java-jar-Xms(视情况)-Xmx(视情况)-servernogui 影片和替代教學[] 這裡給出了一些其他的Minecraft伺服器架設教學: Windows HowtomakeaMinecraftServerinunder10Minutes!(PortForwardGuideToo!) HowtoMakeaMinecraftServerin2020(1.15.2)|5:43Pt.2-Easy:PortForward|3:11 HowtocreateaMinecraftServerin2020tutorial MacOSX HowtoSETUPMINECRAFTSERVERonMacOS PortForward(easymethod) AlternativevideotutorialonsettingupaMinecraftserverwithMac Linux Linuxtutorialformoreadvancedusers HowtoInstallMinecraftServeronCentOS HowtomakeaMinecraftServeronUbuntuforbeginners 其他 HowtoSetUpPortForwarding HowtoPortForwardanyMinecraftServer(1.6.2) AlternativeportforwardingtutorialforWindows(withpictures) 一體化教學 Course:HowtoMakeaServer 參考[] ↑https://www.noip.com/support/knowledgebase/how-to-add-a-srv-record-to-your-minecraft-server-remove-the-port-on-the-end-of-the-url/ 查 論 編教學(作下劃線標記的教學為中文獨有教學) 新手教學 選單介面 遊戲術語 下載、安裝與購買 新手生存 第一天(新手指南) 首個十分鐘 第二天 第三天 提示與技巧 基岩版生存指南 飢餓管理 不該做的事 庇護所 庇護所 沙漠 最佳居住生態域 最佳建築材料 建築與結構 房屋類型 導航 綜合 無聊的時候做什麼 村莊生存 跑酷 空置域 節省時間的小竅門 在水下利用TNT破壞方塊 成就指南 進度指南 拓殖 戰鬥 完成冒險 建立一個村莊 雙持 沙漠生存 暴風雨生存 地獄生存 從零開始地獄生存 終界生存 探索洞穴 家具 在和平難易度中收集資源 利用碰撞箱 馬 測量單位 使用地圖 測量距離和角度 採礦技術 鑽石 化石 遠古遺骸 地獄快速旅行 地獄傳送門 支柱跳躍 PvP 基地 破壞基岩 到達虛空 村莊機制 Minecraft和教育 不可破壞的終界水晶 使用更少的終界水晶重生終界龍 透視鏡 掛機池 建築 給工程加入美感 空氣閘 建築術語 建造遊輪 建造大都市 建造過山車 建造安全的家園 建造水建築 建造幾何體 防禦 電梯 釉陶的圖案 建造更好的地板 停豬場 像素藝術 牧場 屋頂類型 弧形屋頂 屋頂建造指南 裝飾屋頂 暗門 建造居住地 水下之家 牆壁和橋墩 水閘 調色板 儲存方案 整理物品 界伏盒儲存 礦車儲存 挑戰 獲得海靈核心 冒險模式生存 挑戰自訂地圖 製作自訂地圖 治癒殭屍村民 征服神殿和神廟 觸發及戰勝突襲 征服掠奪者前哨站 征服堡壘遺蹟 征服綠林府邸 征服海底神殿 打敗終界龍 征服終界城 擊敗凋零怪 極限模式 超極限模式 如何在一個地區中長期生存下去 光速船[僅基岩版] 無材料消耗轉換藥水類型[僅基岩版] 在無限沙漠中生存 在超平坦模式中生存 島嶼生存 天空島世界生存 天空島世界戰爭 速通 放牧心得 農場 方塊和物品 骨粉 仙人掌 鵝卵石 可可豆 農作物(甜菜、胡蘿蔔、馬鈴薯和小麥) 歌萊果 雞蛋 蜂蜜 魚 花朵 冰 海帶 肉 蘑菇 唱片 地獄疙瘩 黑曜石 西瓜、南瓜 鱗甲 羊毛 海鞘 雪 甘蔗 樹木 藤蔓 經驗 方塊和物品複製 刷鐵軌機[僅Java版] TNT複製[僅Java版] 生物 生怪塔 怪物磨床 生怪磚陷阱 動物(豬、牛、羊) 烈焰使者 洞穴蜘蛛 閃電苦力怕 沉屍/殭屍 終界使者 深海守衛 鐵魔像 岩漿立方怪 以物易物 突襲 無限觸發突襲 史萊姆 魷魚 海龜 村民 女巫 流浪商人 凋零骷髏 殭屍化豬布林 附魔與熔煉 附魔機制 鐵砧機制 自動化熔煉 燃料選擇 破壞方塊 爆炸室 凋零怪籠 紅石 基礎紅石 基本邏輯門 高頻電路 計時器 通用物品分類器 抽獎箱 飛行器 漏斗 物品電梯 機械 偵測器穩定器 密碼鎖 隨機發生器 紅石機械 紅石音樂 紅石技巧 魯布·戈德堡機械 村民交易大廳 探測器 方塊更新感應器 比較器更新感應器 日光感測器 晝夜探測器 礦車 火車站 礦車 儲存 儲存系統 陷阱 雪人防禦炮 TNT大炮 地板門利用 陷阱設計 陷阱 活塞 活塞使用 活塞電路 半連接性 零刻活塞 無延遲中繼器 無頭活塞 高級紅石 高級紅石電路 算術邏輯 計算器 時鐘 摩斯密碼 印表機 紅石計算機 紅石電報機 伺服器 使用伺服器 在伺服器上遊玩 伺服器監獄 防止惡意破壞 伺服器商店 架設伺服器 架設伺服器 伺服器架設腳本 伺服器啟動腳本 FreeBSD啟動腳本 OpenBSD啟動腳本 Ubuntu啟動腳本 架設一個Hamachi伺服器 架設一個Spigot伺服器 虛擬硬碟伺服器 架設基岩版伺服器 技術性 結構方塊 指令方塊 指令統計值 使用指令操控實體 提高FPS Minecraft幫助FAQ(IRC頻道) NBT與JSON MinecraftURLScheme[僅基岩版] 使用ngrok搭建伺服器 更新Java 地圖 自訂地圖 下載地圖 生成掉落的方塊[僅Java版] 使用MCEdit在1.13中刷新舊版海洋[僅Java版] 強制打開存檔[僅Java版] 資源包 製作資源包 載入資源包 聲音目錄 資料包 製作資料包 實例:蜜蜂助手 消除視線 安裝資料包 附加包 基岩版開發指南 製作資源附加包 高級 基岩版實體文件 修改實體模型 製作行為包 建立自訂實體 製作遊戲影片 影片 遊戲直播 遊戲安裝 快照版本安裝 如何取得崩潰報告 在U盤中使用舊版啟動器執行及儲存Minecraft 恢復損壞的地圖資料 在GoogleDrive上執行Minecraft 將遊戲資料儲存到Dropbox雲端(僅限地圖資料) 將遊戲資料儲存到Dropbox雲端 僅Java版 修復ApacheLog4j2錯誤 自訂指令觸發 原始JSON文字 NBT指令標籤 編寫啟動器 過時教學 建造微型庇護所 自訂紋理包 基於門的鐵魔像陷阱 到達邊境之地 取得崩潰報告(舊版) 人工湖 在超平坦模式中管理史萊姆 礦車加速器 中繼器重啟系統 無資料包生存 升級LWJGL 更新Minecraft 村莊鏈 水梯 水道 零刻作物催熟技術 自動簡易藥水釀造機 分類 教學 伺服器 增加分類 取消 儲存 Deutsch English Français 日本語 한국어 Русский 除非另有註明,否則社區內容均使用CCBY-NC-SA3.0授權條款。

Advertisement FanFeed 1 附魔 2 交易 3 村民 薩爾達傳說Wiki MinecraftWiki 缺氧Wiki FollowonIG Newsletter JoinFanLab



請為這篇文章評分?