為 Minecraft 伺服器設定域名及 SRV 記錄教學

此篇文章為架設Minecraft伺服器的延伸教學,在此篇文章中筆者將會示範如何為Minecraft伺服器設定你所註冊好的域名,並且如果你有變更到Minecraft伺服器的Port號,那此篇文章也會進一步指引使用者要如何在DNS設定介面來設定一筆SRV記錄。

此篇教學將會使用兩家域名註冊商的DNS設定介面來做示範,那兩家域名註冊商分別為Google經營的Google Domains服務,以及Cloudflare經營的Cloudflare Registrar服務來做範例。在參考本篇教學之前,請自行準備好一組域名,這可以向你信賴的域名註冊商註冊,比如筆者目前比較喜歡用的這兩家Google DomainsCloudflare Registrar。此篇文章主要延續之前寫的Spigot架設多人遊玩的Minecraft伺服器-於Ubuntu環境中示範,這邊有一些指令,比如『/etc/init.d/minecraft <指令>』這樣的格式,是用到那篇教學的shell script,所以如果你不是參考那篇教學來架設Minecraft伺服器的話,那指令無法執行是正常的,而你需要自行更改成適用你系統環境的指令。

1)將註冊好的域名指向Minecraft伺服器的IP位址。

Step 1:如果你的Minecraft伺服器是公開在網路上的,且也有固定的IP位址,那就可以來為你的Minecraft伺服器設定好域名了。在為Minecraft伺服器綁定你要的域名之前,你要自己準備好你需要的域名,比如跟域名註冊商購買之類的,然後就可以經由域名註冊商的DNS設定介面來指向你Minecraft伺服器的主機IP位址。以下教學筆者會使用兩家域名註冊商的DNS設定介面來做示範,那兩家域名註冊商分別為Google的Google Domains服務,以及還有Cloudflare的Cloudflare Registrar服務,然後接著在DNS設定介面來設定好A記錄(A record;IPv4位址)的資源紀錄,當然如果你的Minecraft伺服器的主機也有IPv6位址,那你可以自己再新增一筆AAAA記錄(AAAA record;IPv6位址)的資源紀錄。

Google Domains

Step 1:如果你跟筆者一樣是使用Google的Google Domains服務,那在Google Domains的DNS設定介面中,可以看到自訂資源記錄的部分,在『名稱』欄位這邊,如果你要跟筆者一樣有要使用子域名的話,那就輸入你想要填入的子域名,如筆者是輸入了『mc』的子域名,當然如果你不要使用子域名,那可以輸入『@』或直接留空;在『類型』下拉式清單這邊,因為是要設定IPv4位址,所以就選擇『A』;『TTL』(Time to Live;存留時間)欄位就輸入你要此筆資源記錄的更新頻率,一般來說伺服器還在架設階段(測試階段),那會把TTL的值設定短一些,例如:『10m』(10分鐘),等到伺服器正式上線(穩定階段)就會把TTL的值設定比較長,例如:『1h』(1小時』,甚至『1d』(1天);在『資料』欄位,以A記錄來說,當然就是要輸入IPv4的位址了。如下圖所示可以看到筆者使用了Google的Google Domains服務,來完成設定了一筆A記錄。

在Google Domains的DNS設定介面上設定一筆A記錄-mcserversrvrecord001

 

Cloudflare DNS

Step 1:如果你是使用Cloudflare的Cloudflare DNS服務,如下圖所示在『Type』下拉式清單選擇『A』;在『Name』欄位假如你的Minecraft伺服器需要子域名,那就輸入你想要填入的子域名,如筆者是輸入了『mc』的子域名,當然如果你不要使用子域名,那可以輸入『@』;在『Content』欄位就輸入IPv4位址;及最後一個『TTL』下拉式清單就選擇『Automatic TTL』就可以了,然後就點擊『Add Record』。

在CloudFlare的DNS設定介面上設定一筆A記錄-mcserversrvrecord002

 

Step 2:如下圖所示筆者在Cloudflare的DNS服務上新增了一筆資源記錄。

已完成一筆A記錄的新增-mcserversrvrecord003

 

Step 2:A記錄的DNS設定完成之後,然後就可以在Minecraft遊戲編輯伺服器資訊,如下圖所示『伺服器位址』輸入你剛剛設定好的域名,並點選『完成』。

在Minecraft遊戲程式上來編輯伺服器的資訊-mcserversrvrecord004

 

Step 3:如果你輸入好域名之後還是無法連線至你的Minecraft伺服器,那可以使用ping指令來測試你剛剛設定的DNS是否已經更新,而ping指令在各個系統環境的格式如下:

ping <你所設定好的域名>

如下圖所示可以看到筆者已經ping通筆者所設定好的域名,這就表示已經可以連上Minecraft伺服器了。

可以使用ping工具來測試剛剛設定好的A記錄是否生效-mcserversrvrecord005

 

Step 4:在Minecraft遊戲的多人遊戲這邊,可以點選如下圖所示的『重新整理』,就可以看到已經可以連上Minecraft伺服器的狀態,那就直接點擊連線至你所架好的Minecraft遊戲世界吧。

可以來連線至Minecraft伺服器了-mcserversrvrecord006

 

Step 5:如下圖所示可以看到筆者已成功連線到筆者所架設好的Minecraft世界。

已成功連上Minecraft伺服器-mcserversrvrecord007

 

2)更改Minecraft伺服器的Port號。

