伺服器 (Server/yue)

From Terraria Wiki
Jump to navigation Jump to search

泰拉瑞亞伺服器提供玩家一個透過網絡去同其他玩家玩多人模式嘅平台。泰拉瑞亞嘅Windows版已經有埋伺服器軟件喺入面。如果喺Linux上面行伺服器嘅話,就一定要喺下載區下載伺服器文件。 伺服器亦都可以淨係用嚟玩單人遊戲,咁樣你就可以調整遊戲入面嘅時間。

開伺服器之前要注意嘅嘢

泰拉瑞亞伺服器預設係喺TCP端口7777度行。如果你嘅網絡環境係用緊NAT嘅話(例如普通家庭用戶),個端口一定要進行端口映射先可以比其他玩家加入。如果進行唔到端口映射啲話,可以揀用一啲VPN服務,譬如話Hamachi或者Radmin VPN嚟代替(雖然如果用上面呢啲服務嘅話,每一個玩家都要安裝VPN軟件)。泰拉瑞亞伺服器預設最大玩家數係八個人(1.4.0.1嘅時候係十六個人),但係依樣嘢可以喺伺服器初始化嘅時候或者喺伺服器設定文件「serverconfig.txt」入面改。唔係用緊NAT嘅網絡環境(例如商業用戶或者數據中心用戶)通常唔使進行端口映射,但係仍然需要畀玩家穿過防火牆。

如果將伺服器行喺雲端服務供應商上面例如AWS或者GCP嘅話,就要確保TCP同埋UDP嘅端口7777係開放咗畀人連接入去嘅。

公共伺服器

伺服器可以喺下面嗰個伺服器列表度搵到:

加入伺服器

想加入伺服器,玩家要喺主畫面度揀多人遊戲選項,然後揀角色,再輸入埋伺服器嘅IP同埋端口。 通常唔同嘅伺服器都對玩家有唔同嘅要求。例如有啲伺服器會要求玩家用閒核模式或者中核模式嘅角色嚟玩,另外有啲會要求玩家去到一定嘅等級先可以加入。通常一個公共伺服器會有註冊(/register)同登錄(/login)系統,而玩家必須有一個角色擁有一個獨一無二嘅名同埋密碼。

公共伺服器通常係由一班會去維蔎規則嘅管理者去運行。呢啲規則一般會係禁止使用模組或者作弊軟件,禁止冒充身分,同埋諸如此類嘅嘢。不過亦都有啲伺服器會俾玩家用佢哋單人遊戲入面嘅角色帶埋身上面嘅嘢入去伺服器入面。

你最近玩過嘅伺服器列表會保存喺多人遊戲入面嘅「透過IP加入」選項入面。

開服指引 (Windows)

  • 32位元Window到嘅TerrariaServer.exe預設可以喺%programfiles%\Steam\steamapps\common\terraria搵到。
  • 而喺64位元Window到嘅嗰個程式可以喺%programfiles(x86)%\Steam\steamapps\common\terraria搵到。
  • 如果你冇Steam嘅話,就會喺%programfiles(x86)%\terraria or %programfiles%\terraria搵到。
  • 如果你用GOG嘅話,就會喺GOG Games\terraria搵到。

之後玩家就可以喺遊戲菜單入面嘅多人遊戲選項加入伺服器。

開服指引 (Linux)

事前準備

首先我哋要準備一啲必要嘅工具去開啟我哋嘅伺服器, 呢啲通常已經預先安裝咗喺個系統入面。

以Debian為基底系統嘅話,要執行sudo apt update && sudo apt install -y wget tmux unzip

開啟伺服器

  1. 下載區入面攞最新下載嘅連結, 然後用wget the_latest_link_here 去下載。
  2. unzip terraria-server* 呢條指令去解壓縮檔案。
  3. cd 1412 入去你啱啱解壓縮咗嘅檔案夾入邊。要注意1.4.1.2版本嘅檔案夾名稱係'1412',而將來嘅版本係會唔同嘅。
  4. cd Linux進入Linux資料夾。
  5. chmod +x TerrariaServer.bin.x86*加一個執行許可畀伺服器二進制文件。
  6. ./TerrariaServer.bin.x86_64 開啟伺服器。 要注意64位元版本係TerrariaServer.bin.x86_64,而32位元版本係TerrariaServer.bin.x86。
  7. 擺你個世界嘅檔案夾喺 ~/.local/share/Terraria/Worlds/ 而令到個伺服器可以讀取到你個世界。

背景入面運行伺服器

