創作內容

2 GP

No More Room In Hell 伺服器架設教學

作者:邪惡的藍│2016-08-11 14:23:49│巴幣:4│人氣:14485
首先去下載SteamCMD,SteamCMD是一個命令提示字元版本的Steam,它主要是用來下載和更新各種不同遊戲的專屬伺服器(Dedicated Server)。你也可以在Steam上的收藏庫>工具下載No More Room in Hell Dedicated Server,兩者都是一樣的。


這裡我建議用SteamCMD架設伺服器,下載完SteamCMD並解壓縮到一個新增的資料夾裡(資料夾名稱避免中文),第一次開啟會下載一些檔案,之後依序輸入下列指令(如果是從Steam上下載下來可以跳過此步驟)

login anonymous
app_update 317670 validate

login anonymous:登入一個匿名帳號
app_update:下載伺服器,317670為No More Room in Hell Dedicated Server的AppID
validate:確認伺服器檔案完整性,不一定要添加。

往後遊戲有更新的話,就要重複以上動作。(從Steam上下載的會自動更新)

接下來確認你有開啟顯示副檔名,如果沒有又不知道怎麼開啟的話請去Google,這會影響到後面要做的事情。

伺服器的檔案會在D:\steamcmd\steamapps\common,Steam上下載的會在C:\Program Files (x86)\Steam\SteamApps\common(此為參考路徑,看你當時把steamcmd.exe或是Steam安裝在哪)

點進去新增記事本(文字文件)並將副檔名改為*.bat,名稱隨意

往後都是點nmrih.bat開伺服器。右鍵編輯,複製下列文字並貼上(擇一)
以CMD文字介面開伺服器
start srcds.exe -console -game nmrih +maxplayers 8 +map nmo_broadway +exec server.cfg

以GUI圖形介面開伺服器
start srcds.exe -game nmrih +maxplayers 8 +map nmo_broadway +exec server.cfg

-console:以CMD文字介面開伺服器。不加則是以GUI圖形介面開伺服器。
-game:遊戲伺服器
-insecure:關閉Valve防作弊系統(VAC),記得使用GUI圖形介面開伺服器的時候要把VAC不勾選現在已支援Valve防作弊系統(VAC),這個指令已經不需要了)
+maxplayers:伺服器最大人數上限
+map:預設伺服器開啟時的地圖
+exec server.cfg:伺服器開啟時載入server.cfg設定檔

D:\steamcmd\steamapps\common\No More Room in Hell Dedicated Server\nmrih\cfg下新增一個記事本(文字文件)並把檔名和副檔名命為server.cfg,另存新檔將編碼改成UTF-8就能讓伺服器名稱顯示中文

可以在網路上搜尋nmrih server.cfg就會有一些設定檔。我用了其中一個並翻譯,有需要可以複製貼上到server.cfg
// ********************************************************************************
//                                                                                                                       *
//             No More Room in Hell - 社群開發 Server.cfg                                   *
//                        版本 1.0 - 九月 13, 2012                                                        *
//              最新版本: http://avidblur.com/nmrih/server.cfg                                *
//                                                                                                                        *
// ********************************************************************************

// ............................ 基本伺服器設定 ............................. //

// 你想要在NMRiH的伺服器列表上顯示的伺服器名稱
hostname "No More Room in Hell dedicated server"

// 設定主要伺服器管理員的聯絡信箱
sv_contact ""

// 讓你的伺服器變成私人的,只有知道密碼的玩家才能遊玩
// 留空白 = 公開
sv_password ""

// 遊戲正式開始前的練習時間 預設 45
sv_practice_transtime 45

// 遊戲正式開始前的冷卻時間 預設 5
sv_preround_freezetime 5

// 伺服器顯示在哪個世界區域
// -1 = 世界
//  0 = 美東
//  1 = 美西
//  2 = 南美
//  3 = 歐洲
//  4 = 亞洲
//  5 = 澳洲
//  6 = 中東
//  7 = 非洲
sv_region 4