Step 1:Minecraft伺服器的預設Port號是『25565』,如果你要更改你所架設的Minecraft伺服器Port號這也是可以的,在Minecraft伺服器有一個稱為『server.properties』的設定檔,在這個設定檔中有一個稱為『server-port』,而這設定是拿來更改你Minecraft伺服器的Port號。如果你是參考筆者這篇Spigot架設多人遊玩的Minecraft伺服器-於Ubuntu環境中示範的教學,那『server.properties』檔案的路徑位置如下:

/home/minecraft/server/server.properties

如筆者是使用Vim編輯器來編輯『server.properties』檔案,那指令格式如下:

vim /home/minecraft/server/server.properties

調整Minecraft伺服器的Port號-mcserversrvrecord021

 

**在電腦網路中,Port號是有範圍的,範圍為『0~65535』之間,而這範圍中並不是每一個Port號都能使用,如前面的『1~1023』是系統保留的,為了不要影響其他程式正常的執行,建議可以設定的範圍為『5000~65535』之間選一個你要的Port號。

Step 2:如下圖所示筆者將Minecraft伺服器的Port號改成『server-port=12345』。更改完Port號及儲存好設定之後,記得要重啟你的Minecraft伺服器。

/etc/init.d/minecraft restart

調整Minecraft伺服器的Port號-mcserversrvrecord022

 

Step 3:Minecraft伺服器重啟完成之後,因為有變更到Port號,如下圖所示點選『重新整理』都會出現無法連上Minecraft伺服器的狀態。

可以看到目前的Minecraft伺服器是無法連線的-mcserversrvrecord023

 

Step 4:接著就來編輯伺服器資訊吧,在域名的後面加上Port號,如筆者Minecraft伺服器的Port號是設定12345,那就在域名的後面加上『:12345』。編輯完成之後,點選『完成』。

**域名和Port號之間會有冒號隔開,不要忘記要加上『:』。

<你Minecraft伺服器的域名>:<你所設定好的Port號>

來編輯伺服器的資訊,在域名的後面添加Port號-mcserversrvrecord024

 

Step 5:如下圖所示點選『重新整理』,就可以看到已經可以連上Minecraft伺服器的狀態了,那就直接點擊連線至你的Minecraft遊戲世界吧。

可以看到伺服器又可以重新連線了-mcserversrvrecord025

 

Step 6:如下圖所示可以看到筆者已成功連線到筆者所架設好的Minecraft世界。

已連上Minecraft遊戲-mcserversrvrecord026