Tmux 係一個現代嘅終端服用器類軟體,具備左畀多過虛擬命令行終端同時運行嘅能力。我哋會用佢喺背景入面運行我哋嘅伺服器。

  1. tmux開啟Tmux。
  2. 喺Tmux入面執行./TerrariaServer.bin.x86_64嚟開啟伺服器。
  3. 而家伺服器應該好似平時咁運行緊。 要將伺服器程式由Tmux分離獨立咁運行要使用以下組合鍵<Ctrl+b> d。
  4. 你而家應該要返返去前一個命令行終端。 用tmux list可以睇到伺服器程式喺背景入面運行。
  5. 要重新合併返嗰個伺服器程式去到主要終端進行修改或者停止嘅話,只要執行tmux attach就可以。

注意事項

  • 有啲時候我哋要用export TERM=xterm將變數「Term」輸出。

開服指引(RPI / 其他系統)

如果你用緊嘅作業系統冇一個預先建構咗嘅執行檔(例如樹莓派OS(之前係叫Raspbian)或者FreeBSD)嘅話,你可以用mono嚟開伺服器。如果你想用一啲唔係行緊x86架構嘅裝置例如樹莓派嚟開伺服器嘅話,上面講嘅方法就會好有用。

事前準備

注意:如果你用緊一個唔係x86架構嘅以Linux為基底嘅作業系統(例如樹莓派OS)嘅話,去到chmod為止,啲指引都同呢度一樣。如果mono或者其他需要嘅函式庫(例如sqlite或者screen)冇預先安裝咗係個系統入面嘅話,你亦都需要自己去安裝。

開啟伺服器

  1. 下載同埋取出啱你系統配置嘅泰拉瑞亞檔案(用樹莓派嘅人就跟住呢度去做)。
  2. 進入Linux資料夾。
  3. mono --server --gc=sgen -O=all ./TerrariaServer.exe開啟伺服器。

個伺服器就應該會開始行嘞。

排解疑難

如果你遇到一個錯誤係同你講「Your mono runtime and class libraries are out of sync.」嘅話,就要去到泰拉瑞亞嘅資料夾入面剷走monoconfig、mscorlib.dll同埋其他以「Mono」或者「System」開頭嘅檔案。 喺Linux上面嘅命令例子:

rm System*
rm Mono*
rm monoconfig
rm mscorlib.dll

WindowsBase.dll 同埋 FNA.dll 應該喺檔案夾入面係唯二嘅.dll檔案。

注意:呢個程序亦都會剷走曬任何以「Mono」或者「System」開頭嘅無關檔案!

下載

泰拉瑞亞通常安裝包已經包括咗泰拉瑞亞伺服器軟件(詳見上方),但同時亦都可以下載取得:

專有伺服器圖形介面(Dedicated Server GUI)係一個提供圖形操控畀原版伺服器嘅第三方插件(原版伺服器本身係一個命令行軟件):

Tshock同埋TDSM都可以提供咗額外功能,例如遊戲內部指令、白名單、玩家密碼同埋用嚟增加內容嘅插件介面(例如分紅藍隊)畀原版伺服器嘅第三方插件。

  • Tshock
  • TDSM(最新版本 1.3.2.1;已停止更新)

伺服器檔案

一個伺服器入面除咗伺服器嘅執行檔之外仲包含埋三個檔案:

  • TerrariaServer.exe - 呢個係主伺服器檔案,並可以獨立運行。
  • serverconfig.txt - 呢個係伺服器設定檔,用嚟定義曬所有伺服器嘅參數(啲參數可以睇下面)。
  • start-server.bat - 呢個係以serverconfig.txt嚟開伺服器嘅Windows批次檔。亦有一個功能可以令伺服器崩潰嗰陣時自動重啟。
  • start-server-steam-friends.bat - 用控制台實現同「Host & Play」一樣嘅功能。Steam上面嘅朋友可以用佢嚟加入遊戲。

控制台指令列表