// 設定伺服器區域網路或是網際網路?
//  0 = 網際網路
//  1 = 區域網路
sv_lan 0

// 禁用自動踢掉 = 0 ,玩家閒置過久時自動踢掉
sv_idle_autokick_enabled 1
sv_idle_autokick_time 300.0

// 透過麥克風來語音通信
sv_voiceenable 1

// 玩家能夠看見或聽見其他玩家打字、說話,沒有隊伍限制 0=關閉 1=開啟
sv_alltalk 0

// 玩家嘗試重新連線多久後連線逾時
sv_timeout 65

// 伺服器允許暫停
sv_pausable 0

// 遠端密碼 (遠端遙控),遠端密碼處可以留空白,不過還是建議您設定一個安全密碼.
// 需要安全密碼? 來看看 https://www.grc.com/passwords.htm 自動產生一個密碼
rcon_password ""

// 挑戰模式
sv_challenge 0

// 目前挑戰.(設定至 "Random" 來隨機任務)
sv_challenge_name ""

// 難度 - 伺服器難度 http://git.io/v35eI
// "casual" - 休閒難度.
// "classic" - 經典難度.
// "nightmare" - 噩夢難度.
// "pvp" - 對戰.
// 預設: sv_difficulty ""
sv_difficulty "classic"

// 啟用/禁用寫實模式.爆頭秒殺殭屍但其它身體部位不會造成傷害
sv_realism 0

// 允許在寫實模式下重生
sv_realism_allow_respawn 0

// 啟用或禁用困難生存
sv_hardcore_survival 0

// 顯示擊殺訊息(killfeed) 0=關閉 1=玩家擊殺、死亡 2=僅玩家死亡
sv_deathnotice 0

// 允許玩家傷害其他隊友
mp_friendlyfire 0

// 腳步聲
mp_footsteps 1

// 手電筒
mp_flashlight 0

// 限制玩家死亡的觀戰模式
mp_forcecamera 0

// 一張地圖的總遊戲時間(分鐘),時間過後自動換地圖
mp_timelimit 30

// 副檔名為 .txt 的檔案包含了伺服器的地圖循環
// mapcycle.txt - 全部地圖
// mapcycle_objective.txt - Objective 地圖限定
// mapcycle_survival.txt - Survival 地圖限定
mapcyclefile "mapcycle.txt"

// 在伺服器列表上顯示標籤讓玩家能夠更容易找到想要的伺服器
// "Official" tags:
// custom - 如果你的伺服器是自定義設定/配置
// objective - 如果你的伺服器只限定 Objective 地圖
// survival - 如果你的伺服器只限定 Survival 地圖
// 例如: sv_tags "example1, example2, example3"
sv_tags "vanilla"

// ............................ 下載設定 .................................. //

// 允許玩家上傳噴漆等等(NMRiH 預設噴漆為禁用,所以設定為 0 是最佳選項)
sv_allowupload 1

// 允許玩家下載檔案
sv_allowdownload 1

// 允許下載地圖/紋理等等檔案大小上限(以MB計算)
net_maxfilesize 64

// 允許從網站上更快速的下載地圖/紋理等等!
// 注意: 如果留空白的話(sv_downloadurl "")客戶端連接將會從你的伺服器下載自定義地圖等等.
//
// 例如: 1 - 伺服器有一張地圖叫 "nmo_example.bsp" 在 maps 資料夾裡
//          2 - 網站伺服器也有一個叫 "nmo_example.bsp" 的檔案在 "http://www.yourwebsite.com/nmrih/maps/nmo_example.bsp"
//          3 - 所以, sv_downloadurl 應該要設定成 "http://www.yourwebsite.com/nmrih/"
//
sv_downloadurl ""

// 下載工作坊地圖並新增至列表
// workshop_download [工作坊ID]
// 工作坊ID就是在該頁面的網址最後一串數字,例如nmo_abra_dungeon_v3的ID為1895001082
// 請在伺服器控制台輸入使用指令
//workshop_download

