Linux向けHLDS謎起動コマンド臭

未確認のもの多し。
engine_i686.soをバイナリエディタで眺めてそれっぽいのをひっぱりだしただけなので、
サーバに影響がないものも多いと思う。
確認した項目にはコメントつけてます。間違ってたらごめんなさい。


開発者向けwikiコマンドラインの何か
http://developer.valvesoftware.com/wiki/Command_Line_Options#Half-Life_Dedicated_Server

-console

謎。どこかでCUIを強制すると聞いた飢餓する。

-toconsole



-dll [module name]

DLLを指定する。デフォルト (ゲーム名)/dlls/cs_i386.so
なんとliblist.gamより優先される。liblist.gamをちまちまいじってた俺noob.
読み込むモジュールを切り替えるだけで、AMXXになったり、切ったりできるわけですね。


例1:デフォルトのモジュールを読む
./hlds_run -game cstrike -dll dlls/cs_i386.so


例2:フックモジュールを読む(metamodなど)
./hlds_run -game cstrike -dll addons/metamod/dlls/metamod_i386.so

-condebug



-heapsize

ヒープサイズ。意味がない様子

-minmemory

使うヒープメモリを減らすらしい。微々たる差である。

[hlds@niboshi hlds]$ ./hlds_run -game cstrike -dll dlls/cs_i386.so +map de_dust2 -dev -minmemory
Auto detecting CPU
Using Pentium II Optimised binary.
Auto-restarting the server on crash

Console initialized.
scandir failed:/home/hlds/hlds/./platform/SAVE
Console initialized.
Base networking initialized.
"sv_cheats" changed to "1"
Initializing deltas
Protocol version 48
Exe version 1.1.2.6/Stdio (cstrike)
Exe build: 16:56:12 Mar 8 2010 (4883)
14.0 Mb heap

[hlds@niboshi hlds]$ ./hlds_run -game cstrike -dll dlls/cs_i386.so +map de_dust2 -dev
Auto detecting CPU
Using Pentium II Optimised binary.
Auto-restarting the server on crash

Console initialized.
scandir failed:/home/hlds/hlds/./platform/SAVE
Console initialized.
Base networking initialized.
"sv_cheats" changed to "1"
Initializing deltas
Protocol version 48
Exe version 1.1.2.6/Stdio (cstrike)
Exe build: 16:56:12 Mar 8 2010 (4883)
32.0 Mb heap

-maxplayers [num]

鯖に入れるプレイヤー数を制限。

-dev

開発者向けオプション。
通常プレイの場合はOFFにしましょう。
ログがたくさん出るようになる。

-zone [num]

何に使うか不明。単位(KB)
-zone 24576 あたりまでは取れるらしい。


-dibonly

全く同じかわからないけど。引用: http://ezquake.sourceforge.net/docs/?command-line
Description: Enable windowed video modes only.
This switch can be extremly useful for LAPTOP users.
If your machine forces 60 FPS/Hz and you cannot get any more, even though you suspect that your computer can handle it, -dibonly should work.
鯖には関係なさそう。

-nomouse

mouse(笑)

-nojoy

joypadのことかも。

-nocdaudio

CDオーディオ?不明

-nosound

音なし?

-nolan

LAN無効?

-stdvid



-safe



-basedir

ベースとなるディレクトリを指定する。ゲーム名(cstrike)を指定する模様。
指定すると一部に影響はあるが、起動するディレクトリなどが移せるわけではないようで、あまり意味はない。

-game [name]

起動するゲームを指定

-num_edicts

謎。数値を指定する模様。

-reuse



-tos

Type of Serviceの略。
IPパケットを細工してルーティング時などの優先度を上げるっぽい。(未確認)
低遅延モードを有効にする。って英語でログに出るのでそうなんだろう。
ToSはルータが対応してなかったり設定が必要なものが多いようだ。

-loopback

謎。

-netsleep

謎。

-clockwindow

謎。

-noip

statusコマンドでIP表示されなくなる。他の弊害は未調査。

-port

サーバのポートを指定

-insecure

VAC無効

-sport

VAC認証時のポートを指定...らしい

-nomaster

マスタサーバへ通知しない(鯖一覧, フレンド表示に表示されなくなる)

-autoupdate

エンジン内でもこれを読み取ろうとはしているっぽいが、用途が不明。
hlds_run実行時にこれをつけておくと、鯖が落ちたとき、勝手に再起動するっぽい。
起動時のアップデートのチェックが面倒(最近結構時間かかっちゃうときがある気がする)、謎の原因で鯖が落ちまくるときに設定するとよい。


hlds_run実行時うんぬんのソース(一部分抜粋)

                        # Run the server
                        $HL_CMD
                        retval=$?
                        if test $retval -eq 0 && test -z "$AUTO_UPDATE"; then
                                break; # if 0 is returned then just quit
                        fi

test -z "$AUTO_UPDATE"により、偽になるため、breakされない.

-sys_ticrate [num]

鯖のゲーム内時間をいじる。-sys_ticrate 1000の指定を推奨。
たとえば、500にすると、現実時間1秒当たり、ゲーム内時間が2秒流れるようなかんじ。
サーバFPSによる影響があるかどうかはあまり調査してない。