ニュース

Counter-Strike CS1.6ネットコード解説

0コメント | 0トラックバック | 2004-04-01 17:29:00 | Japan Yossy

schroet.comにbdsさんのネットコード解説コラム『Counter-Strike 1.6 Net Code Explained』が掲載されていたので読んでみました。
以下は翻訳です。

Explanation

ゲームプレーに致命的な影響を与えるchoke現象とネットコードの説明をはじめよう。

Choke

Chokeは以下のようにして測定される。

Current time + 1/cl_updaterate
Current time + (number of bytes just sent / rate setting)

したがって、高いcl_updaterate値でプレーしてあなたの帯域幅がそれを扱うことができない場合、より多くのchokeを得ることになるだろう。
また、ゲーム世界の多くのプレーヤーから送られてくるパケットによってもchokeを受け取ることになる(あなたの大域が処理できない場合)。
最後に低いrate設定でもまた、より多くのchokeを得るだろう。
chokeが有効である場合、サーバーはchokeがなくなるまで、1/cl_updaterateの倍数待って、すべての構造上のクライアントにパケットをその後送ることができるかどうか確かめようとする。

Interpolation

Half-Lifeエンジンがinterpolationを使用する方法は位置とそれらの位置が正確であった時間を格納することである。
そのとき、それはhistoryを通じてベストの2つのポジションのためにex_correctを使用する。
(これが最後の2つのポジションでなければならないというわけでないことに注意)
これは、ex_interpの値がいかなる数値が使われてもその位置間に同じ速度でプレーヤーが移動することを意味しする。

プレーヤーがより速く動くかもしれない唯一のケースは、巨大なパケット落ちがあった後、
もしくはプレーヤーがゲーム世界の後ろにいて、現在の場所に速く移動しなければならないという遅れの元にいる場合である。

  • cl_updaterate/cl_cmdrate

なぜデフォルトの値が比較的低く設定されているかというと、このゲームはいろいろな回線のユーザーに対してスムーズにインターネットを介したゲームをできるように設計してあるからである。

また、HLDSは多くのPCで動かなければいけないし、CPUを使いすぎてもいけない。
私の書いた前回のcl_updaeterate、cl_cmdrateのコラムのように、cl_updaterate、cl_cmdrateはそれぞれserver-client、client-server間のトラフィックの流れを調整する。

しかし、低い値にしたからといって、不正確になるわけではなくない。
(これはclientが多くのパケットをロスしたときに起こる)

HLエンジンの動きと1対1の通信が必要なわけではない。
高すぎるcl_updaterateとcl_cmdrateを使ったとき、以下のような問題があるあなたのclientの回線がトラフィックを処理しきれず、chokeを受け取ったとする(前記で説明したとおり)あなたのプレイしているサーバーに、大きな負荷が掛かり、とても小さく、多くの動きがサーバーに送信され、計算されることでCPUパワーを消費し、server-lagの原因ともなる。

重要なのは回線幅と、PCが実際に処理できる値に調整することである。
大会などLANにおいては、より整合性を取れるように高い値に設定すべきである。

  • ex_interp
  • ex_extrapmax
  • ex_correct
  • ex_maxerrordistance 1.6にex_の設定はないので割愛。
  • sv_lan

CPLがNet Codeのポリシーをデフォルトのupdaterate、cmdrateから高い値に変えたとき、LANの大会で多くのChokeが発生知ることに気づいた。
これはサーバーがsv_lan 1のとき、HLDSは強制的に全てのクライアントのrateを10000にするからである
これは当初は上限ではなかったが、クライアントのデフォルトの値を2500から10000に上げたらLANでよりよく感じられた。
これはCounter-Strikeのバージョンで修正される。
しかしHLエンジンの上限はrate 20000なのでこれ以上の値は無視される。

  • sys_ticrate

この値はDedicated Serverのフレームレートの上限である。
値を高く設定すれば、より多くのパケットをクライアントに送ることができる。

  • sv_maxupdaterate

この値はサーバーのupdaterateの上限である。
値を高く設定すれば、より多くのパケットをクライアントに送ることができる。
(もしサーバーで十分なフレームレートがでていれば)

スポンサード リンク

ニュースレート : −

negitaku.org RSS RSSフィード はてなブックマークに追加 はてなブックマークに追加 [ 7,325 ヒット]

ページのトップへページのトップへ

コメントする

コメントをするにはユーザー登録し、ログインする必要があります。

リンクテンプレート

リンクやトラックバックの際に、コピーしてご利用下さい。

表示例: CS1.6ネットコード解説 | negitaku.org

トラックバック

トラックバックスパム対策を導入しているため、このサイトもしくは記事へのURLを含まないエントリからのトラックバックは登録されませんので、ご了承ください。

このエントリへのトラックバックURL

PR

SteelSeries

プロゲーマーが開発・愛用する『SteelSeries』のゲーミングデバイス。

ニュース検索

スポンサード リンク

ゲーミングデバイス

マウスコンピューター/G-Tune

ハイエンドゲーマー向けPC
G-TUNE』シリーズ


インテリマウスエクスプローラー3.0

ゲーマーの要望に応えてついに復刻
インテリマウスエクスプローラー3.0


PC165

ゲーミングヘッドセットの最高峰
ゼンハイザーPC165


Realforce106UB

日本の有名FPSプレーヤー達が愛用
Realforce』シリーズ


Steel Series

プロゲーマーが開発に協力
Steel Series


BenQ FP93GX

ゲーマー向け液晶モニタ『BenQ FP93GX


wasd.jp | e-Sports・プロゲーマー御用達・マウス・マウスパッド・デバイス情報サイト

ゲーミングデバイス情報サイト
wasd.jp


DHARMAPOINT

日本が生んだゲーミングデバイス
DHARMAPOINT