Minecraft Server to Cloud (AWS EC2)

Kellly
7 min readJul 8, 2021

Minecraft 是一個創造類型的遊戲,遊戲一開始玩家兩手空空,在遊戲中搜集道具,盡情探險,到創造屬於自己的世界。

這個遊戲至今已經面世超過 10 年了,遊戲人數已經超過 1.4 億人,無疑是世界上最受歡迎的遊戲之一。

他有提供多人連線的方式供玩家遊玩,只要加入到同一個伺服器 (Server),這意味著你可以跟朋友一起冒險、創造、建造出屬於你們自己的世界。

Minecraft 世界中多人連線的方式有很多,例如加入現有的公開 Server、加入朋友的 Server 或是使用自己的主機架設 Server。

但是,如果想要自己開啟一台 Minecraft Server,讓朋友們一起玩樂呢?我們可以使用虛擬主機的方式來讓其他朋友們連線到自己的 Minecraft Server。

這篇部落格將會教會你如何透過 AWS (Amazon Web Service) 服務中的 EC2 (Elastic Compute Cloud)來建立自己的虛擬主機,並且調整主機的安全性設定,最後開啟一個公開的 Minecraft Server 讓朋友們一起加入。

以下是此篇教學的步驟大綱:

  1. 登入 AWS Console 建立一台 EC2
  2. 使用 SSH 連線到 EC2
  3. 建立並設定 Minecraft Server 程式
  4. 開始玩 Minecraft 囉!

登入 AWS Console 建立一台 EC2

若還有沒註冊的朋友,可以先到 AWS 的網站進行註冊 https://portal.aws.amazon.com/billing/signup#/start

登入完畢之後,會看到以下的畫面:

接下來我們需要進入 EC2 主機的設定頁面,你可以點選上方的搜尋框,輸入EC2,點擊第一個項目「EC2」進入畫面

進入EC2之後會看到以下這樣的畫面

接著我們可以試著開啟一台 Server,點擊下方的Launch instance -> Launch instance

第一個步驟會出現一大堆的選項讓我們選擇,這些項目代表這台主機需要使用的作業系統。我們這邊選擇目前最新的 Ubuntu Server 20.04 作業系統,點擊 Select 按鈕。

第二個步驟依舊出現了很多的選項,這些項目代表主機的等級,類似現在電腦的 CPU & RAM 等級的差異,這邊選得越強大的主機等級,也就代表 Minecraft Server 有更強大的效能,可以找更多的朋友們一起遊玩。這邊我們可以先選擇 `t2.micro` 即可。然後點擊右下角的 `Next: Configure Instance Details` 按鈕進行下一步。

第三個步驟是主機的基本設定,例如網路、權限等等,我們可以使用預設值。直接點擊右下角的 `Next: Add Storage` 按鈕進行下一步。

第四個步驟是主機的硬碟設定,預設是使用 8G 的硬碟,這對於目前架設 Minecraft Server 來說已經足夠,我們直接點擊 `Next: Add Tags` 按鈕進行下一步。

第五個步驟是主機的標籤設定,我們可以點擊 Add Tag 按鈕,在左方的文字框輸入 `Name`,在右方文字框輸入 `Minecraft`,讓我們可以知道這台 EC2 主機是用來作為 Minecraft Server 使用。接著點選右下角的 `Next: Configure Security Group`按鈕進行下一步。

第六個步驟是網路安全性的設定,我們既然要開啟一個 Minecraft Server,那就意味著這台 EC2 主機必須要讓其他玩家能夠連入這台主機,所以我們必須將 Minecraft Server 的入口給打開來。

點擊 Add Rule 按鈕,在 Port Range 的文字框中輸入`25565`,並點擊 Source 的下拉式選單,選擇`Anywhere`,輸入完畢之後點擊右下角的`Review and Launch`按鈕。

:::warning
如果此步驟設定錯誤,未來就無法從Minecraft遊戲中連到這一台主機了。
:::