一個專有伺服器行緊嘅時候可以執行下面嘅指令:

  • help - 顯示指令列表。
  • playing - 顯示玩家列表。呢樣嘢可以喺遊戲入面用輸入「/playing」入聊天室入面實現。
  • clear - 清除控制台視窗記錄。
  • exit - 保存同閂咗個伺服器。
  • exit-nosave - 閂咗伺服器但唔保存。
  • save - 保存遊戲世界。
  • kick <player name> - 將特定玩家喺伺服器入面踢走。
  • ban <player name> - 禁止特定玩家進入伺服器。
  • password - 顯示密碼。
  • password <pass> - 改密碼。
  • version - 顯示版本序號。
  • time - 顯示遊戲內時間。
  • port - 顯示正在監聽的端口。
  • maxplayers - 顯示最大玩家數量。
  • say <message> - 將輸入嘅訊息傳送畀全部玩家。佢哋會見到嗰條信息會有一個黃色嘅前綴<server>
  • motd - 顯示MOTD。
  • motd <message> - 改MOTD。
  • dawn - 將時間變成清晨(4:30 AM)。
  • noon - 將時間變成中午(12:00 PM)。
  • dusk - 將時間變成黃昏(7:30 PM)。
  • midnight - 將時間變成凌晨(12:00 AM)。
  • settle - 暫停所有水嘅流動。

要注意上面嘅指令都唔需要/喺佢哋前面,但係有啲指令介面係需要。如果要Tshock指令嘅列表可以睇TShock必讀檔)。

命令行參數

下面係當初始化泰拉瑞亞伺服器嘅時候可以輸入嘅參數列表:

  • -config <file path> - 指定要用邊個設定檔案(可以睇下面嘅伺服器設定檔案)。
  • -port <number> - 指定用邊個端口監聽。
  • -players <number> / -maxplayers <number> - 設定最多玩家人數。
  • -pass <password> / -password <password> - 設定伺服器密碼。
  • -motd <text> - 設定伺服器MOTD嘅文字。
  • -world <file path> - 載入指定嘅世界然後自動開啟伺服器。
  • -autocreate <number> - 當-world指定嘅路徑搵唔到嘅時候創造一個世界,世界大細係由1(細)、2(中)同埋3(大)嚟指定。
  • -banlist <file path> - 指定禁止名單嘅位置。預設係工作檔案夾入面嘅"banlist.txt"。
  • -worldname <world name> - 指定當用 -autocreate 創造世界嘅時候所用嘅世界名稱。
  • -secure - 增加伺服器額外嘅防作弊保護。
  • -noupnp - 停用UPnP。
  • -steam - 開啟Steam支援。
  • -lobby friends / -lobby private - 當steam開啟嘅時候設定成私人伺服器或者淨係畀朋友加入。
  • -ip <ip address> - 設定伺服器監聽嘅IP位址。
  • -forcepriority <priority> - 設定呢個任務嘅執行優先度。如果用咗呢個嘅話下面提及嘅設定-"priority"就會被無視。
  • -disableannouncementbox - 禁止wire被觸發時Announcement Box嘅文字公告彈出嚟
  • -announcementboxrange <number> - 以像素設定Announcement Box文字訊息嘅範圍,-1就代表成個伺服器都可以睇到。
  • -seed <seed> - 指定當用 -autocreate 創造世界嘅時候所用嘅世界種子。

伺服器設定文件

專有伺服器開啟嘅時候係可以參考伺服器設定文件入面嘅參數將上面講嗰啲參數自動咁入入去個伺服器入面,設定文件一定要用 -config呢一個參數指定。嗰個文件叫咩名都可以,但係一定要同TerrariaServer.exe喺同一個資料夾裏面。如果指定咗嘅設定文件當伺服器開啟嘅時候唔喺度嘅話,個伺服器就會叫用家去手動輸入返嗰啲參數。 下面係可以用嘅設定檔案指令列表:

  • world=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\world1.wld - 載入指定世界然後自動開啟伺服器。
  • autocreate=3 - 如果搵唔到現有世界嘅時候創建新世界嘅大細,世界大細有1(細)、2(中)同埋3(大)。
  • seed=AwesomeSeed - 設定創建新世界嘅時候嘅世界種子碼。
  • worldname=World - 設定創建新世界嘅時候嘅世界名稱。
  • difficulty=0 - 設定創建新世界嘅時候嘅預設難度。選項有0(普通)、1(達人)、2(大師)同埋3(旅程)。
  • maxplayers=8 - 設定伺服器最多畀嘅玩家數目,個數值一定要喺1至255之間。
  • port=7777 - 設定邊一個端口。
  • password=p@55w0rd* - 設定伺服器密碼。
  • motd=Please don’t cut the purple trees! - 設定每日通告。
  • worldpath=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\ - 設定世界檔案儲存喺邊一個檔案夾入面。
  • banlist=banlist.txt - 設定禁止名單喺,預設係喺工作資料夾入面嘅"banlist.txt"。
  • secure=1 - 增加伺服器額外嘅防作弊保護。
  • language - 設定伺服器嘅語言做對應嘅語言碼,可以用嘅語言碼有:
    • en/US = 英文
    • de/DE = 德文
    • it/IT = 意大利文
    • fr/FR = 法文
    • es/ES = 西班牙文
    • ru/RU = 俄文
    • zh/Hans = 中文
    • pt/BR = 葡文
    • pl/PL = 波蘭文
  • upnp=1 - 自動用uPNP進行端口映射。
  • npcstream=60 - 減少敵怪嘅幀數跳過但係會增加頻寬使用,數字越低就會有少啲嘅跳過發生,但係更多嘅資料就會進行傳送。0係關閉跳過。
  • priority=1 - 預設系統優先度0:即時,1:高,2:高過普通,3:普通,4:低過普通,5:待機。
  • 每一樣嘢喺旅程模式入面嘅權限 0:所有人都唔可以改,1:只有主機可以改,2:所有人都可以改
    • journeypermission_time_setfrozen=2
    • journeypermission_time_setdawn=2
    • journeypermission_time_setnoon=2
    • journeypermission_time_setdusk=2
    • journeypermission_time_setmidnight=2
    • journeypermission_godmode=2
    • journeypermission_wind_setstrength=2
    • journeypermission_rain_setstrength=2
    • journeypermission_time_setspeed=2
    • journeypermission_rain_setfrozen=2
    • journeypermission_wind_setfrozen=2
    • journeypermission_increaseplacementrange=2
    • journeypermission_setdifficulty=2
    • journeypermission_biomespread_setfrozen=2
    • journeypermission_setspawnrate=2

