LV. 13
GP 3

【攻略】想要和好友一起玩 但不會架設伺服器? Minecraft伺服器架設全攻略:從步驟到原理

樓主 theDAVID54 theDAVID54
GP41 BP-
注意:本文章不是讓你無腦跟著步驟做的,是要了解各個步驟內部的原理、讓你遇到各種問題可以自己解決


我是 起源工藝 伺服器的管理員
會撰寫這篇教學是因為在網路上能找到教學絕大部分都只講「如何」架設伺服器
只有步驟,觀看者根本都不知道內部的原理,遇到問題無法自行解決就放棄
可能有許多地方有誤,都可以在下方留言

本文章介紹架設Minecraft伺服器架設的完整步驟、原理、除錯方式
正文開始:

目錄
(一)各種連線方法原理、優缺點
  1. 使用VPN連線
  2. 使用外部網站、VPS架設
  3. 在自己電腦上架設
  4. 使用代理伺服器
(二)在自己電腦上架設教學
  1. 基本介紹
  2. 伺服器端設置
  3. 內網連接設定
  4. 外網連接設定

(一)各種連線方法原理、優缺點
1. 使用VPN連線
直接看圖
VPN連線的原理是建立一個虛擬內網,讓有連線至VPN的使用者可以互相通訊
可以自行使用VPS架設VPN或是直接使用現成的
* VPS指的是虛擬化的主機,基本上都是付月費,購買的人可以完整控制該虛擬化的主機,但CPU、網路流量都是和其他買家共享
優點:
  • 架在自己的主機上
  • 性能由自己的主機決定
缺點:
  • 所有連線都要再額外經過VPN的伺服器,延遲較高
  • VPN伺服器無法完整控制
  • 所有玩家都必須安裝該VPN,公開伺服器基本上不可能使用此種方法
推薦給想和朋友玩,但網路環境複雜的人

2. 使用外部網站、VPS架設
現在許多伺服器都是使用外部網站或VPS架設
  • VPS指的是虛擬化的主機,基本上都是付月費,購買的人可以完整控制該虛擬化的主機,但CPU、網路流量都是和其他買家共享
  • 付費的外部網站Minecraft伺服器有很多,基本上與VPS相似,但是由該網站管理並分配性能,可控性較低,但不須有Linux的知識就可以輕鬆架設,若要租用建議至少要選擇主機在亞洲,不然延遲容易很高
  • 免費的外部網站Minecraft伺服器最有名的就是Aternos,主機在德國,一個伺服器最多3.5GB ram,可控性非常低,且無法開24小時,但基本上是最簡單的開服方式
優點:
  • 遇到網路攻擊不會影響自己的電腦、網路
  • 不用自己花大量時間管理
缺點:
  • 可控性較低
  • 遇到問題要聯繫廠商
  • 性能無法自行掌控
  • 延遲理論上比VPN低,但還是會有些許延遲
推薦給想架設公開伺服器,但沒有多的主機的人

3. 在自己電腦上架設
優點:
  • 延遲最低
  • 架在自己電腦上,可控性最高
缺點:
  • 伺服器端網路環境必須乾淨
  • 管理難度高
  • 遇到網路攻擊基本上會使伺服器直接癱瘓,甚至還會讓你無法使用網路 因此台灣的網路環境不太建議直接使用此種方式架設公開伺服器
推薦給想和朋友玩,且網路環境乾淨的

4. 使用代理伺服器
此種方法與VPN連線類似,但客戶端不須安裝VPN程式
代理英文為Proxy,主要是可以將所有流量轉發,受到網路攻擊時讓伺服器端的主機不會直接承受攻擊
優點:
  • 客戶端不會知道伺服器端的真實IP,較不需擔心網路攻擊
  • 除了代理伺服器外皆可自行控制
缺點:
  • 所有連線都要再額外經過代理伺服器,延遲較高
  • 代理伺服器無法完整控制
  • 管理難度高
推薦給想架設公開伺服器,且有多的主機的人

(二)在自己電腦上架設教學
1. 基本介紹
首先,要先了解自己的網路環境,需可控制最上游的路由器,社區、大樓提供的網路可能需與管理員詢問,直接向電信業者租用的網路基本上一定可行
因為玩家可以直接知道你的IP,知道IP就可以進行網路攻擊,請保護好它
若要架設公開伺服器請做好心理準備

