搭建一個泰拉瑞亞服務器


3樓貓 發佈時間:2022-09-04 14:08:51 作者:友中友 Language

今天有朋友找我諮詢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

搭建一個泰拉瑞亞服務器-第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端口設置為白名單

搭建一個泰拉瑞亞服務器-第1張

搭建一個泰拉瑞亞服務器-第2張

搭建一個泰拉瑞亞服務器-第3張

後記

Terraria的更新速度可能有點快,這就意味著VPS持有者也要不斷更新Server版本,確實是比較折磨的一件事,這只是最初級的配置教程,至於流程自動化,可能需要查閱更多資料後總結得出。

小黑盒到底支不支持markdown?說它支持吧,我把我之前寫的markdown源碼發過來識別不了,說它不支持吧,引用加粗這些操作像極了markdown,怪事...


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com