架設Minecraft 伺服器(Paper)
文章推薦指數: 80 %
尚未完成。
環境:. 雲端平台:Azure, Oracle Cloud 作業系統:Ubuntu 20.04 LTS Minecraft 版本:1.17. 租伺服器.
Back
尚未完成。
環境:
雲端平台:Azure,OracleCloud
作業系統:Ubuntu20.04LTS
Minecraft版本:1.17
租伺服器
我使用的是OracleCloud,因為有永久免費提供兩台1GRAM/1vCPU的機器可使用,比起GoogleCloud(永久670MBRAM/1vCPU*1)和Azure(12個月1GRAM/1vCPU*2(Windows及Linux各一)),算是非常大方了。
如果使用自己的機器可以直接跳到事前準備。
如果使用其他的雲端服務可以直接跳到SSH連線。
前往OracleCloud的官網,點選開始免費試用。
註冊一支帳號。
開啟選單,並選擇Compute>Instances。
oraclecloudcomputeinstance
建立機器。
SSH連線
推薦使用WindowsTerminal。
介面美觀、功能強大、微軟親兒子。
在MicrosoftStore即可下載安裝。
開啟後,按下向下箭號,選擇Settings,下拉左邊的側邊欄,點擊加號,在Name欄輸入你想使用的名稱,接著在CommandLine欄貼上以下的指令,然後修改指令中的參數。
PowerShell-NoExit-NoLogo-Commandssh-i'私鑰路徑'@
(第一次連接會顯示金鑰的指紋,並詢問是否要繼續連接,輸入yes就可以)
sshfingerprint
以後只要開啟WindowsTerminal,按下拉選單,然後選擇剛才設定的名稱便可以快速存取遠端機器。
SFTP連線
Filezilla安裝程式爭議:
BecarefulifyouareusingFileZillaforyour…(Reddit)
Fw:[黑特]filezilla我這麼相信你結果你藏木馬!
這裡以Cyberduck做示範,但更推薦使用WinSCP(完全免費,不用看到購買金鑰提示),其他程式的流程應該也大同小異。
安裝完Cyberduck後,點左上角的OpenConnection。
mainui
即可開啟此視窗。
先在最上方的下拉選單選擇SFTP,接著在Server那欄填寫你的機器的IP,Username欄填寫你在系統內的使用者名稱,最後點擊SSHPrivateKey旁的Choose...,選擇你之前下載到的私鑰,就可以連接上了。
如果接下來有任何關於檔案操作的步驟,不方便(不習慣)在終端機中操作,皆可以透過Cyberduck完成。
openconnection
與SSH連接相同,第一次連接也會提示指紋,選擇允許就好了。
sftpfingerprint
事前準備
先更新Ubuntu的套件:
sudoaptupdate&&sudoaptupgrade-y
Swap空間
因為我們的機器的RAM只有1G,所以得拿硬碟的一小部分作為swap空間。
(如果機器的記憶體足夠,可以跳過此部分。
且硬碟的速度比RAM慢上許多,會影響實際執行的效能)
sudofallocate-l3G/swapfile#分配空間
sudochmod600/swapfile#只有sudo使用者能存取此空間
sudomkswap/swapfile#啟用swap
sudoswapon/swapfile#啟用swap
調整fstab,否則下次系統重開機時又要再重新設定一次。
sudonano/etc/fstab
/swapfileswapswapdefaults00#在fstab裡面貼上這行指令
貼上後,按下Ctrl+X、Y、Enter就可以儲存並離開了。
防火牆
如果是使用OracleCloud的話,還要先開啟系統防火牆中Minecraft的連接埠。
sudoiptables-IINPUT-ptcp--dport25565--syn-jACCEPT
sudoiptables-AINPUT-ptcp--dport25565-jACCEPT
sudonetfilter-persistentsave
開始架設
接著就可以開始架設伺服器,安裝JDK:
sudoaptinstallapt-transport-httpssoftware-properties-commongnupg
wget-qO-https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public|sudoapt-keyadd-
sudoadd-apt-repositoryhttps://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
sudoaptupdate
sudoaptinstalladoptopenjdk-16-hotspot
前往Paper的下載頁面,選擇要架設的版本(示範為1.17),然後對著最新組建(目前是#71)的按鈕點右鍵,複製連結。
下載頁面
建立一個資料夾,名字可以隨便取,接著進到資料夾。
mkdir#建立資料夾Ex:mkdirmcserver
cd#進入資料夾Ex:cdmcserver
使用你剛才複製的連結下載組建。
wget#Ex:wgethttps://papermc.io/api/v2/projects/paper/versions/1.17/builds/71/downloads/paper-1.17-71.jar
此時當你執行ls列出檔案列表的時候,應該就能看到資料夾裡面有一個.jar的檔案。
執行伺服器檔:
java-Xms512M-Xmx2G-jarpaper-1.17-71.jar--nogui
-Xms是指定伺服器剛啟動時的記憶體分配大小,-Xmx則是指定伺服器最多能使用的記憶體大小。
我這裡分別分配了512MB和2GB給伺服器使用,實際執行時能依自己的情況調整。
第一次開啟時,伺服器會要求簽許可協議,並自動關閉。
只要開啟eula.txt,
nanoeula.txt
把裡面的eula=false改成eula=true就可以了。
再開啟伺服器一次。
這次就能順利看到伺服器在載入和產生世界,出現Done(xx.xxxs)!Forhelp,type“help”之後,就可以透過IP進到伺服器中。
問題
只要關掉終端機,伺服器就會跟著一起關掉
使用screen。
即使你斷線或是關掉終端,screen還是會在背景繼續執行你的工作。
Ubuntu已經有內建screen,在指令前面加上screen就可以了,例如:
screenjava-Xms512M-Xmx2G-jarpaper-1.17-71.jar--nogui
之後若要返回終端機,只需輸入screen-r。
但如果出現以下的錯誤訊息,代表你的終端還綁在其他地方,需要先卸離。
輸入screen-d,再連接一次就好。
Thereisascreenon:
38940.pts-0.vm2(07/16/2119:44:58)(Attached)
Thereisnoscreentoberesumed.
指令太長,每次都要用複製的
使用.sh檔,然後在裡面貼上要執行的指令。
設定好權限之後,未來只要執行該.sh檔就可以快速執行指令。
nanostart.sh//建立檔案
screenjava-Xms512M-Xmx2G-jarpaper-1.17-71.jar--nogui//貼上此行並儲存
chmod+xstart.sh//設定執行權限
./start.sh//執行.sh檔
安裝插件
只要將下載回來的.jar檔放在plugins/資料夾中就可以了,下次開啟伺服器時就會自動產生檔案。
推薦:
CoreProtect:紀錄或還原破壞方塊、放置方塊、儲物箱物品移動、聊天、登入登出…等事件。
/coi#切換檢查器,對方塊點右鍵即可查看紀錄
/corb#復原,可使用參數來縮小範圍
/col#查詢紀錄,可使用參數來縮小範圍
可使用的參數有:
u:
t:Ex:t:5w,3d,2h,1m,4s
r:
a:Ex:a:block(放置/破壞方塊)
a:+block(放置方塊)
a:-block(破壞方塊)
a:chat(聊天對話)
a:click(互動)
a:command(指令)
a:container(從儲物箱取出或放入物品)
a:+container(放入物品)
a:-container(取出物品)
a:inventory(撿起或扔出物品)
a:+inventory(撿起物品)
a:-inventory(扔出物品)
a:item(從儲物箱取出或放入物品、撿起或扔出物品)
a:+item(放入物品到儲物箱或撿起物品)
a:-item(從儲物箱取出物品或扔出物品)
a:kill(殺死生物)
a:session(登入/登出)
a:+session(登入)
a:-session(登出)
a:sign(告示牌訊息)
a:username(玩家名稱變動)
b:
e:
FastChunkPregenerator:預先生成chunk,不用等到玩家在附近時才生成,對跑圖時的效能非常有幫助。
/fcpstart[世界][chunk的X座標][chunk的Z座標]#開始生成
/fcppause#暫停生成
/fcpresume#繼續生成
/fcpcancel#取消生成
可有可無:
TAB:在玩家列表、頭上、計分板…等地方顯示自訂訊息。
example
Source:TABPluginPage
/tabreload
SupportedRGBformats:
#******
******
{#******}
#
&x&*&*&*&*&*&*
Gradients:
Text#******>
{#******>}Text{#******Text
config.yml
animation.yml
Dynmap:讓世界能像Google地圖一樣瀏覽
預設可使用的世界及地圖:world-世界(主世界)
->flat-地圖(2D)
->surface-地圖(3D)
->cave-地圖(3D)
world_nether-世界(地獄)
->flat-地圖(2D)
->surface-地圖(3D)
world_the_end-世界(終界)
->flat-地圖(2D)
->surface-地圖(3D)
指令:
/dynmaprender:渲染目前所在位置的一格區塊。
/dynmapfullrender(世界):(地圖):從中央開始,渲染指定世界的地圖。
/dynmapradiusrender(範圍)(地圖):從你所在位置開始,向外渲染你指定的範圍。
/dynmapradiusrender(地圖)xz(範圍):從`x,64,z`開始,向外渲染你指定的範圍。
/dynmapupdaterender(地圖):渲染需要更新的區塊。
/dynmapupdaterender(世界)xz(地圖):從(x,z)的區塊開始,渲染需要更新的區塊。
/dynmapcancelrender(世界):取消所有渲染工作。
/dynmappurgequeue:清除工作隊列。
/dynmappurgemap(世界)(地圖):刪除該世界的所有地圖檔。
若未提供地圖將刪除全部。
/dynmappauseall:暫停所有渲染工作。
/dynmappausenone:繼續所有渲染工作。
Multiverse:多個世界,可將個別調整世界的細項,像是遊戲模式、規則…
提升性能
參考
修改時區
根據租的機器的所在位置,時區也會跟著有所不同。
在察看伺服器的紀錄檔的時候可能會很麻煩。
如果想要把時區改回台灣的話,可以使用下面這條指令。
sudotimedatectlset-timezoneAsia/Taipei
Relatedcontents
使用Netlify及Hugo架設部落格
Tableofcontents
租伺服器
SSH連線
SFTP連線
事前準備
Swap空間
防火牆
開始架設
問題
安裝插件
提升性能
修改時區
延伸文章資訊
- 16個仍然可用的免費Minecraft伺服器線上託管!自己的免費伺服 ...
6個仍然可用的免費Minecraft伺服器線上託管!自己的免費伺服器?(10月2號更新) · 一、Server.Pro · 三、Serveromat — 現在無法註冊及使用 · 二、Aterno...
- 2教學/在Google Drive上執行Minecraft
本教程将教你如何在Google Drive上运行Minecraft(请注意,这并不是真正从云端运行游戏,只是将它复制到一个不同的位置,并保持与云文件同步)。
- 3【密技】 2020還用家中電腦開Ser?【4步免費架設Google 雲端 ...
四步│免費架設Google雲端│麥塊伺服器➤不需要家中長開電腦➤十分鐘簡單學識➤通通不用錢➤1.0 至1.16.1 ... 【2020還用屋企電腦開Minecraft伺服器?】 ...
- 42020還用家中電腦開Ser?【4步免費架設Google 雲端Minecraft ...
... 、NO-ip) ➤十分鐘簡單學識➤【2020還用屋企電腦開Minecraft伺服器?】四步│免費架設Google雲端│麥塊伺服器➤不需要家中長開電腦...
- 5架設Minecraft 伺服器(Paper)
尚未完成。 環境:. 雲端平台:Azure, Oracle Cloud 作業系統:Ubuntu 20.04 LTS Minecraft 版本:1.17. 租伺服器.