* 灰字代表更詳細的介紹
2. 伺服器端設置
Minecraft官方只有提供Realms伺服器給玩家租用,但是限制非常多
但是官方有提供伺服器檔,讓玩家可以直接自行架設伺服器
若要下載最新官方原版伺服器檔,可至Minecraft官方網站
下載
舊版本可至
下載(此網站是其他人儲存舊版本的Minecraft伺服器檔並提供載點的)
ForgePaperPurpur 等其他伺服器端接可適用於此教學
(插件伺服器端我個人推薦Purpur)
以下由官方原版伺服器檔做介紹
1. 首先,建立一個資料夾並將下載下來的伺服器檔放進去
2. 將檔案總管的 檢視>顯示>副檔名 打勾(此為windows 11的介面)
3. 建立一個名為 start.bat 的文字文件
4. 右鍵點擊 start.bat 點擊 顯示其他選項>編輯
5. 至 https://flags.sh/ 將伺服器檔的名稱填到 Filename 欄位內
可調整 Memory(記憶體) (記憶體不是儲存空間 記憶體量可在工作管理員的效能選單查看)(不須調非常高,越高反而會使啟動越慢,8~16GB即可)
此為方便開服者建立啟動參數的網站,這些啟動參數主要優化Java的GC(垃圾收集),讓伺服器更順暢
更多詳細資料可以看 https://docs.papermc.io/paper/aikars-flags
6. 點到Windows欄位並將下方的Shell複製並貼到之前的 start.bat
7. 將 start.bat 儲存並關閉
8. 在上方的搜尋欄位輸入 cmd 並直接按 enter
9. 會跑出一個小黑窗 在裡面直接輸入 start.bat 並按 enter

有兩種情況:
1. 直接繼續跑
直接繼續 (至第10步驟)
2. JAVA版本不對或無法找到JAVA
若要開的版本是:
1.18以上: Java 17
1.17以上: Java 16
1.16以上: Java 11
1.16以下: Java 8
連結為Eclipse Temurin™提供的Java Windows x64版本
亦可自行尋找其他版本
安裝後再回到第7步驟試試,若為第一種情形就代表Java正確安裝了

10. 伺服器會停止執行,因為尚未接受Minecraft官方的eula條款,只需將 eula.txt 內的 eula=false 改為 eula=true 即可
11. 直接點開 start.bat 伺服器就會開始跑了
若要停止伺服器,請不要直接關閉該視窗,請使用stop關閉(不須加 / )
接下來是測試階段
開啟你的Minecraft客戶端,並在IP欄位輸入 127.0.0.1 並加入
127.0.0.1 是代表本機的IP,和 localhost 一樣
應該就可以進入了
目前只是在本機上可以進行連線

3. 內網連接設定
目前只是在本機上可以進行連線
此階段是為了讓同一個網路的其他裝置也可以連線

首先要知道什麼是內網、外網:
內網是 區域網路 的簡稱 主要用來和網際網路通訊,但也可以和其他內網裝置通訊
內網結構圖(路由器底下的就是內網連接)
像是印表機、電視螢幕投射等許多家電都是使用內網通訊的
而外網大部分是指 網際網路 用來和世界各地的其他裝置通訊
內網IP、外網IP:
網路的世界是以IP來辨識身分的,而內網、外網都會有一個IP,一個裝置只會有一個IP,所以上圖電腦、手機的外網IP都是一樣的,但內網IP不同,而路由器會自動分配內網IP給各個裝置(通常內網IP是 192.168.0.xxx ) ,路由器本身也會有一個內網IP,之後會介紹

此階段用途:
通常路由器是允許內網互相通訊的,但是電腦本身的防火牆會阻擋,因此需要將特定連接埠的防火牆關閉

操作步驟:
1. 開啟windows的設定
2. 點進 隱私權與安全性>Windows安全性
3. 再點 防火牆與網路防護
4. 點擊 進階設定
5. 點擊左側 輸入規則,再點右側 新增規則
6. 選 連接埠 > TCP,特定本機連接埠: 25565 > 允許連線 > 網域、私人、公用都勾 > 名稱: minecraft
(名稱其實可以隨便取)
7. 回到 第5步驟 但 輸入規則 改為 輸出規則
這樣就設定好了

接著要取得電腦的內網IP,windows鍵 + R 後輸入 cmd 並打 ipconfig
會跳出許多東西,找到正在用的網路卡
IPv4 位址 右方即為你的內網IP,我的是192.168.0.165
接著使用其他裝置連接同一個網路並輸入該內網IP
應該可以連線了
目前只是在內網可以進行連線

4. 外網連接設定
目前內網已經可以連線了,但外網還不行
要讓路由器將外網的連線導到你的主機上
此階段每種路由器都不太一樣,可在網路上查詢
這裡以 A6 MU-MIMO WiFi Router 示範

1. 上個階段的IPv4位址下方有一個預設閘道,那個IP就是路由器的IP
2. 在瀏覽器輸入該IP,可以看到該路由器的控制面板,各種路由器密碼寫的地方不同,可以在網路上查詢到
3. 輸入密碼進入後可以看到你的外網IP(我用黑色遮起來的部分)、連線類型
4. 點到 進階設定 > NAT導向 > 虛擬伺服器(其他路由器通常是 連接埠轉發 )
(注意是 連接埠"轉"發 不是 連接埠"觸"發)
5. 服務類型: minecraft 外部連接埠: 25565 內部IP: 你的內網IP 通訊協定: TCP
儲存後就大功告成了!

連線測試:
先重開伺服器
如果有其他不同網路的裝置可以直接輸入你的外網IP
如果沒有的話可以到https://mcsrvstat.us/打上你的外網IP測試
(有時需要等約1分鐘才能連線)
測試成功後就可以直接請朋友一起玩了!(使用外網IP)

有任何問題都可以在下方留言
41
-
未登入的勇者,要加入 2 樓的討論嗎?
板務人員: