需要がありそうだったので、調べました。 なんか分かったら随時更新します。
- 2022/09/04: MetaMod,AMX Mod X,PodBot,CSDM当たりの手順を追加(記事を分けるかも)
- 前提
- 履歴
- HLDSの導入
- HLDSの起動と操作
- Mod導入
前提
- Windows 10 (64bit)
- Noob向けではない(公開手順などは各自で)
- CounterStrike 1.6を持っているSteamアカウント(いつも遊んでいるアカウントとは別のアカウントが望ましい)
履歴
2022/12/29: 匿名ログインだと失敗するようになっていたのでSteamアカウントにログインする手順に修正
HLDSの導入
フォルダを作成する
日本語や半角スペースを含まないフォルダを作る。例えば C:\hlds
にする。(場所を変える場合は以降、適宜読み替える)
コマンドプロンプト(cmd)を開き、以下のコマンドを実行する。
mkdir C:\hlds
コマンドプロンプトの開き方は色々あるが、例えば以下のようにする。
SteamCMDをダウンロードする
https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
ダウンロード後、解凍し、steamcmd.exe
をC:\hlds
へコピーする。
Half-LifeのModであるCS1.6(cstrike)を導入する
AppIdの90はCounter-Strike 1.6 dedicated server
を指すらしいが、その割になぜかcstrikeというModがついてこない。なので、この2つをsteamcmd経由で導入する。
コマンドプロンプト(cmd)を開き、steamcmd の対話モードを起動する。 CounterStrike 1.6を購入しているSteamアカウントのアカウント名を入れてログインを始める。
このときアカウントは念のため遊ぶものとは別のものが望ましい(不正なsteamcmdをつかまされた場合にアカウントが流出してしまうリスクがあるため。そうそうできる事ではないが用心しましょう)
cd C:\hlds steamcmd +login "Steamアカウント名"
するとパスワードと(2要素認証設定済みの場合は)ワンタイムパスワードを求められるので入力する。
認証が成功すると、プロンプトが Steam>
となるので入力を続ける。
app_update 90 validate
成功時は Success! App '90' fully installed.
と出力される。続いて以下を入力。
app_set_config 90 mod cstrike app_update 90 mod cstrike validate
成功時は Success! App '90' fully installed.
と出力される
この時点で、C:\hlds\steamapps\common\Half-Life
にファイルが作られているはずである。
終わったら quit
と打つか、Ctrl+Cで終了する。(Ctrl+Cだと色々表示されるが問題ない)
また、何度もダウンロードを伴うコマンド操作していると、サーバからはじかれて一定時間タイムアウトが続いてしまうことがある。
エラーになったときは再試行
app_update操作を行ったとき、たまに Error! App '90' state is 0x10E after update job.
といったエラーとなり、失敗することがある。
この場合は再度同じコマンドを再度実行する。
2022/12/29時点: なお、匿名ログインだと app_update 時にError! App '90' state is 0x6 after update job.
と出て失敗する。
cd C:\hlds steamcmd +login anonymous Steam>app_update 90 validate Update state (0x3) reconfiguring, progress: 0.00 (0 / 0) Update state (0x61) downloading, progress: 0.90 (493992 / 54874837) Error! App '90' state is 0x10E after update job. Steam>app_update 90 validate Update state (0x3) reconfiguring, progress: 0.00 (0 / 0) Error! App '90' state is 0x6 after update job.
こういったトラブルになったとき、logs/content_log.txt
などを見ると原因の推測ができるかもしれない。
今回の現象は以下のようにreceived 401 (Unauthorized)
となって認可エラーになっていることが分かる。(ログインしているユーザに権限が無い=匿名ユーザにはアクセスする権利がない?)
[2022-12-29 14:43:48] HTTP (SteamCache,183) - cache1-tyo2.steamcontent.com (155.133.239.6:80 / 155.133.239.6:80, host: cache1-tyo2.steamcontent.com): Failed to get manifest request Code for depot 11 manifest 4720911300072406946 - Access Denied (15) - continuing without it [2022-12-29 14:43:48] HTTP (SteamCache,183) - cache1-tyo2.steamcontent.com (155.133.239.6:80 / 155.133.239.6:80, host: cache1-tyo2.steamcontent.com): cache1-tyo2.steamcontent.com/depot/11/manifest/4720911300072406946/5 - received 401 (Unauthorized) HTTP response [2022-12-29 14:43:48] HTTP (SteamCache,183) - cache1-tyo2.steamcontent.com (155.133.239.6:80 / 155.133.239.6:80, host: cache1-tyo2.steamcontent.com): Received 401 (Unauthorized) HTTP response for depot 11 [2022-12-29 14:43:48] HTTP (SteamCache,183) - cache1-tyo2.steamcontent.com (155.133.239.6:80 / 155.133.239.6:80, host: cache1-tyo2.steamcontent.com): Closing connection [2022-12-29 14:43:48] Created download interface of type 'CDN' (2) to host steampipe.akamaized.net (steampipe.akamaized.net) [2022-12-29 14:43:48] HTTP (SteamCache,67) - cache3-tyo2.steamcontent.com (155.133.239.7:80 / 155.133.239.7:80, host: cache3-tyo2.steamcontent.com): Failed to get manifest request Code for depot 11 manifest 4720911300072406946 - Access Denied (15) - continuing without it [2022-12-29 14:43:49] HTTP (SteamCache,67) - cache3-tyo2.steamcontent.com (155.133.239.7:80 / 155.133.239.7:80, host: cache3-tyo2.steamcontent.com): cache3-tyo2.steamcontent.com/depot/11/manifest/4720911300072406946/5 - received 401 (Unauthorized) HTTP response [2022-12-29 14:43:49] HTTP (SteamCache,67) - cache3-tyo2.steamcontent.com (155.133.239.7:80 / 155.133.239.7:80, host: cache3-tyo2.steamcontent.com): Received 401 (Unauthorized) HTTP response for depot 11 [2022-12-29 14:43:49] HTTP (SteamCache,67) - cache3-tyo2.steamcontent.com (155.133.239.7:80 / 155.133.239.7:80, host: cache3-tyo2.steamcontent.com): Closing connection
設定ファイルを配置する
試合をするとき昔使っていたconfigファイルを使う
- lo3.cfg:
rcon exec lo3.cfg
のように使う。試合を始める時に使う。カウントダウンが行われ、その後試合開始とする - tr.cfg:
rcon exec tr.cfg
のように使う。試合を始める前のウォームアップ用(時間や所持金を増やす) - server.cfg: 起動時に読まれるファイル。サーバの設定を書く。lo3.cfgからも読み出される
- match.cfg: 試合用の設定にリセットする。lo3.cfgから読み出される
server.cfgのサーバ名(hostname
)とサーバパスワード(sv_password
)とrconパスワード(rcon_password
)を適宜設定する。
HLDSの起動と操作
HLDSの起動
コマンドベースで行う。
cd "C:\hlds\steamapps\common\Half-Life" hlds.exe -game cstrike -console -port 27017 +map de_dust2 +maxplayers 16
以下のような画面が表示されていればサーバが動いている状態。
サーバ起動時に何度も打つことになるので、以下のようにstart-hlds.bat
のようなバッチファイルにまとめておくと良い。
cd %~dp0 start hlds.exe -game cstrike -console -port 27017 +map de_dust2 +maxplayers 10
rcon操作
rcon(Remote Controlの略?)でクライアントからサーバの操作ができる。 サーバに設定されているrcon操作用のパスワードが必要。
コマンド名 | 引数 | 例 | 意味 |
---|---|---|---|
rcon_password |
パスワード |
rcon_password foo |
rcon操作時に使うパスワードを設定する |
rcon_address |
IPアドレス or FQDN | rcon_address foo.example |
rcon操作先のアドレス(未指定の場合はローカル or 接続中のサーバ) |
rcon_port |
ポート番号 | rcon_port 27017 |
rcon操作先のサーバのポート番号(未指定の場合はローカル or 接続中のサーバ) |
rcon |
コマンド名 | rcon exec lo3.cfg |
サーバ上で コマンド名 のコマンドを実行する。 |
よく使う操作
コマンド名 | 引数 | 例 | 意味 |
---|---|---|---|
changelevel | マップ名 | rcon changelevel de_dust2 |
マップを変更する。 |
身内に公開
UDPポートの27017を使う。(デフォルトの場合)
接続コマンドを用意して接続者に案内する。
connect ホスト名:ポート番号; password パスワード;
利用者にはコンソールを開き、接続コマンドを貼り付けて接続してもらう。 (IRC時代はキーワードでこの接続情報を応答するボットが居たのでdiscordでも同じようなボットを作ると便利かもしれない。パスワードは固定なので)
Mod導入
以降は、非公式のプログラムを導入してゲームを拡張する手順となる。
誰かが公開しているプログラムを動かすことになるため、悪意のあるプログラムを動かすことになるかもしれないためリスクがあることを注意する。自己責任。自己防衛。
MetaMod: プラグインでゲームの機能を拡張するためのMod
プラグインのリストは以下。
http://metamod.org/plugins.html
MetaModのダウンロード
2022/09/04時点、公式からは1.20、AMX Mod Xからは少し修正された1.21.1-amが配布されている。
おそらく、AMX Mod Xを入れたい場合がほとんどなので、ここではAMX Mod Xで配布されている1.21.1-amで導入することを前提に進める。
なお、ビルド時期自体は公式の1.20は2013年2月、AMX Mod Xの1.21.1-amは2013年9月ビルドされている。ソースコードはGitHubで公開されており、その内容はさほど大差はなさそう。試した感じ、概ねどちらでも動作する。
MetaModの導入
Explorerの設定でファイルの拡張子は表示するようにしておく
cstrike/addons/metamod/dlls
のフォルダを作る。
ダウンロードしたmetamod.dll
を cstrike/addons/metamod/dlls
へコピー
元々ある cstrike/liblist.gam
のコピー(バックアップ)を取る
liblist.gam
をメモ帳で開き、gamedll
で始まる1行をgamedll "addons\metamod\dlls\metamod.dll
へ書き換える。
# gamedll dlls\mp.dll gamedll "addons\metamod\dlls\metamod.dll
以上。
なお、他のプラグインを導入するときは、cstrike/addons/metamod/plugins.ini
に列挙していく必要があるが、必要に応じて手順を書く(AMX Mod X, PodBotなどの導入で書くことになる)
この時点でHLDSを起動すると、コンソールに以下のようなMetaModが動いているらしいログが流れることで確認できる。
AMX Mod X : プラグインでゲームの機能を拡張
以下のコミュニティWikiが詳しい。
Category:Documentation (AMX Mod X) - AlliedModders Wiki
プラグインは https://www.amxmodx.org/compiler.php?mod=2&cat=0&plugin=&author=&go=search (公式のリスト)から参照できる他、様々な場所で公開されている。
大抵はフォーラムで公開とサポートをしていることが多く、対応がしっかりしていそうなものを選ぶ指標にするといいかもしれない。
AMX Mod Xのダウンロード
2022/09/04時点では、公式から安定版として1.8.2、開発版として1.9.0が配布されている。ここでは1.8.2を使う。
CS1.6で扱うには以下の2つが必要。
- AMX Mod X Base
- AMX Mod X CounterStrike Addon
AMX Mod X Baseの導入
AMX Mod X Baseのzipを展開し、中にあるamxmodx
をcstrike/addons
へコピーする。
cstrike/addons/amxmodx
の中は以下のようになる。
次にMetaModのプラグイン設定ファイル cstrike/addons/metamod/plugins.ini
をメモ帳などで開き、 win32 addons/amxmodx/dlls/amxmodx_mm.dll
を追記する。
win32 addons/amxmodx/dlls/amxmodx_mm.dll
以上。これでMetaMod経由でAMX Mod Xが動作する。
AMX Mod X CounterStrike Addonの導入
AMX Mod X CounterStrike Addonのzipを展開し、cstrike/addons/amxmodx
へ上書きコピーを行う。
上書きがあるが、上記の手順でAMX Mod Xを初めて入れた場合は、cstrike用の設定を追記するだけなので悪影響はないはず。
この時点でHLDSを起動すると、コンソールに以下のようなAMX Mod Xが動いているらしいログが流れることで確認できる。
もし、出力されない場合は、cstrike/addons/metamod/plugins.ini
の記述が誤っている可能性が高い。ファイルのパス(アドレス)が正しいか、記述の内容が正しいか確認する。
AMXXプラグインの導入
cstrike/addonsamxmodx/plugins
へ プラグイン プラグイン名.amxx
を配置し、
cstrike/addons/amxmodx/configs/plugins.ini
に プラグイン名.amxx
を記述するだけ。
上から順番に読み取られる。プラグインによっては順序関係がある場合がある点に注意する。
AMX Mod Xの権限管理
https://wiki.alliedmods.net/Adding_Admins_(AMX_Mod_X)
cstrike/addons/amxmodx/configs/users.ini
に書き込む
"Steam ID" "" "権限" "ce"
Steam IDは色々なやり方でわかる。接続した状態でHLDSのコンソールでusersとするか、rcon usersとする。
権限は abcdefghijklmnopqrstu
選んでつける。(なお、これは全部の権限を持つことを意味する。サーバ管理者とかにつける。)
権限の対応は以下。
https://www.amxmodx.org/api/amxconst#section-admin-privilege-and-authentication-constants
PodBot MetaMod: BOTを動かすMetaModプラグイン
http://podbotmm.bots-united.com/doc_v3/index.html
BOTが動きます。
waypointsというMap上でBOTが動く道筋の情報が書かれているファイルを用意する必要がある。メジャーなマップは用意されていたり、aimマップなどは有志が公開してくれている場合もある。しかしデスマッチサーバではキャンプを続けたりすることもあり、合わない場合もある。(一応設定でキャンプする時間を減らすなどで軽減できる。カスタマイズはよくわからない・・・)
PodBotをダウンロードする
http://podbotmm.bots-united.com/doc_v3/html/pbmm_install.htmlから入手できる。様々なプラグインも込々で入っているAll-In-Oneパッケージもあるが今回はPodBot単品で導入する。
PodBotを導入する
Zipを展開すると podbot
というフォルダがあるのでこれをそのまま cstrike/addons
にコピーする。cstrike/addons/podbot
の中は以下のようになる。
MetaModのプラグイン設定ファイル cstrike/addons/metamod/plugin.ini
を開き、win32 addons/podbot/podbot_mm.dll
を追加する。もし、AMX Mod Xがある場合はその行はそのまま残すようにする。(以下、例)
win32 addons/amxmodx/dlls/amxmodx_mm.dll win32 addons/podbot/podbot_mm.dll
この時点でHLDSを起動すると、コンソールに以下のようなPodBotが動いているらしいログが流れることで確認できる。
PodBotの設定ファイル
cstrike/addons/podbot/podbot.cfg
に設定が書かれている。
以下はファイルに書かれている適当な翻訳とか。あまり調査できていない。
*
がある行は個人的に確認しておいた方がよさそうな設定。
設定値なので、rcon pb_ffa 1
とかで設定できる。
* | キー | 値 | デフォルト | 意味 |
---|---|---|---|---|
pb_minbots | 0 | |||
pb_maxbots | 16 | |||
pb_bot_quota_match | 0 | |||
pb_bot_join_team | "ANY" | |||
pb_skin | 5 | |||
pb_timer_sound | 0.5 | |||
pb_timer_pickup | 0.3 | |||
pb_timer_grenade | 0.5 | |||
* | pb_spray | 0:無効 1:有効 | 1 | Botがスプレーを使う |
* | pb_ffa | 0:無効 1:有効 | 0 | FFAモード(仲間をコロコロし始める) |
pb_firsthumanrestart | 0:無効 1:有効 | 0 | 人が初めて入った場合、ラウンドをリセット | |
pb_shootthruwalls | 0:無効 1:有効 | 1 | 壁の向こう側を打つ(居ると分かっている場合?) | |
pb_passwordkey | "_pbadminpw" | |||
* | pb_password | 文字列 | "your_password" | pb menuコマンドのパスワード。適宜修正。 |
pb_numfollowuser | 数値 | 5 | "Follow me"と人が言った場合に従うbotの最大数 | |
pb_minbotskill | 0~100 | 95 | Botの強さ下限 | |
pb_maxbotskill | 0~100 | 100 | Botの強さ上限 | |
pb_maxweaponpickup | 10 | Botが1ラウンドで拾うことができる武器の数 | ||
pb_mapstartbotdelay | 数値(秒) | 10 | マップ開始時にBOTを参加させる遅延時間(秒) | |
pb_autokill | 0:無効 1:有効 | 0 | BOTだけ生き残っていたらBOTをkillする? | |
pb_autokilldelay | 数値(秒) | 45 | pd_autokill有効時に指定秒数だけ遅らせる(有効にするなら早い方がいいのでは?) | |
* | pb_maxcamptime | 数値(秒) | 30 | キャンプしている時間 |
pb_jasonmode | 0:無効 1:有効 | 0 | BOTはナイフ攻撃のみにする | |
pb_detailnames | 1,2,3,4,5 | 1 | BOTの名前の表記を幾つかから選ぶ | ||
pb_dangerfactor | 2000 | 学習値。死んだ場所を危険と認識して重み付けするときの係数 | ||
* | pb_chat | 0:無効 1:有効 | 1 | BOTがチャットを飛ばすようになる |
* | pb_latencybot | 0 | スコアボードのLatencyの表示 0:表示しない 1:BOT, 2:適当な値 | |
* | pb_radio | 0 | BOTがradioを使う用になる | |
pb_aim_type | 1-4 | 4 | BOTのAIMの仕方? | |
pb_aim_spring_stiffness_x | 13.0 | |||
pb_aim_spring_stiffness_y | 13.0 | |||
pb_aim_damper_coefficient_x | 0.22 | |||
pb_aim_damper_coefficient_y | 0.22 | |||
pb_aim_deviation_x | 2.0 | |||
pb_aim_deviation_y | 1.0 | |||
pb_aim_influence_x_on_y | 0.25 | |||
pb_aim_influence_y_on_x | 0.17 | |||
pb_aim_offset_delay | 1.2 | |||
pb_aim_notarget_slowdown_ratio | 0.5 | |||
pb_aim_target_anticipation_ratio | 2.2 | |||
pb_restrweapons | "00000000000000000000000000" | |||
pb_restrequipammo | "000000000" |
Podbotのコマンド
pb help
などで確認できる。
起動時にBOTが追加されるのはcstrike/addons/podbot/podbot.cfg
に pb add 100
と書かれているため。
waypointsについて
先に書いた通り、waypointsはマップ毎に用意する必要があり、無い場合はBOTを動かすことができない。
もし作成手順はドキュメントがあるので参考にする(よくわからない)
http://podbotmm.bots-united.com/doc_v3/html/pbmm_wp_basic.html
CSDM: デスマッチにするAMX Mod X プラグイン
- 武器選択
- 死んでも即座に復活
などなどデスマッチ(DM)に必要な要素を動かすプラグイン
オリジナルはBAILOPAN氏の実装だが、アップデートで動作しなくなったらしい。
フォーラムにアップデートや細かい改修を入れた CSDM 2.1.3d KWo beta が2006年頃から公開されており、今回はこれを使用する。
(2015年頃、CSDMがクラッシュするからと実装しなおしたDeathmatch FFA 1.2もあり、試した感じは動いたが、無限リロードができないとかとか細かい部分が足りない感じがある。あとフォーラム上もあまり良い雰囲気ではなさそうだった。)
CSDM 2.1.3d KWo betaのダウンロード
フォーラム CSDM 2.1.3d KWo beta からダウンロードする。
CSDM 2.1.3d KWo betaを導入する
cstrike/addons/amxmodx
のフォルダに上書きコピーする。
なお、plugins-csdm.ini
があるため、cstrike/addons/amxmodx/configs/plugins.ini
の修正は不要。
CSDMの設定ファイル
cstrike/addons/amxmodx/configs/csdm.cfg
に書かれている。
iniファイルっぽくセクションごとに分かれて定義されている。
[[settings]]
設定値 | 値 | デフォルト | 意味 |
---|---|---|---|
enabled | 1 | CSDMを有効化 | |
strip_weapons | 1 | 開始時に装備を脱がす | |
weapons_stay | 0 | ||
spawnmode | preset | スポーンするモード。noneはマップの決められた場所でスポーン。presetは決められた場所からランダムにスポーン。 | |
remove_bomb | 1 | 爆弾を削除する | |
spawn_wait_time | 0.75 | リスポーンまでの待ち時間 |
[[ffa]]
FFAモード
設定値 | 値 | デフォルト | 意味 |
---|---|---|---|
enabled | 1 | FFAモード有効(同チーム攻撃できる) | |
radar_disable | 1 | レーダーの味方の位置を隠す |
[[misc]]
設定値 | 値 | デフォルト | 意味 |
---|---|---|---|
remove_objectives | abcd | 不明 | |
block_buy | 1 | 購入できないようにする | |
ammo_refill | 1 | 弾がなくなると自動で補充(リロードは必要) | |
spawn_radio_msg | 0 | 不明(スポーン時のラジオメッセージ?) | |
hide_money | 1 | 所持金を隠す | |
hide_timer | 1 | タイマーを隠す |
[[stripper]]
(よくわからない。classに書かれたものを削除するとかだと思う。開始時にハンドガン持ってたりするので。)
設定値 | 値 | デフォルト | 意味 |
---|---|---|---|
enabled | 1 | ||
class | player_weaponstrip | ||
game_player_equip | |||
item_healthkit | |||
item_battery | |||
armoury_entity | |||
item_longjump |
[[protection]]
復活時の保護
設定値 | 値 | デフォルト | 意味 |
---|---|---|---|
enabled | 1 | 復活直後の無防備なタイミングがなくなるよう無敵にする | |
glowing | 1 | (不明) | |
colorst | "255 0 0 200" | Terroristの色?(赤) | |
colorsct | "0 0 255 200" | CTの色?(青) | |
colorsffa | "0 255 0 200" | FFA対象の色?(緑) | |
time | 3 | 復活直後の無敵時間(秒) |
[[equip]]
装備メニューに関する情報
設定値 | 値 | デフォルト | 意味 |
---|---|---|---|
menus | ps | スポーン時の持たせる装備メニューに表示するもの | |
p: Primary武器 | |||
s: Secondary武器 | |||
g: グレネード | |||
a: アーマー | |||
b: 買い物? | |||
autoitems | ah | 持たせるアイテムフラグ | |
a: arrmor | |||
h: helmet | |||
g: granades | |||
d: 解除キット | |||
n: ナイトヴィジョンゴーグル | |||
grenades | fhs | 持たせるグレネードの種類。flash,he.smoke | |
fnadesnum | 2 | Flash Granadeを持たせる | |
always_allow_gunmenu | 0 | いつでも"guns"とチャットする(/say guns コマンド)と装備メニューを出せるようにする |
その他
よくわかっていない。
[[secondary]]
: Secondary武器メニューに表示する武器[[primary]]
: Primary武器のメニューに表示する武器[[botsecondary]]
: BOTのSecondary武器?[[botprimary]]
: BOTのPrimary武器?[[items]]
: itemプラグイン(よくわからない。敵を倒すとアイテムを落とすとか、回復するとか?)
CSDMのスポーン場所の修正
スポーンする場所がクソすぎる、とよく言われる場合にはCSDMに付属しているspawn_editorで修正することができる。(オリジナルでは別プラグインだったが、KWo版ではなぜか組み込まれている)
権限設定を行っておく
spawn_editorを使うには、AMX Mod Xで権限"f=ADMIN_MAP"がある必要がある。通常はサーバ管理者がスポーンを編集するはずなので管理者なら問題ないでしょう。
ただ、AMXXの権限設定作業は必要なので、edit_spawns
を実行しても権限が無いと言われる場合やそもそも設定していない場合、 #AMX Mod Xの権限管理 を参考に設定・見直しをしてほしい。
spawn_editor の実行
ゲームを起動し、CSDMを導入したサーバに接続したら、コンソールを開きedit_spawns
と
コンソールからゲーム画面に戻ると、編集メニューが表示される
- 現在の場所にスポーン地点を追加する
- スポーン地点を編集する
- スポーン地点を削除する
- 現在の位置から最も近いスポーン地点を選択する
backとかは...わかるよね...
スポーン地点を追加する
1を押すとメニューがスポーン追加用に切り替わる
それぞれの番号を押すと現在の位置、向きで「スポーン地点」が設置される。 1:ランダム、2:T用、3:CT用を意味する。
DMマップなら常に1、aimマップならどっちをBOT側にするか決めて2,3を使い分ける感じ。
設置すると以下の半透明なオブジェクトが置かれる。
左から1:ランダム、2:T用、3:CT用でおいた場合になる。見た目でどのスポーン地点かわかる。
これでスポーン地点の設定が完了。設定した時点で勝手に addons\amxmodx\configs\csdm\マップ名.spawns.cfg
に保存される。
スポーン地点の編集操作
あるスポーン地点に近い状態で4を押すと、選択状態になり黄色いオーラを放つ。
この選択状態で、「2:編集」「3:削除」が行えるようになる。(選択状態にならないと押せないはず)
スポーン地点を移動させたい場合は、選択状態にした後に移動し・・・
「2」を押すと赤いオーラを放たれた状態で移動される。(この赤色オーラも選択状態。)
これでスポーン地点の編集も完了。設定した時点で勝手に addons\amxmodx\configs\csdm\マップ名.spawns.cfg
に保存される。
削除したい場合は「3」を押すと削除される。
これでスポーン地点の削除も完了。設定した時点で勝手に addons\amxmodx\configs\csdm\マップ名.spawns.cfg
に保存される。
雑記
HLDSのコマンドラインオプション
Windows
バイナリからそれっぽい文字列を吸い出しただけなので、使えないものもあるかもしれない。推奨列のものは指定したほうがよい。
推奨 | オプション | 引数 | 意味 |
---|---|---|---|
◎ | -port , +port |
数値 | -port 27017 など、ポート番号を指定。多重起動したい場合はポート番号を分けることで可能。 |
-steam |
(無し) | ??? 不明 | |
-insecure |
(無し) | VAC無効 | |
-dev |
(無し) | デバッグモード?色々表示が増える | |
◎ | -maxplayers |
1~32 | 接続できるプレイヤー数 |
◎ | -game |
cstrike | modを指定。 |
-conheight |
??? | 不明 | |
-applaunch |
90 | 指定不要。 | |
-silent |
??? | 不明 | |
-usegh |
??? | 不明 | |
〇 | -console |
(無し) | 推奨。未指定だと対話GUIを表示するが不安定な気がする。 |
-64OS |
(無し) | ??? | |
◎ | +map |
マップ名 | 推奨。起動時のマップを指定する。 +map de_dust2 等。指定しないと接続できないはず。 |
+sv_lan |
`1 | 0` | LANモード。0で無効。公開する場合は1にする。 |
HLDSのcvar-list(サーバオプション・コマンド)
一覧は以下を参考に。
PodBotとCSDMを使って無限BOT撃ちするときのいい感じの設定
俺も知りたい。以下あたりを設定するといいかも。
- PodBot
pb_jasonmode 1
: 装備をナイフのみにするpb_maxcamptime 5
: キャンプし続けると困るはずなので短くする
- CSDM
protection
の無敵時間を減らす
CSDMは全滅するとラウンドリセットかかるので、pb_jasonmode
にしてなるべくこっちが死なないようにしたほうが効率よく撃てそうだった。
参考リンク
- developer.valvesoftware.com
- SteamCMD - Valve Developer Community
- SteamCMDに関する情報
- AlliedModders Wiki
- AMX Mod Xなどを開発しているコミュニティのWiki
- GitHub - ValveSoftware/halflife: Half-Life 1 engine based games
- HLのソース(cstrikeではない)
TODO (やるとは言っていない)
パブリックに公開
サーバリストに載せてもらうやり方。多分できるが、今どきの安全性がよくわからないので優先度低
HLTV導入
zbotを使ったBOT撃ち環境を作る
これはzbotの配布物を入れるだけで出来るはず。
当たり前のように使ってたけど、CS:CZの機能をハックして使う良くないやり方だったらしい。なので使わない。 でも未知のマップでもwaypointを自動的に作ってくれるからすぐBot撃ちできて便利だったんだよなぁ。
"Podbot waypoints map名" で調べると有志が配布してくれているかもしれない。
Linux版のCS1.6鯖
基本的には適宜読み替えるだけで出来るはず。ダウンロードをlinuxのものにするとか、gamedllをgamedll_linuxにするとか、ファイルパスをlinuxのバイナリのものに変えるとか。できなかったらすまん。
HLDSをリバースエンジニアリングしたらしい、ReHLDSというものも気になる。AMX Mod Xもこれをサポートする動きをしてい手良さそうに見える。
https://github.com/dreamstalker/rehlds
その場合はcstrikeはRegameDLL_CSを使うらしい?
https://github.com/s1lentq/ReGameDLL_CS
PodBotの導入 完了
MetaMod1.20 + PodBot V3が動作しそう。
AMX Mod X導入する予定があるならAMX Mod Xで配布しているMetaMod(1.21.1-am)を入れておく方がよさそう(わずかに修正が入っている)
https://www.amxmodx.org/downloads.php
多分CSDMと合わせて使いたいハズなので手順はその時にまとめる。
AMX Modを導入し、投げ物や弾数を無限にするプラグインを導入する
AMX Mod X (1.8.2) は導入できる。プラグインは知らない。探せばありそう。