今天有朋友找我諮詢Terraria聯機的事情,之前我們一起玩的時候都是我做主機,用內網穿透的方式讓大家連接上服務器,體驗還算不錯,但我一直有搭一個公共服務器的想法。
正好他現在需要一個服務器,我手頭上又又有一個空閒的VPS可以用,於是說幹就幹,再加上我有那麼一丁點兒的Linux終端語言基礎,我直接開始Google教程,準備一步步地來搭建Terraria的服務器。
在搜索過程中,我看到一篇文章對小白非常友好,但又不是那麼友好。為什麼說友好呢,因為文章從選購VPS開始,細微到Vim的使用都有講解;但為什麼說不友好呢,因為不知道是文章本身的排版有問題,還是文章轉載後排版錯亂了,很多代碼有格式錯誤,並且有些命令的使用講的比較摸稜兩可,因此我想就著這篇教程把代碼更新一下。
前置知識
- Linux的基本命令行操作方法
- 如何購買及連接到自己的VPS
- 以上兩點都可忽略,帶腦子且會用搜索引擎即可
🎁跳過VPS
原文在這塊用了大量篇幅介紹如何挑選VPS以及如何連接,我認為可以略過,有需要的可以去看看原文:
https://www.qlmed.cn/166479.html
能摸索到這一步應該已經不是什麼電腦小白了,因此我覺得原文裡面的關於VPS的選擇和介紹可以略過,甚至PUTTY的基本操作和Linux命令行的基本操作都是前置知識,我認為沒有必要再提及了。
創建Swap分區
這一步的目的似乎是給內存一個緩衝空間,因為購買的VPS一般性能比較低(學生黨嘛,一般內存也就能買個1G2G的)。
使用命令查看Swap分區
$free-m
正常情況下應當是下圖這樣,swap分區空間為0
刪除原來的分區
$swapoff –a
新建一個讀寫塊大小為1M、塊個數為1024的Swap分區(這裡不一定要這麼多,具體多少可以自己指定)
$dd if=/dev/zero of=/root/swapfile bs=1M count=1024
格式化創建好的Swap交換分區
$mkswap /root/swapfile
啟動新建的Swap交換分區
$swapon /root/swapfile
下面是給Swap交換分區添加到開機自啟動掛載,可能步驟稍多
$vim /etc/fstab
進入文檔後,進入編輯模式,然後加入一行代碼
/root/swapfile swap swap defaults 0 0
然後使用reboot命令或者其它辦法重啟實例即可,使用free -m查看Swap分區是否已經被分配內存了,然後決定是否進入下一步
下載配置相關文件
在opt目錄下創建Terraria文件夾,並在該文件夾下創建bin,worlds,zip三個子文件夾
$mkdir /opt/terraria$mkdir /opt/terraria/{bin,worlds,zip}
進入zip文件夾,下載官方提供的服務器包
$cd /opt/terraria/zip
$wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-{{這裡是版本號,要隨著遊戲版本更新而變}}.zip
將下載好的文件解壓到bin文件夾中
$unzip terraria-server-{{你下載的版本號}}.zip-d/opt/terraria/bin
這裡解壓完之後可以把zip文件夾裡面的壓縮文件刪除掉,不過你也可以不刪除將配置文件拷貝到泰拉瑞亞文件夾的根目錄
$cp -p /opt/terraria/bin/{{你的版本號}}/Windows/serverconfig.txt /opt/terraria/
編輯配置文檔
$vim /opt/terraria/serverconfig.txt
如果你的世界名字等需要用到中文,那麼這裡很可能需要改變文檔的編碼方式,不要進入編輯模式,手打這串字符並回車,沒有出現紅色警告則成功:
set fileencoding=utf-8
在文檔的最後一段複製以下代碼
world=/opt/terraria/Worlds/{{世界的名字}}.wld
worldname={{世界的名字}}
difficulty=0
autocreate=2
maxplayers=4
password={{設定的密碼}}
worldpath=/opt/terraria/worlds
difficulty是遊戲的難度,對應的是0為普通,1為專家,如difficulty=0是普通模式autocreate是自動生成的世界的大小,1是小世界,2是大世界,3是超大世界maxplayers是最大同時遊戲人數
啟動服務器
使用下列命令賦予文件可執行權限
$chmod 777 /opt/terraria/bin/{{你的版本號}}/Linux/TerrariaServer.bin.x86_64
啟動服務器
$cd /opt/terraria/bin/{{你的版本號}}/Linux&&./TerrariaServer.bin.x86_64-config/opt/terraria/serverconfig.txt
原文章在這裡還退出了去修改原配置文件,我修改了之後出現了編碼錯誤,因此這裡就暫且不提了,服務器維護的相關指令和內容可以自行查詢相關文檔或者是去Google查找
將服務器掛起
使用screen服務將服務器掛起,從而可以關閉PUTTY之後也能讓服務器跑起來首先創建該窗口
$screen -S terraria
創建後會直接進入該窗口,然後我們直接啟動服務器即可
$cd /opt/terraria/bin/{{你的版本號}}/Linux&&./TerrariaServer.bin.x86_64-config/opt/terraria/serverconfig.txt
使用安全組策略防止端口被攔截
使用安全組策略防止端口被攔截這算是一個小坑,國內的三大VPS提供商應該都會提供一個安全組策略,設置了端口白名單。
Terraria的Server啟動端口默認是7777,這個端口應該是被安全組策略封鎖的,因此需要手動去解除。這裡以阿里云為例進入安全組並配置策略將7777端口設置為白名單
後記
Terraria的更新速度可能有點快,這就意味著VPS持有者也要不斷更新Server版本,確實是比較折磨的一件事,這只是最初級的配置教程,至於流程自動化,可能需要查閱更多資料後總結得出。
小黑盒到底支不支持markdown?說它支持吧,我把我之前寫的markdown源碼發過來識別不了,說它不支持吧,引用加粗這些操作像極了markdown,怪事...