引用 | 編輯
amore12
2006-04-02 11:59 |
樓主
▼ |
||
x1
CS:Source 伺服器架設教學 (Win Dedicated Server) by A+ | MiNiTotor^o^ (本文歡迎自由轉貼及複製) 一. 前言: 從 HL2 發行到現在也已經快半年了, 但台灣的 CS:Source 伺服器仍然少的可憐 筆者認為最主要的原因是沒有人去推廣, 而 CS 1.6 的老玩家們也不願意為了 CS:Source 去升級自己現有的配備, 使得 CS:Source 在這方面似乎呈現斷層狀態 為了推廣台灣的 CS:Source, 因此這篇伺服器架設教學文件終於誕生 CS:Source 伺服器的架設和 CS 1.6 是大同小異, 差別只在於一些 cvar 和 plugin 的放置方式有了些改變, 這些東西在本文中都會詳細的提及 二. 如何安裝及啟動 CS:Source 伺服器: 1.首先下載 hldsupdatetool.exe , 這是 HldsUpdateTool 安裝程式 可以從 http://steampowered.com/download/hldsupdatetool.exe 下載完畢後馬上進行安裝, 本文件是假設裝在 d:\hlserver 目錄 安裝完畢後請執行一次 HldsUpdateTool.exe 以取得最新版本 2.安裝好 HldsUpdateTool.exe 之後, 若沒有 steam 帳號, 請開啟你的 steam 馬上申請 一個帳號, 筆者建議伺服器用的帳號應該另外申請, 不要與自己的遊戲帳號共用 若已經有 steam 帳號, 那麼我們開始安裝 CS:Source 伺服器吧 :D 3.為了以後的更新方便, 建議將以下內容寫到一個 .bat 檔, 筆者是取名為 update.bat 而這個檔案就放在 d:\hlserver 目錄內, 可以放一個捷徑至桌面 檔案內容如下: ======================= d: cd \hlserver .\hldsupdatetool -command update -game "Counter-Strike Source" -dir . -username <steam帳號> -password <steam密碼> ======================= 我們來解說一下這行命令的各參數的意義, -command 後面可以搭配 upadte 和 list list 參數可以列出所有可以架設的遊戲名稱, update 就是安裝及更新遊戲 -game 是指定要架設的遊戲, 名稱可以由 -command list 查出來 -dir 是要安裝的該遊戲的所在目錄, 我們就將它裝在 HldsupdateTool 同目錄 -username 是指要登入的帳號名稱, -password 則是密碼 如此一來只要執行 update.bat 就可以幫你的伺服器作更新檢查 當你第一次執行時, HldsUpdateTool 會從網路上將伺服器需要使用的一些檔案 下載到你的硬碟, 因此會需要很長的一段等待時間, 所需空間大約是 800MB 4.經過好幾個小時的等待, 突然發現 HldsUpdateTool 已經停止下載了!! 嘿嘿... 終於讓我們等到了啊... 該來看看跑起來是怎樣的情形了... 啟動 CS:Source 的方法, 同樣的我們在 d:\hlserver 目錄下建立 一個 start.bat 檔案, 檔案內容如下: ======================= d: cd \hlserver .\srcds -console -game cstrike +maxplayers 24 +map de_dust2 +ip <你的伺服器IP> -port 27015 ======================= 上面 -console 參數是讓 srcds 執行後只有 console 指令模式, 而不會跑出圖形 設定界面這樣的好處是不必每次啟動伺服器時都重新設定一些伺服器參數, 另外也 比較節省記憶體 -game 參數是指定啟動的遊戲, 這裡要注意一下後面的遊戲名稱是 cstrike, 而不是 "Counter-Strike Source", 因為在 d:\hlserver 目錄裡 CS:Source 的目錄就叫作 cstrike, 所以這裡的遊戲名稱就使用 cstrike +maxplayers 是設定伺服器最大的玩家數, +map 是指定伺服器啟動後的第一張地圖 +ip 後面要指定你的伺服器的網路 IP, 在 CS:Source 這個 +IP 參數一定要設定 因為這牽扯到 rcon_address 和 rcon_password 的使用, -port 參數可用可不用 如果未指定, 那麼預設 port 是 27015 , 但如果伺服器主機同時要開兩個以上的 CS:Source Server, 那麼就可以分別指定不同的 port 5.將伺服器啟動後, 快開啟你的 CS:Source , 將你的伺服器用新增的方式加到我的最愛 裡, 然後再連連看, 如果沒意外的話, 恭喜你已經成功的架起一個基本的 CS:Source 伺服器了, 但是怎麼伺服器名稱看起來很鳥... 這個別急, 我們後面再慢慢講解伺服 器設定的部份 三. 伺服器相關設定 1.CS:Source 伺服器的設定檔位置和 CS 1.x 有所不同, CS:Source 的設定檔是放於 d:\hlserver\cstrike\cfg 目錄內, 檔名一樣是 server.cfg 2.server.cfg 的設定內容, 以下是筆者自己的伺服器設定 (請勿亂試 rcon passowrd, 若被 ban 掉後果自負 XD) =================================================== hostname "[TW][PigC1] -= 終極殺陣X =- " // 伺服器名稱 rcon_password "ilovecss" // rcon 密碼設定 sv_password "" // 進入伺服器所需的密碼設定, 沒設即不需要密碼 sv_cheats 0 // 伺服器 cheat 功能 (0/1 - 關/開) sv_maxrate 0 // 伺服器最大 rate sv_minrate 0 // 伺服器最小 rate sv_allowdownload 1 // 允許下載檔案 (如: 新地圖) sv_allowupload 1 // 允許上傳檔案 sv_gravity 800 // 地心引力設定值, 預設 800 sv_alltalk 0 // mic 是否讓所有人聽到的設定 (0/1 - 關/開) sv_region 4 // 設定伺服器的所在區域, 4 為亞洲 sv_voiceenable 1 // 是否允許玩家使用 mic (0/1 - 關/開) sv_lan 0 // 伺服器是否為 LAN Server (0/1 - 關/開) sv_downloadurl "http://1.2.3.4/~totoro/css/cstrike/" // 這是設定當伺服器放有新地圖時 // 玩家可以不直接從伺服器下載地圖 // 而可以介由網站的網路協定來下載 // 這樣的好處是可以加快下載的速度 // 若設定為 "" 則是使用伺服器的方式下載 tv_enable 1 // 開啟 Source TV (0/1 - 關/開) decalfrequency 60 // logo 的顯示時間 (單位: 秒) mp_playerid 1 // 是否顯示敵人及隊友名字, 1:不顯示敵人 2:皆不顯示 mp_flashlight 1 // 是否允許手電筒 (0/1 - 關/開) mp_allowspectators 0 // 是否允許觀察者 (0/1 - 關/開) mp_footsteps 1 // 是否允許腳步聲 (0/1 - 關/開) mp_falldamage 1 // 從空中掉落地面是否造成傷害 (0/1 - 關/開) mp_autokick 1 // 是否將閒置及TKer自動踢出伺服器 (0/1 - 關/開) mp_timelimit 30 // 地圖的換圖時間設定 (單位: 秒, 0 無限制) mp_winlimit 15 // 某一邊贏得 15 回合後換地圖 (0 無限制) mp_fraglimit 0 // 某玩家獲得多少 frag 後換地圖 (0 無限制) mp_maxrounds 0 // 所有回合數達到多少後換地圖 (0 無限制) mp_freezetime 3 // 回合開始前的凍結時間 (單位: 秒, 0 為無凍結時間) mp_roundtime 3 // 回合時間 (單位: 分鐘) mp_buytime 0.25 // 購買裝備時間 (單位: 分鐘) 0.25 X 60 = 15 秒 mp_c4timer 35 // C4 安裝後所需的爆炸時間 (單位: 秒) mp_forcecamera 1 // 玩家死後是否只能看到同隊畫面 (0/1 - 關/開) mp_fadetoblack 0 // 玩家死後畫面是否為黑幕 (0/1 - 關/開) mp_friendlyfire 1 // 玩是否可以傷害到隊友 (0/1 - 關/開) mp_tkpunish 0 // 是否開啟 TK 懲罰 (0/1 - 關/開) mp_autoteambalance 1 // 是否啟動自動隊伍平衡功能 (0/1 - 關/開) mp_limitteams 1 // 隊伍人數最大可相差幾人 mp_hostagepenalty 3 // 殺幾個人質後將被踢出伺服器, 搭配 mp_autokick 使用 log 1 // 啟動伺服器 log 功能 sv_logbans 1 // 將伺服器的 ban 人資訊記錄到 log 檔中 mp_logdetail 0 // 是否啟用詳細 log 功能 (0/1 - 關/開) // 啟用後會將玩家的每一個開槍資訊都記錄下來 // log 檔案會變超大 exec banned_user.cfg // 執行一次 ID ban list 設定檔 exec banned_ip.cfg // 執行一次 IP ban list 設定檔 =================================================== 4.設定伺服器的歡迎畫面 在進入每個伺服器總會有個畫面顯示該伺服器的一些規則或資訊的內容 這個設定檔存放於 d:\hlserver\cstrike\motd.txt 你可將此檔案改檔名為 motd.htm , 然後再用 frontpage 或 dreamweaver 等網頁 編輯軟體去修改裡面的內容, 改好後再將檔名回復成 motd.txt 但是要注意的是有些 html 標籤似乎會讓畫面顯示不出來 內容盡量簡單明瞭, 而且不要太長, motd.txt 檔案在顯示時有長度的限制 若內容太長也會造成無法顯示 5.設定伺服器地圖列表 該檔案存放於 d:\hlserver\cstrike\mapcycle.txt 裡面的地圖內容就是伺服器所跑的地圖順序 一般而言你只要將你要新增的地圖放進 d:\hlserver\cstrike\maps 之後 並且在 mapcycle.txt 裡加入你的地圖名稱, 再重新啟動伺服器 那麼新加入的地圖就會生效, 並且被伺服器讀取到 筆者在這裡教大家一個不必重新啟動伺服器的方法 每當更新過 mapcycle.txt 檔後, 在伺服器的 console 下執行 mapcyclefile "" mapcyclefile "mapcycle.txt" 如此一來伺服器就會將 mapcycle.txt 重新載入一次 6.Source TV 的使用及設定 在 CS:Source 中的 HLTV 功能就叫作 Source TV 首先先說說該怎麼啟用它, 在 CS 1.x 中, HLTV 是必須另外執行一支程式來跑 HLTV 但在 CS:Source 中則不必這麼麻煩了, 它是附屬在伺服器裡面的 啟動方式是在伺服器啟動之後, 將 tv_enable 設為 1, 然後再換一次地圖就會生效 如果成功之後, 你會看到伺服器裡有一個叫 "SrcTV" 的 "玩家" 一直躲在觀察者 Source TV 一樣可以錄 Demo, 錄出來的 Demo 是可以切換到所有玩家的視角的 Demo 檔案會存放於伺服器端, 位於 d:\hlserver\cstrike 裡面 Source TV 除了可以錄 Demo 之外, 還提供讓其他人連進 Scource TV 去觀看伺服器 的戰況, 連線時的架構看起來是這樣的 觀戰者們 <------> Source TV SV <-----------------------> CS:Source SV 連線 啟動後加入伺服器觀察者 下面筆者就列出 Source TV 有那些指令可以使用 ============================== tv_autorecord // 於每次換地圖之後就自動錄 Demo tv_delay // Source TV 在送畫面給其他觀看者的延遲時間 (單位: 秒, 預設 10 秒) tv_maxclients // 允許最大觀看者人數 (預設 128) tv_maxrate // 最大的網路頻寬傳輸, 0 為不限制 tv_name // Source TV 在伺服器中顯示出來的名稱 tv_password // 設定連進 Source TV 所需要的密碼 tv_port // 設定 Source TV 所使用的 port, 預設是 27020 tv_record // 錄製 Demo, 格式: tv_record <filename> tv_relay // 連線到其他 Source TV Server, 並傳送該 Server 的畫面給觀看者 tv_relaypassword // 連到其他 Source TV Server 所需要的密碼 tv_retry // 連到其他 Source TV Server 的重連次數設定 tv_status // 顯示目前 Source TV 的狀態及人數 tv_stop // 停止 Source TV tv_stoprecord // 停止 Demo 錄製 ============================== 其他未知其用途的指令筆者就先不介紹了 當 Source TV 啟動後也設定好了, 那該如何連到 Source TV Server 觀看呢? Source TV 在 Steam 的伺服器列表基本上筆者沒看到它們被刷出來過 所以連線的方式只有一個, 就是在 console 下打入像這樣的指令 connect 211.78.160.103:27020 這樣就能夠連進 Source TV Server 了 四. 結語: 在龍之上卷簡單的介紹了一個伺服器從無到有的架設及設定 只要跟隨以上的步驟, 一個新的伺服器就可以誕生了 在龍之下卷, 筆者將介紹 CS:Source 伺服器的外掛安裝及使用方式 筆者會以曾經參與國外某 Plugin 的測式心得和功能來作詳細解說 如果有人願意撰寫 CS:Source 的 Plugin, 筆者也願意跟他分享經驗 但是前提必須具備有 C/C++ 程式語言的基礎 x3
|
引用 | 編輯
藍色夕
2006-04-02 20:53 |
1樓
▲ ▼ |
謝謝...不錯的文章
簡單一點的方法: 1.開啟STEAM菜單 2.打開工具欄 第二個選項(需安裝) 3.打開之後 會發現 竟然是CS:S的HLTS ... 4.確定後 開啟SV 進入CS:S 輸入IP 就有了 x0 |