キモブロ

Please spy check please, Fucking retard

MvMのサーバーサイドの処理落ちを減らすためにtickrate 40にしてみた

MvM鯖は敵の数が増えてくるとめちゃくちゃラグくなる。そこでいろいろ設定を変えて改善できないか試して見ることに。具体的にはtickrateを変更してみた。tickrateとはサーバー側のFPSのことだと思うとわかりやすい。デフォルトでは66なんだけど、これはつまり1秒間当たり66回サーバー側が処理を行えるということ。より細かな動作をさせるためにはtickrateを上げたほうが良いのだが、その分処理が増えてサーバー側の処理が重くなる。

で、TF2は固定でtickrateが66なんだけど、まずはTickRate Enablerをインストールしてtickrateを変えられるようにした。
http://didrole.com/tickrate_enabler/

srcds_runの起動時のオプションに-tickrateを使えるようになるのでこんなかんじで

RDTSC_FREQUENCY=2400.000000 $HOME/srcds/tf/orangebox/srcds_run -game tf +map mvm_redbrier_b3 -tickrate 40 +maxplayers 32 +ip 0.0.0.0

こんなかんじでRDTSC_FREQUENCYっていう環境変数を指定しとくと、毎回起動時にCPUのベンチマークしなくて済むようになって高速に起動できる。2400.00000 って値についてはCPUによって変わるので起動時のログを見て適切な値を設定しといてください。あとこの例だとつけてないけど-autoupdateつけといたほうがいいな。自動アップデート機能。


そしたら次はサーバー側のtickrateをいじったので、クライアントサイドのcmdrateとupdaterateの無駄を減らしてサーバーの負担を減らします

sv_maxupdaterate 40
sv_maxcmdrate 40

終わり。ためしにテストプレイしてみけど敵が増えてきても前よりはラグを感じずにプレイ出来た。


tickrateかえると問題があるのは事実、というかtickrateが無効化されて66で固定化されてる理由ってのがそれなんだけど、たとえばCS:Sだと銃の散弾の仕方とかが変わるみたいだし、L4D2だとブーマーのゲロの飛距離が変わったりするんだけど、TF2だといまのところ気づかないというか、無さそうな感じがするので#1で試験運用。なんとなくよさげだったら全適用する予定