第七步驟則是前六個步驟的總覽,我們可以檢查以下幾點:
1. AMI Details 是否為 `Ubuntu Server 20.04`
2. Instance Type 是否為 `t2.micro`
3. Security Groups 是否有多出Port為25565的兩個Custom TCP Rule,而且Source分別是 `0.0,0.0/0` 以及 `::/0`

如果確認都沒問題的話,就可以點擊右下角的 `Launch` 按鈕。

接下來會跳出一個跳窗,這個跳窗代表如果我們要進入這台主機需要用哪一把鑰匙,我們選擇 `Create a new key pair` 並且輸入 Key Pair name 為 `Minecraft`,點擊 Donwload Key Pair 就可以下載這把鑰匙,請注意這個步驟一定要下載,而且要記住放在哪個路徑,否則接下來就不能下載了。

下載下來後點擊 Launch Instance 稍等一會就可以建立主機。

若你已經看到了以下的畫面,恭喜你,已經成功開啟了 EC2 的主機了!接下來點擊 `View Instance` 按鈕來查看主機。

接下來我們要取得公有IP以利下一個步驟地進行。先點擊方才建立好的 EC2 主機,下方有一個 Public IPv4 address 的欄位,請將IP複製起來。

使用 SSH 連線到 EC2

SSH 是主機遠端連線的一種方式,他就像遠端桌面一樣,只是他只有指令列可以使用。

首先先開啟終端機程式,將路徑切換到剛剛下載的路徑,並且將剛剛下載下來的鑰匙pem檔案,權限設定成400

chmod 400 Minecraft.pem

設定完權限線之後,就要連線到 EC2 主機了。請把下面指令中的**YOUR_IP**替換成方才複製的 IP 位置

ssh -i Minecraft.pem ubuntu@YOUR_IP

輸入完畢之後它會詢問`Are you sure you want to continue connecting (yes/no)? `的問題,輸入 yes 並且按下 Enter 即可。

若看到以下的畫面,恭喜你,你已經成功連線到EC2主機了!

建立並設定 Minecraft Server 程式

連線到主機後,我們要先安裝 Java 程式,並且下載 Minecraft Server 端程式,最後初始化Minecraft Server 程式即可。

輸入以下指令安裝 Java:

sudo apt -y update && sudo apt -y install default-jre

輸入以下指令已建立minecraft server資料夾以及下載1.16.5 Server:

mkdir minecraft
cd minecraft
wget -O mcserver.jar https://launcher.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar
ls

輸入完畢之後應該會顯示 minecraft 資料夾中有一個 mcserver.jar 檔案

接著輸入以下指令已開啟 Minecraft Server,其中 `-Xmx1G` 代表最大會使用到 `1GB` 的記憶體,`-Xms` 代表最少會使用 `500MB` 的記憶體。

java -Xmx1G -Xms500M -jar mcserver.jar nogui

輸入完畢之後會顯示這樣的訊息,我們需要先編輯 eula.txt 檔案表明我們同意 Minecraft Server 使用條款:

依照以下步驟來修改 eula.txt

  1. 輸入指令開始編輯 eula.txt

vim eula.txt

2. 按下i鍵進入編輯模式
3. 將游標移到最下面的 eula=false 並且修改成 eula=true
4. 按下 ESC 離開編輯模式
5. 輸入 :(帽號)進入指令模式
6. 輸入 wq 按下 Enter

再次開啟 Minecraft Server 即可

java -Xmx1G -Xms500M -jar mcserver.jar nogui

開始玩 Minecraft 囉!

因為我們下載的是 1.16.5 版本的 minecraft,所以我們也需要從 Minecraft 遊戲程式中下載對應的客戶端(Client)主程式。

點擊 Installations -> New installation 按鈕,將會跳出一個跳窗。

其中 NAME 輸入`Minecraft1.16.5`,VERSION 請選擇`release 1.16.5`,點擊`Create`按鈕已建立 Client 主程式。

最後將滑鼠移到剛剛建立好的主程式上,點擊 Play 按鈕

進入遊戲後,點擊多人遊戲 -> 直接連線 -> 輸入先前複製起來的 Public IP 即可

恭喜你,請把 IP 分享給你的好朋友們,一起開始遊戲吧

--

--