// 下載所有在收藏裡的工作坊地圖並新增至列表
// workshop_download_collection [工作坊收藏ID]
// 工作坊收藏ID就是在該收藏頁面的網址最後一串數字
// 請在伺服器控制台輸入使用指令
//workshop_download_collection

// 更新工作坊地圖、項目
// 請在伺服器控制台輸入使用指令
//workshop_update

// 驗證所有工作坊項目並且有遺失的話重新下載
// 請在伺服器控制台輸入使用指令
//workshop_validate

// ............................ 性能設定 .............................. //

// 設定伺服器幀率上限(設定伺服器幀率能更一致的管理)
fps_max 60

// 允許伺服器最小頻寬速率, 0 = 無限制
sv_minrate 3500

// 允許伺服器最大頻寬速率, 0 = 無限制
sv_maxrate 0

net_splitpacket_maxrate 80000
sv_parallel_packentities 1
sv_parallel_sendsnapshot 0

// 優先將排隊中的封包發送出去,而不是一個一個發送.
net_queued_packet_thread 1

// 最多能等待幾 # 秒將下一個封包發送出去(0 == 沒有限制).
net_maxcleartime 4.0

// 伺服器允許每秒最低更新速率
sv_minupdaterate 10

// 伺服器允許每秒最高更新速率
sv_maxupdaterate 66

// 伺服器允許每秒最小命令速率
sv_mincmdrate 10

// 伺服器允許每秒最大命令速率
sv_maxcmdrate 66

sv_client_min_interp_ratio 1

sv_client_max_interp_ratio 5

sv_client_cmdrate_difference 20

// 可用來強制設定 cl_predict 值給連線的玩家 (當他們連接的時候).
// -1 = 讓玩家隨意設定 cl_predict
//  0 = 強制設定 cl_predict 為 0
//  1 = 強制設定 cl_predict 為 1
sv_client_predict -1


// ********************************************************************************
//                                                                                                                        *
//                         自定義 NMRiH 遊戲設定                                                       *
//                                                                                                                        *
//  重要: 如果你的伺服器是使用自定義遊戲設定在 sv_ tags 上添加 "custom" 標籤!
//                                                                                                                        *
//  刪除前面的斜線 (這個"// ") 來自定義遊戲設定                                            *
//  在你的 /cfg/ 資料夾下編輯或新增 "nmrih_custom.cfg" 檔案                       *
//                                                                                                                        *
// ********************************************************************************

//exec nmrih_custom.cfg


// .............................. 其他設定 .............................. //

// 允許玩家使用 "暫停" 指令? (最好禁用以避免腳本氾濫)
sv_allow_wait_command 1

// 強制伺服器預先載入地圖和一些檔案
sv_forcepreload 0

// 啟用日誌? (off/on)
log off

// ............................... Sourcemod 設定 .............................. //


// ********************************************************************************
//                                                                                                                        *
//                進階伺服器設定(最好不要更改!)                                                    *
//                                                                                                                        *
// ********************************************************************************

exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip
heartbeat

工作坊地圖可以使用指令讓伺服器下載並檢查是否有更新,在伺服器控制台輸入後就會下載了,而玩家若沒有地圖也會自動下載。工作坊ID在下圖紅框處,如果要移除不要的工作坊地圖開啟伺服器後在控制台輸入workshop_remove [工作坊ID]就會從workshop_maps.txt列表中移除

你也可以看到有個叫mapcycle_default.txt的檔案,這個是地圖循環檔,複製一份並重新命名為mapcycle.txt,可以看地圖開頭名稱來辨別遊戲模式。

nmoObjective模式
nmsSurvival模式

下載工作坊的地圖記得要手動新增至mapcycle.txt
以上為伺服器架設教學。

關於通訊埠轉發(Port Forwarding)的教學可以參考以下

如果想知道為什麼要設定通訊埠轉發的話可以看一下這篇

