加入伺服器與直連連接埠
加入兩條路:遊戲內 Multiplayer 瀏覽器搜名字,或 Steam 的「檢視 → 遊戲伺服器 → 收藏夾」加位址。收藏夾該填查詢連接埠還是遊戲連接埠,託管商文件自己就給了兩種說法(D8),本站兩個候選都輸出並各自標註來源,不替你猜。剛啟動的服要等幾分鐘才上列表
免費戰術射擊 · 射擊 / 戰術 / 模組沙盒
OHD 開服速查:專用服 appid 950900(Operation: Harsh Doorstop - Dedicated Server,type=Tool,匿名可裝,原生 Windows 與 Linux),本體 736590(免費,靠捐贈資助,全程 Steam Workshop 模組化)。當前穩定版 Hotfix v0.14.2.1 (2025-08-08 20:02 UTC, author SRDDonkey),專用服 public buildid 19523597(更新於 2025-08-08 20:02 UTC (timeupdated 1754683329),與該公告時間戳精確到分鐘吻合)。四個連接埠:遊戲 7777/UDP、查詢 27005/UDP(A2S,node-gamedig protocol=valve 與 LinuxGSM querytype=protocol-valve 兩源)、RCON 7779/TCP(AMP 與 pelican)與 LinuxGSM 用的 7778/TCP(D1;生態 RCON 用戶端 README 要求四個全放通)。RCON 是 TCP 上的標準 Source RCON(用戶端原始碼包格式 + AMP「the server and Source RCON」雙證),且 RCON 本身就是引擎外掛 Plugins/RCON;但它不是預設開啟的,需要 -EnableRCON 或 Game.ini 的 [/Script/RCON.RCONServerSystem] bEnabled=True。設定有三個載體且優先順序明確:啟動參數 > Game.ini > 執行時 cvar,面板把變數以啟動參數傳入,所以在面板服上改 Game.ini 的同名項會被蓋掉。Game.ini 是 UE4 ini,五個 Script 段(RCON / DFGameSession / HDGameSession / DFBaseGameMode / HDBaseGameMode);設定目錄名隨平台變(LinuxServer 與 WindowsServer,AMP 在 Linux 上用符號連結統一),且要完整啟動過一次才會產生。管理員走 Admins.cfg(一行一個 SteamID64,不隨服分發),封禁走 Bans.cfg(<SteamID64>:<分鐘>,0 = 永久),地圖輪換走 MapCycle.cfg(一行一個地圖短名);改完可用 RELOADSERVERCONFIG 免重啟重載。遊戲內管理指令必須加 admin 前綴,RCON 用戶端不加。本作沒有存檔(每回合從零開始),備份範圍只有設定與 Mods,且伺服器端在關閉時才寫設定檔故熱備份會拿到過期狀態。伺服器端有穩定與開發兩軌(950900/736590 與 1316480/1307180),AMP 原文「用戶端構建必須一致」,開發軌的可執行檔案名還不同(需改名或軟鏈)。
兩條路:遊戲內 Multiplayer 瀏覽器搜名字,或 Steam 的「檢視 → 遊戲伺服器 → 收藏夾」加位址。收藏夾該填查詢連接埠還是遊戲連接埠,託管商文件自己就給了兩種說法(D8),本站兩個候選都輸出並各自標註來源,不替你猜。剛啟動的服要等幾分鐘才上列表
四支症狀樹:在跑但搜不到(查詢連接埠與面板分配值、啟動未完成、用戶端與伺服器端不同軌)、能看見但連不上(模組未訂閱的簽名錯誤 SteamUGCManager_Failed_LoadWorkshopItem、伺服器名非 ASCII)、RCON 連不上(沒啟用、7778 與 7779 之爭、示例連接埠 8000 是展示值、協定是 TCP 上的 Source RCON)、改了設定不生效(啟動參數覆蓋 Game.ini、目錄要完整啟動過一次才產生)
四個 appid(本體 736590 / 穩定伺服器端 950900 / 封閉測試用戶端 1307180 / 封閉測試伺服器端 1316480)、10 張可玩地圖(AMP 列舉與 LinuxGSM MapCycle 範本逐名一致,另有資產 dump 獨有的 AlDhakir 與 Jaziira)、14 個陣營藍圖名(含官方拼寫 BP_OOFactionInfo_Wehrmact,sic)、十套上游連結按等級標註、生態 RCON 用戶端函式庫
伺服器端不會自己下載 Workshop 內容:要自己取(用戶端訂閱後的 steamapps/workshop/content/736590/<id>,或 workshop_download_item 命令)再上傳到 HarshDoorstop/Mods/<模組名>,然後在啟動參數裡選地圖/陣營/遊戲模式才算啟用;移除時殘留引用會讓伺服器起不來。含預設地圖 AAS-TestMap 其實來自 Workshop 項 steam.90201159165580288 這條反直覺事實
按 WarmupTime / RoundTimeLimit / TimeBetweenMatches / RoundScoreLimit 做純算術:一局多長、輪換一圈多長、N 局總時長。範本預設 RoundTimeLimit 與 RoundScoreLimit 都是 0,本站判為「不限」並顯式標註 0 的語義官方未解釋(按 UE4 慣例理解,未核實)。同時產生 MapCycle.cfg 預覽——一行一個地圖短名,絕不輸出 ini 陣列語法(C2)
官方從未公布伺服器端硬體需求(只有用戶端最低 8 GB / 推薦 16 GB,不可挪用)。流傳的四檔 RAM 表不點名任何託管商、無法回溯,本站不作為規格採用,只並列展示並標註。因此全欄位可編輯、留空即未計而不是 0,只做 base 加 per 乘人數這類可獨立複算的線性預算
遊戲 7777/UDP、查詢 27005/UDP、RCON 7779/TCP,以及 LinuxGSM 用的 7778/TCP(D1)——生態 RCON 用戶端 README 原文要求四個全放通。AMP 的連接埠表根本不登記遊戲連接埠,這是「面板只顯示一個連接埠」的根因。多實例任一連接埠相撞即整體拒絕,不靜默改值
四平台(ufw / firewalld / iptables / netsh)。預設只出遊戲與查詢兩條 UDP;兩個 RCON 連接埠都是顯式勾選,勾選時附「管理連接埠暴露公網等於把主控台交給互聯網」的風險警告與可選來源 IP/CIDR 限制。RCON 是 TCP 上的 Source RCON,不出 UDP 規則
穩定軌 app_update 950900(所屬用戶端 736590)與開發軌 app_update 1316480(所屬 1307180 封閉測試)二選一,開發軌附可執行檔案改名與軟鏈步驟(AMP updates.json 逐字),因為兩軌的二進位名字不同。可選 Workshop 模組下載(ID 按字串校驗為純數字)。備份只產生複製命令並先給停服警告,絕不產生刪除命令
選項用問號連接(AMP 的分隔符號就是問號),首位置參數 HarshDoorstop 兩派可切(D3),綁定 IP 只在填了具體位址時才輸出且大小寫兩派可選(D2,不硬編碼 0.0.0.0),RCON 預設關、勾選後輸出 -EnableRCON 與佔位符密碼(D4),地圖與陣營下拉與自由輸入同源,票數留空即不輸出(逐地圖設定,不給全域預設),33 與 65 人兩道閘門
五個 Script 段共 18 鍵,主源是 LinuxGSM 官方設定範本倉庫的真實檔案,RCON 段的六個鍵由 Unreal Header Tool 標頭檔 dump 鎖定(含 uint16 與 uint32 類型即校驗域)。兩個同名 Password 鍵靠段限定 id 區分。完整檔案與差異片段同源,違規整體拒絕,憑據永遠佔位符,貼上預檢八類點名且只報 len=
RCON 是 TCP 上的標準 Source RCON(用戶端原始碼的包格式與 AMP 描述雙證),mcrcon 一類工具可直接用;需 -EnableRCON 或 bEnabled=True 才監聽。指令三級分層:A 級伺服器端 dump 命中、B+ 級託管商專屬文件、C 級單源標 unverified。核心規則是雙入口前綴相反:遊戲內主控台要加 admin 前綴,RCON 用戶端不加。ban 的參數順序兩派並列(D15)
| 連接埠 | 協定 | 用途 |
|---|---|---|
| 7777 | UDP | 遊戲連接埠(UDP,承載實際遊戲流量)。注意 AMP 的連接埠表根本不登記它,且把查詢連接埠當主連接埠(PrimaryApplicationPortRef=QueryPort)——這就是「面板上只看得到一個連接埠」的根因(emeraldhost 專門寫了這一條排查項) |
| 27005 | UDP | Steam 查詢連接埠(UDP)。A2S:node-gamedig 的 harsh doorstop 條目 protocol=valve 且 port_query=27005,LinuxGSM querytype=protocol-valve 兩源一致。Steam 收藏夾預設填它,但 emeraldhost 同一篇也建議「搜不到就換成遊戲連接埠試」——兩口徑並列(D8) |
| 7779 | TCP | RCON 連接埠(TCP,標準 Source RCON:用戶端原始碼的包格式與 AMP「the server and Source RCON」雙證)。需 -EnableRCON 或 Game.ini 的 bEnabled=True 才監聽。AMP 與 pelican 都是 7779,LinuxGSM 是 7778(D1)。管理連接埠預設不對外放行——本站轉發清單不含本條 |
| 7778 | TCP | 第二個 RCON 連接埠口徑(TCP):LinuxGSM 的 ohdserver 設定寫 rconport="7778",而 AMP 與 pelican 寫 7779。生態 RCON 用戶端(@ohd-tools/rcon)README 原文要求「MUST port forward 7777, 7778, 7779, 27005」即四個全放通,因此兩個口徑都不能當筆誤刪掉(D1)。同樣預設不對外放行 |
SteamCMD appid 950900
sudo useradd -m -s /bin/bash steam
sudo apt update && sudo apt install -y steamcmd lib32gcc-s1
sudo -u steam -i \
/usr/games/steamcmd +force_install_dir /opt/gameserver \
+login anonymous +app_update 950900 validate +quit
https://operation-harsh-doorstop.fandom.com/wiki/Server_Install_Instructions
HarshDoorstop/Saved/Config/LinuxServer/Game.iniHarshDoorstop/Saved/Config/WindowsServer/Game.iniHarshDoorstop/Saved/Config/LinuxServer/Engine.iniHarshDoorstop/Saved/Config/LinuxServer/Admins.cfgHarshDoorstop/Saved/Config/LinuxServer/Bans.cfgHarshDoorstop/Saved/Config/LinuxServer/MapCycle.cfgHarshDoorstop/Mods/HarshDoorstop/Saved/Logs/三載體優先順序是本頁第一條要記住的事:啟動參數 > Game.ini > 執行時 cvar。面板把變數以啟動參數傳入,所以在面板服上改 Game.ini 的同名項不會生效——這不是 bug。RCON 是 TCP 上的標準 Source RCON(mcrcon 一類工具可用),但預設不開:需要 -EnableRCON 或 Game.ini 裡 [/Script/RCON.RCONServerSystem] 的 bEnabled=True;LinuxGSM 的預設啟動參數裡只有 -RconPort 而沒有 -EnableRCON,所以按它起服時 RCON 可能根本沒在監聽(D4,未實機驗證)。連接埠口徑兩套並列:AMP 與 pelican 是 7779,LinuxGSM 是 7778,而生態 RCON 用戶端 README 要求四個連接埠全放通(D1);用戶端函式庫示例裡的 8000 只是展示值。管理員在 Admins.cfg(一行一個 SteamID64,檔案不隨伺服器端分發,啟動時讀取,可用 -AdminList=FileName.cfg 換名),執行中用 add / addid 授予的權限不會持久——託管商原文警告「Always add permanent admins to Admins.cfg as well」。遊戲內執行管理指令必須加 admin 前綴(admin status / admin kick …),RCON 用戶端則不加,兩個入口前綴規則相反。改完名單可用 RELOADSERVERCONFIG 免重啟重載(會刷新 Admins.cfg、Bans.cfg、MapCycle.cfg)。封禁寫進 Bans.cfg,每行 <SteamID64>:<分鐘>,0 表示永久;解封就是刪那一行再重載。兩把口令都要小心:上游三套都把 RCON 口令放在命令行上(-RCONPassword=),在 Linux 上同機所有使用者都能從行程列表讀到,寫進 Game.ini 並收緊檔案權限更安全;玩家加入口令不能含問號,因為問號是選項分隔符號(AMP 原文)。地圖與模式透過啟動參數裡的地圖名與 ?game= 指定;模組要先自己下載再上傳到 HarshDoorstop/Mods,伺服器端不會自動下載 Workshop 內容。本作沒有存檔,備份範圍只有 Saved/Config 與 Mods,且要先停服(伺服器端在關閉時才寫設定檔)。伺服器端有穩定與開發兩軌,用戶端必須同軌,開發軌的可執行檔案名不同需要改名或軟鏈。