您尚未
登入
註冊
忘記密碼
搜尋
贊助
贊助本站
數位公仔
紀念T恤
紀念馬克杯
廣告
刊登廣告
廣告價格
線上申請刊登
用雅幣刊登
免費刊登
目前客戶
簡訊
簡訊說明
購買金幣
發送簡訊
預約簡訊
發送記錄
好友通訊
罐頭簡訊
論命
數位論命舘
免費排盤工具
葫蘆墩 優生造命
葫蘆墩 八字命書
影音論命(葫蘆墩)
影音占卜(葫蘆墩)
購買金幣
星座分析
孔明神數
周公解夢
星僑線上論命
娛樂
影 像 行 腳
數 位 造 型
數 位 畫 廊
心 情 日 記
公 益 彩 券
送生日蛋糕
俄羅斯方塊
四 川 省
猜 數 字
比 大 小
泡 泡 龍
許 願 池
萬 年 曆
經 期 計 算
體 重 測 量
音 樂 點 播
衛 星 地 圖
時間戳字幕
男女聊天室
求助
論壇守則
會員等級
會員權限
語法教學
常見問題
最新活動
打工賺雅幣
首頁
新版首頁(全頁)
傳統首頁(全頁)
新版首頁(選單)
傳統首頁(選單)
MyChat 數位男女
命理風水
15
星僑五術軟體
4
葫蘆墩命理網
5
命理問答
9
四柱八字
1
紫微斗數
1
姓名學
手面相
易經占卜
1
風水研討
1
擇日&三式
1
西洋占星
無視論塔羅牌
10
修行&武術
1
中醫研討
五術哈啦
1
電腦資訊
13
硬體討論
5
超頻 & 開箱
3
數位生活
2
PDA 討論
手機討論區
軟體推薦
2
軟體討論
6
Apple 討論
1
Unix-like
網路&防毒
2
程式設計
網站架設
4
電腦教學資源
生活休閒
14
休閒哈啦
7
感情世界
2
上班一族
5
國考&法律
7
生活醫學
4
運動體育
1
單車討論
1
釣魚討論
6
旅遊討論
4
天文觀星
3
攝影分享
8
圖片分享
4
數位影視
2
笑話集錦
3
興趣嗜好
13
文學散文
7
繪圖藝術
1
布袋戲
3
動漫畫討論
3
美食天地
6
理財專區
心理測驗
1
汽、機車
3
寵物園地
模型&手工藝
4
花卉園藝
魔術方塊
獨輪車專區
電玩遊戲
13
遊戲歡樂包
4
CS討論
8
Steam
3
MineCraft
2
東方Project
英雄聯盟LOL
1
單機遊戲
2
WebGame
3
線上遊戲1
6
線上遊戲2
5
電視遊樂器
1
掌上型遊戲
2
模擬器遊戲
1
工商服務
6
虛擬城市
7
好康分享
新品販售
二手拍賣
1
租屋&找屋
工商建議區
1
站務專區
10
最新活動
活動成果
數位造型
心情日記
個人圖庫
新人報到練習
論壇問題建議
1
榮會及電子報討論
-最近版區-
-最近瀏覽-
»
電玩遊戲
遊戲歡樂包
CS討論
Steam
MineCraft
東方Project
英雄聯盟LOL
單機遊戲
WebGame
線上遊戲1
線上遊戲2
電視遊樂器
掌上型遊戲
模擬器遊戲
»
CS討論
CS插件區
CS模組區
CS地圖區
CS教學區
CS團隊/伺服器
槍模研究區
CS提問區
»
CS教學區
»
CS1.6網絡參數詳細解釋
手機版
訂閱
地圖
簡體
您是第
14858
個閱讀者
可列印版
加為IE收藏
收藏主題
上一主題
|
下一主題
紫龍
級別:
小人物
x10
x110
分享:
▼
x
0
[] CS1.6網絡參數詳細解釋
在這篇文章中,我希望能讓大家瞭解一下CS中的一些網絡上的參數。在1.3時代,當歐洲和美洲的玩家在CS上強烈碰撞的時候,網絡參數在
當時是一個全新的主題。1.5里,玩家們開始嘗試從這些命令當中研究,發掘某些特性。事實上,大多數人都採用了正確的設置。當我們都
以為對於網絡參數的爭論結束的時候,一個看似神秘的參數ex_interp在1.5中被重新提出,引起了一系列的風波。然而,在1.6出現之後,
Valve修正了網絡參數的這個錯誤(指的是ex_interp),同時也製造了更多的混淆。如果沒有混亂的話,正確的設定早已經有效的被Valve反
作弊系統(VAC)所鎖定.到了現在,卻仍然是一個混亂的局面。
在文章中,我的觀點是積累了2年的經驗和長期觀察的結果。最近,一些參數的問題又引發了我的興趣:管理員強制性地設置了錯誤
的數值,玩家們在LAN中使用正確的參數卻被硬性地踢出等等。有些人可能會記得我,我就是當年發表那篇"ex_ cammands explained(
ex_ 系列參數詳解)"的人。在這篇文章中,有很多信息是我與Valve的員工用Email交流之後獲得的。(大家可能會奇怪,他們正在
解決一些demo的問題。)我想再次提出,文章不會讓你成為下一個SpawN,不過能幫助消除一些錯誤的監控(譯者註:主要指管理員和一些
軟件的監控錯誤)並讓大家有一個更具說服力更具準確度的遊戲環境的理解。
下文中,我將首先說明一些個人認為重要的命令的大體介紹,並帶出他們的實際功效。然後我將會推薦一些數值,並解釋其中的原因
。
首先說明:
sv_ 以及sys_ 系列參數,是服務器端的命令,如果是在非本地服務器上修改這些系列參數的命令,你需要獲得服務器管理員的權限、
ex_interp和cl_updaterate的關係是非常緊密的,這兩個參數的說明都請必須閱讀。
文章中假設玩家的網絡都在寬帶接入的方式下進行。
參數介紹:
cl_cmdrate:
這個命令決定了客戶端向每秒鐘服務端發送數據包的數量。很明顯地,這個參數的數值設定得越高,那麼服務器就能相應客戶端處理信息
的速度越快,基本上數值設定得高是沒什麼錯的。如果你與你的朋友都在局域網中遊戲,而延時非常嚴重,那麼很可能就是這個參數沒有
設置好。事實上,大多數的寬帶接入沒有提供足量的上行帶寬,這也恰好是這個命令需要的。
cl_updaterate:
cl_updaterate與cl_cmdrate是類似的,不過方向是相反的。它控制的是客戶端每秒鐘從服務端接收數據包的數量。因此,它和你的下行
帶寬是緊密相連的。cl_updaterate的數值設定得越高,你和服務器的同步率就越高。因為只有服務器才會決定你開槍是否命中,所以你需
要足夠的更新數據包(upadates)。
sv_maxupdaterate:
cl_updaterate控制客戶端每秒接收來自服務端的數據更新包數量(只對客戶端本身控制),而sv_maxupdaterate就指定了服務端每秒發
送多少數據包到客戶端上(對服務端進行控制)。因此,客戶端cl_updaterate的數值設定比服務端sv_maxupdaterate的數值要高,是不能
增加客戶端接受的更新數據包數量的。
sys_ticrate:
這個命令設定了服務器每秒能處理的最大數據「幀」數。默認設定下,這個參數設置為100。為什麼服務器的fps那麼重要?這個參數
決定了服務器的感應能力。我敢肯定我們都覺得服務器好像在TI-83 Plus(圖形計算器)上工作一樣,而我們就是在LAN上進行這些圖形計
算器的處理。
sys_ticrate只是指定你的服務器所能計算的最大fps。默認設定下,服務器不會達到你所設定的數值,因為運算系統可能在處理某些
其他的進程。市面上有不同的加速("boost")服務器fps的軟件,不過大多數(如果不是全部的話)服務器加速軟件是靠網絡
服務器供應商處理的,記住,這樣的加速會加重服務器CPU的負荷。(出於某些原因,在de_inferno和de_aztec上用服務器加速軟件的話,
會劇烈增加CPU的負荷,大家可能曾經有過這樣的體驗。)在默認設置下,Half-life服務器,基於Win32的服務器一般在64fps,而基於Linux的
服務器一般在50fps。如果使用加速軟件的話,可能可以提升到512fps或者更高。這麼高的服務器fps是受到爭議的,不過我感覺如果在200fps左
右就能感覺到明顯的改進了。
一致性才是關鍵的。Fps從100飆升到512,這樣可能會帶來一個更差的遊戲環境,因為sys_ticrate只在150左右,150是大多數服務器
硬件所能承受的了的。
如果你有一個服務器的權限,而且想測試一下服務器的fps,那麼在控制台輸入rcon stats,看看你的服務器是否加速了:暫時地把
sys_ticrate調到10000,然後在看看服務器的fps是否超過100,如果超過100,那就是加速了的。
ex_interp:
在解釋這個參數之前,我們看看Webster字典對interpolate(添加,改寫)這個詞的解釋.
(以下是Webster字典的解釋,譯者這裡不將原英文去掉,是讓大家容易看到原有的解釋)
Main Entry: in·ter·po·late
主要條目: in·ter·po·late
3 : to estimate values of (a function) between two known values
3 : 評估兩個已知值之間的量的關係
intransitive senses : to make insertions (as of estimated values)
不及物動詞:進行插入(到已評估的值之中)
每一秒你只能從服務器獲得有限的更新,因此是不可能每次都那麼精確地及時地與服務器達到同步。舉個例子:
下面的圖形顯示的是圓的線性內插法。當數據點(更新數據包)的數量增加的時候,則插入的量則變得更加地準確。在CS中,你可以
將這個比喻成在一秒內一個人物位置變化所跨越的範圍。在服務器看來,這是一個精準的圓圈,而從客戶端就需要在兩個「真正」的數據
包中插入一定的數據。
rate
我之前已經假設rate的數值為20000。把它調到20000以上不會有任何的改善,還可能會造成更不好的影響。
推薦值:
rate 20000.
sv_maxrate:
這個值在大多數的情況下設置為0。我會解釋一下為什麼在線上遊戲時這並不是個理想的數值。sv_maxrate 0 會檢測每一個客戶端rate的
設置,並盡量滿足每一個玩家的需求。假設對half-life引擎來說每一秒允許玩家使用的rate參數的數值超過20000。如果有一個玩家將這
個數值設定為一個超高值(比如:999999999),那麼服務器會盡量的去滿足這個玩家的需要。那麼這樣會潛在的浪費帶寬,並且會對服務
器造成更多的負擔,也許會超過服務器所能承受的範圍。因此,我提出一個比較安全的建議,sv_maxrate在20000的時候會有比較好的表現
。在現實中,sv_maxrate 0和sv_maxrate 20000的效果對遊戲的進行而言可能都是一樣的,不過提高一些預防的範圍總是好的。
推薦值:
sv_maxrate 20000.
cl_cmdrate:在理想情況下,這個數值應該和服務器的fps是相等的(不是有些人所認為的客戶端的fps)。如果你對服務器的更新超過了
在同一時段內服務器所能處理的幀數的話,多餘的更新包會被服務器所丟棄。因此,cl_cmdrate設置得太高會有不好的效果,直接造成帶
寬的浪費。
推薦值:
cl_cmdrate與服務器的fps值相等或者稍高。
ex_interp:
把這個參數設為0或者什麼都不寫。CS會自動的把ex_interp設置為1/cl_updaterate(比如你的console窗口會顯示「ex_interp forced
up to xx msec")。這就是你想你的客戶端要進行插入的時間長度。改變cl_updaterate會自動地改變ex_interp(當ex_interp=0時發
生)。因此我推薦只改變cl_updaterate,讓CS去設置你的ex_interp。現在已經不可能把ex_interp設定得比1/cl_updaterate更低了,把
它設定得高一些卻會產生錯誤。設置一個比1/cl_updaterate更高的值會造成你開槍的時候打在屏幕中人物的後面(譯者註:就是實際上你
並沒有打中人物,而只打在他的後面)。舉個例子,如果你用cl_updaterate 101,那麼ex_interp應該是1/101=0.009(9毫秒),那麼使
用默認的ex_interp 0.1,而cl_updaterate還是這麼高的話,那麼之前所說的錯誤就會產生。
推薦值:
ex_interp 0
cl_updaterate:長期以來,大家都認為cl_updaterate的規定是在101,這樣能使你獲得少量的"choke(阻塞)"。Choke可以用
命令net_graph 3看到。個人認為,choke是我不會考慮的東西。其實cl_updatarete的最佳值是很複雜的。CAL的服務端的config提供sv_maxupdaterate為
101,那麼很多人會總結為我們也應該把cl_updaterate設置為101。在理想的狀況下,這是正確地,不過在實際情況下,並不是那麼有用。
在北美,大多數的服務器都不能負荷每秒100幀的運算,這就意味著服務器無法發出每秒100個更新包,而玩家們就會覺得很「卡」了。由
於我們從客戶端如果沒有遠程控制密碼(遠程控制權限)的話是無法窺探服務端的fps的,如何選擇最適當的數值就像猜謎遊戲一樣了。你
可能會說,「好吧,那就把cl_updaterate設置為101就不管了,我會獲得服務器給我更新的最大值。」問題就在忽視了cl_updaterate對ex_interp的
影響以及兩者之間微妙的平衡關係。尋找一個適當的cl_updaterate值(記住要把ex_interp先設為0),從101開始逐漸減小,你會發現人
物只是「微小的閃動」(譯者註:原文是「slightyly skip around」,從實際操作來看,我們可以看到人物的重影,就像閃動一樣,我就
把它翻譯成「閃動」了)。「微小的閃動」是優先的選擇,只要ex_interp等於1/cl_updaterate,那麼人物就會在應有的位置上出現。在
不同的服務器中遊戲你都要改變cl_updaterate。如果必要的話,把它設置低於50也不要擔心。預處理系統會發揮好它的作用的。備註:大
多數的公眾服務器都會使用默認的sv_maxupdaterate 30,那麼在那種情況下,cl_updaterate就最好了。
請注意,從一個低的cl_updaterate數值(比如說20)逐漸增加是不行的,一旦你把它設定得更高,ex_interp是不會重新設定的,你
需要不斷手動地將ex_interp置0。
推薦值:
cl_updaterate應該與服務器的fps相等,不應該超過服務器的sv_maxupdaterate數值
sys_ticrate:
找合適的sys_ticrate就需要進行一些實驗了。首先,如果你的服務器沒有被加速,提高這個數值並超過100就不會有任何效果。如果
你正好租用了一個高性能的服務器的話(你的服務器可能已被加速),那麼你就有空間這麼做。總體上來說,服務端有更高的fps是一件好
事,提高sys_ticrate超過200(或者比200低)是毫無效果的。如果把sys_ticrate設為9999,你的服務器fps會根據現有的情況在150到1000之
間不停的跳變,把sys_ticrate設定為低於200的數值會有一個更一致的環境,不過會對服務器的性能有所減弱。同樣的,在一個物理服務
器(一台電腦或者服務器主機)上都可能運行不同的HLDS(Half-Life Dedicated Server),那麼如果每一個HLDS都把sys_ticrate設為10000的
話,服務器的CPU的負荷就相當大了。這樣的情況下,會潛在地造成在那台物理服務器上的性能的下降(也可能提高你每月的租用費用)。
最後,服務器的fps只會在某幾個數值上作用,舉例來說,我的服務器fps只在85,102,128,170,256等數值上,而不是在他們之間(比
如91)。如果你把sys_ticrate設為100,你的服務器fps最大值就會在100以下(比如85),因此,設定sys_ticrate大於目標fps數值約20到
50左右比較合適。
推薦值:
sys_ticrate 110-180,結合你的服務器性能考慮。
關於局域網對戰的備註:
局域網對戰,比如the CPL,cl_updaterate設置為101,這與局域網服務器的質量有關。通常在LAN上,只有一小部分的服務器會在虛
擬盒中運行,因此服務器使用更少的資源。如果服務器都加速超過了100fps,那麼cl_updaterate 101就是一個非常理想的數值。判斷一個
LAN服務器最快的方法就是看看玩家們ping的平均值。一個運行在50到64fps的默認服務器,在LAN下的平均ping值為15ms,而加速過的服務
器會使ping值下降,大概在5ms左右。據我所知,the CPL,ESWC還有WCG都是使用加速過的服務器的。
[ 此文章被紫龍在2005-11-22 09:19重新編輯 ]
聊天聊人不聊名--交友網友我最愛
紫龍號稱一條龍--號稱古來最可愛
x
1
[樓 主]
From:台灣台灣網竣 |
Posted:
2005-11-22 08:29 |
q!
級別:
小人物
x0
x1
分享:
▲
▼
ssssss
此文章被評分,最近評分記錄
財富:-50 (by sk@.@) | 理由:
灌水
x
0
[1 樓]
From:香港城市電訊 |
Posted:
2010-12-12 11:28 |
arck
級別:
小人物
x0
x2
分享:
▲
▼
這篇文章的原作者是你嗎?
因為對cs1.6有興趣,想找懂得參數的人一起來討論
更改m_side是更改滑鼠平移加速度的意思嗎
[ 此文章被arck在2011-04-18 06:35重新編輯 ]
cs1.6 ID:cooper
如果有-1,也請找我唷!
http://www.socgame.com.tw/bbs/index.php?s=0d5bde38e8eeb990b103ac2df78f8bc9&showtopic=109198
x
0
[2 樓]
From:臺灣中華電信股份有限公司 |
Posted:
2011-04-18 06:25 |
asdf64559
級別:
小人物
x0
x0
分享:
▲
感謝..很實用
x
0
[3 樓]
From:臺灣碩網網路娛樂股份有限公司 |
Posted:
2011-10-09 13:27 |
MyChat 數位男女
»
CS教學區
Powered by
PHPWind
v1.3.6
Copyright © 2003-04
PHPWind
Processed in 0.056429 second(s),query:16 Gzip disabled
本站由
瀛睿律師事務所
擔任常年法律顧問 |
免責聲明
|
本網站已依台灣網站內容分級規定處理
|
連絡我們
|
訪客留言