這裡可以看Steam需要開啟哪些通訊埠
一般伺服器都會用到27015,但Steam或遊戲也會佔用到通訊埠,所以轉發的範圍可以設定大一點。另外建議把一些可能會影響到伺服器IP的軟體先關閉或刪除,如:Hamachi、nMatrix。如果發現有時伺服器可以連有時不能連那可能是防火牆擋到通訊埠,上面的連結可以參考。

要確認伺服器是否能讓其他人看到並加入的話只要進遊戲開啟伺服器瀏覽器或是Steam的遊戲伺服器,看網際網路的分頁能不能找到自己的伺服器,可以的話代表設定成功;沒有找到的話則需要再確認通訊埠轉發或防火牆有沒有設定好。

※2016/8/20
修改段落內容

※2016/9/25
更新開啟伺服器的參數

※2017/2/9
通訊埠轉發教學

※2017/2/12
新增敘述

※2017/12/31
新增敘述

※2018/1/21
修正錯誤的AppID

※2018/2/14
新增敘述

※2019/8/14
更新教學內容

※2021/3/21
更新教學內容

※2021/10/31
更新教學內容

※2021/11/6
更新教學內容

※2024/1/13
更新server.cfg的內容、更新教學內容

※2024/1/16
更新server.cfg的內容、更新教學內容
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3285538
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:No More Room In Hell|Dedicated Server|Server

留言共 6 篇留言

忠犬
冒昧請問一下,如果架設完伺服器,別人還是看不到,問題是出在哪裡?
Ps.防火牆直接關了也無效,後面也有嚐試直接打指令(關sv_lan 0 and 地圖名開房) 照理講會顯示在"世界",還是沒辦法。
個人電腦是Win10 之前Win7可以的說..現在只有區網(自己)看的到,使用LogMeIn Hamachi
朋友還是沒有看到。 是不是IP的問題呢?

10-11 17:30

邪惡的藍
嗯…或許可以試試看通訊埠轉發(Port Forwarding),看這個參考一下
https://blog.3bro.info/archives/router-port-forwarding/
簡單來說,先去開始那搜尋cmd,之後輸入ipconfig,之後記好你的預設閘道,開啟瀏覽器,在網址上輸入你的預設閘道。因每個路由器的不同,帳號、密碼也會不同,一般預設都是user或admin,之後找類似Port Forwarding的字樣,然後進去設定。10-11 21:40
carson601
版主你好 近期和朋友回鍋起這款遊戲 於是嘗試自己建立伺服器 這篇是我找到最詳細和最有效的教學 所以非常感謝版主 根據版主的教學成功接近95% 剩餘的5%就是唯一的問題 不知道為什麼自己嘗試連接伺服器的時候一直卡在傳送用戶端 眼其他暫時顯示一切正常 希望版主可以幫我想想解決方法 感激不盡

12-30 23:07

邪惡的藍
除了你以外其他人連的進來嗎?有沒有把伺服器加進防火牆例外清單?12-31 11:13
carson601
剛剛叫朋友測試他們連我的ip地址都找不到說沒有這個伺服器 防火牆已經關掉

12-31 11:27

邪惡的藍
這樣的話可能是連接埠沒有轉發,文章內有附教學可以看一下12-31 11:44
carson601
我有設定轉發

12-31 12:16

邪惡的藍
確定有設定好嗎?IP要輸入IPv4位址,可以的話擷個圖給我看12-31 14:32
carson601
有更直接的方法溝通嗎

12-31 12:39

邪惡的藍
Twitch聊天室或許可以12-31 14:32
carson601
ok 你的twitch name 是?

12-31 14:35

邪惡的藍
evilblue21012-31 14:39
我要留言提醒:您尚未登入,請先登入再留言

2喜歡★s9780008 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:【心得】BrainBre... 後一篇:Counter-Stri...

追蹤私訊切換新版閱覽

作品資料夾

san0196
《我是靈異人》最新一話更新囉!歡迎大家來我的小屋看看喔!看更多我要大聲說6小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】