評論可以用井號(#)包喺入面。井號開始嘅一行會成行跳過。

禁止玩家進入同解除禁止玩家進入

用指令ban <player> 可以禁止指定玩家進入伺服器。一個被禁止咗嘅玩家嘗試登入嘅時候,如果係玩緊英文版嘅話,就會彈出一條「You are banned for [duration]: [reason]- [modname]」咁嘅訊息出嚟。透過修改泰拉瑞亞檔案夾入面嘅「banlist.txt」可以解除被禁止咗嘅玩家嘅禁止。上面所講嗰個文件入面裝有所有而家被禁止進入嘅玩家名單,想解除禁止嘅話就要喺個列表入面刪除嗰個玩家嘅名同埋對應嘅IP位址。

系統要求

  • Windows 作業系統
  • 如果係玩細嘅世界嘅話要有至少500 MB空餘內存(內存需求會根據世界大細同埋玩家人數)
  • .NET Framework 4.0
  • XNA Framework

有一個簡單嘅方法去安裝.NET同埋XNA就係安裝泰拉瑞亞客戶端,因為佢會喺安裝過程中將上面所講嗰兩樣嘢一齊裝埋入去。

注意事項

  • 伺服器會時不時就自動儲存下個世界,但係當用「exit」指令去停止伺服器嘅時候先會自動儲存。所以喺停止伺服器之前最好手動儲存一次。
  • 都因為冇玩家在線而伺服器休眠嘅時候,時間只會喺有玩家上線嘅時候先會再次流動。
  • 當您開啟伺服器嘅時候,佢會問你你要唔要做自動端口映射,但係呢個功能唔係成日都可以正常運作。
  • 伺服器通常都用Hamachi嚟開。用呢樣嘢嚟開伺服器可以唔使用到端口映射,但係就要靠第三方軟件。
  • 有啲伺服器會加強敵怪嘅生命值。如果伺服器嘅難度係調整咗做達人模式嘅話,毀滅者嘅生命值有機會去到1,000,000+。

區域網

下面係一啲關於點樣設置一個好基本嘅區域網連線。首先最低限度我哋要將所有嘅電腦連接去同一個網絡入面,如果你想穩陣啲嘅話,你可以設置一個靜態區域網IP位址畀個伺服器,雖然咁樣做係冇乜必要嘅。要注意呢啲指引係畀嗰啲完全冇或者得少少網絡設置經驗同埋嗰啲只係想玩遊戲嘅人睇嘅啫。

  1. 確保所有電腦都係連接喺同一個網絡上面。
    • 盡量用以太網即係有線網絡去連接全部電腦,因為有線網絡正常嚟講係會快過無線網絡嘅。
    • 如果你係用緊一個普通屋企用嘅路由器但係又好想畀好多玩家連接入去你個伺服器嘅話,你可以用一個網絡交換器進行好多個嘅有線連接。如果你做唔到嘅話,你可以試下將所有嘅電腦連入去同一個無線網絡入面,咁樣嘅話可能都會成功但係連接速度就會比較慢。
  2. 攞伺服器嘅資訊嚟睇
    • 首先要確保你嘅伺服器係連上咗互聯網或者至少係你個路由器。要測試路由器嘅連接性,你可以試下喺網絡介面入面登入入去你嘅路由器到睇下,通常用嚟登入路由器嘅名稱密碼會印咗喺路由器嘅底部。如果你入到入去路由器入面嗰版嘅話-咁即係代表得咗而家只係需要確保其他電腦都係連上咗同一個網絡入面。
    • Windows:
      • 開啟命令提示字元然後執行「ipconfig」,咁樣就可以攞到關於你網絡狀態嘅資訊。記錄低出現喺「IPV4 Address......」後面嘅IP位址,IP位址通常都係一啲好似「192.168.1.27, 172.16.0.55 10.0.0.42」之類嘅嘢。呢個就係用嚟加入泰拉瑞亞伺服器嘅IP位址。如果嗰個IP位址係127開頭嘅,咁你就要搵過另外一個唔係127開頭嘅。如果嗰個IP位址係169開頭嘅,咁你就應該做錯咗啲嘢喇。
    • MacOS:
      • 開啟系統偏好設定>網絡然後記錄低IP位址。上面有講到IP位址係咩樣。
    • GNU/Linux:
      • 要攞到本地IP位址嘅話,就要喺終端視窗度執行「ifconfig」或者「ip a」。上面有講到IP位址係咩樣。
  3. 連接客戶端到伺服器
    • 開啟泰拉瑞亞,然後禁多人遊戲選項,之後用你第二步記錄低嘅IP位址嚟連接。
    • 你而家應該就可以連接入到個伺服器啦!
  4. 排解疑難(如果有啲嘢唔啱)
    • 確保開伺服器嗰一部電腦嘅防火牆閂咗,或者最起碼端口7777有連接權限;改過啲嘢之後要重新啟用過個防火牆。.
    • 如果本地IP位址係由169開始嘅話,需要檢查下你嘅網絡設定。
    • 伺服器嘅IP位址係有機會會改變嘅,尤其是當個路由器重啟過嘅時候。如果你連接唔到個伺服器嘅話,就重新做過第二步睇下個IP位址有冇改變到。
      • 如果依樣嘢變成咗一個成日出現嘅問題嘅話,你就要去搵「點樣喺(作業系統名稱)設定一個靜態IP位址」。
    • 如果你將泰拉瑞亞伺服器嘅端口改成7777以外嘅嘢嘅話,你就要確保返客戶端嘅設定文件係連接返喺同一個端口入面。

版本歷史

  • 電腦版1.4.0.1
    • 增加咗兩個新難度:2為大師模式;3為旅程模式。
    • 加咗一堆用嚟控制旅程模式權限嘅設定檔選項。
  • 電腦版1.3.0.4
    • 專有伺服器而家可以用「-forcepriority」嚟覆蓋伺服器設定檔入面嘅處理優先度。
    • 專有伺服器而家可以用「-ip」多一次嚟設定佢嘅本地IP位址。
  • 電腦版1.3.0.3:當伺服器有嘢發生嘅時候會有一個更易睇得明嘅錯誤報告。
  • 電腦版1.3.0.2
    • 而家每次你進入或者創建一個伺服器嘅時候都可以輸入密碼。
    • 好多關於專有伺服器嘅問題都已經解決咗。
    • 修復咗玩家唔可以喺「只允許被邀請人士進入」模式邀請其他人嘅問題。
  • 電腦版1.2.3.1:修復咗當用唔係英文嘅語言開啟專有伺服器而導致崩潰嘅問題。
  • 電腦版1.0.2
    • 伺服器而家唔會理有幾多個網絡連接係開啟咗,都會監聽曬主機全部嘅IP位址。
    • 當你想入去你自己嗰部電腦開嘅伺服器嘅時候,而家要打「localhost」而唔係你部電腦嘅IP位址。
    • 遊戲預設端口由31337改成7777。
    • 而家客戶端識自己將主機名稱解析成IP位址。譬如randomsite.org行緊一個伺服器,你只要打randomsite.org當做IP位址就可以入到個伺服器。
  • 電腦初版:初次加入。
電子遊戲機版 電子遊戲機版
  • 電子遊戲機初版:初次加入。
手機版 手機版
  • 手機初版:初次加入。
Nintendo 3DSNintendo 3DS版
  • 3DS初版:初次加入。