Quake III Arena

Quake III Arena

Not enough ratings
Quake 3 CPMA 導入方法 & CNQ3 CVAR/Command/CFG 日本語解説
By CCT
様々な事情から突如 Quake 3 Challenge ProMode Arena Japan コミュニティが結成されたので解説するガイドです。
   
Award
Favorite
Favorited
Unfavorite
Quake 3 CPMAの導入方法
①Quake 3 Arenaを購入します。
https://steamproxy.net/steamstore/app/2200/Quake_III_Arena/

古いゲームのわりには定価がやや高いのでセール時の購入推奨です。
参考ページ : https://steamdb.info/app/2200/

②Quake 3 Arenaをインストールします。
いわずもがな普通にSteamライブラリから。

③Quake 3 CPMAをダウンロードします。
DL Link : https://drive.google.com/file/d/1IyY-h2Fp4ozw9P-yj4-1E2eLYi3WUVgM
内容は日本語説明を付属したQuake 3 CPMAの本体ファイルです。

④Quake 3 CPMAをインストールします。
手順は、まずQuake 3 Arenaのインストール先の確認から。
デフォルトのインストールディレクトリの場合は
C:\Program Files (x86)\Steam\steamapps\common\Quake 3 Arena
に存在しているはずです。

次に、③でDLしたZIPファイルを解凍
ファイルの中にあるQuake 3 Arenaフォルダで
SteamでインストールしたQuake 3 Arenaファイルに上書き追加をすればOKです。
画像で状況を貼るとこういうカンジ。


一部のファイルを上書きするかダイアログが出る可能性がありますが
そのまま上書きして大丈夫です。
(私がアンインストールして検証するのがめんどくさかっただけです。)

これでQuake 3 CPMAの導入は完了です。
C:\Program Files (x86)\Steam\steamapps\common\Quake 3 Arena
にある cnq3-x64.exe をダブルクリックすることで起動出来ます。
Quake 3 CPMAの初期設定
導入は完了しましたが、設定は初期状態です。
私が入れたCFGファイルによりまともにプレイすることは不可能な状態です。

「なんでそんなことするの?」と思われること間違い無しですが、理由があります。
メニューのオプションから全ての設定を変えることが不可能だからです。

では、どうすればいいのか
CFGファイルという設定変更のコンフィグファイルを編集します。

そう、CFGファイルの編集方法を覚えてもらおうという魂胆です。
そもそもCPMA公式が推奨していることです、なんせMODですからね。

そのため、まず
C:\Program Files (x86)\Steam\steamapps\common\Quake 3 Arena\cpma
にある、autoexec.cfgを開く必要があります。

開き方は
autoexec.cfgを右クリック→プログラムから開く→メモ帳→OKです。
この時、常にこのアプリ使って.cfgファイルを開く にチェックを入れると捗ります。
画像で状況を貼るとこういうカンジ。


この手順で無事
.txtファイルとして.cfgファイルを扱えるはずです。

ファイル内に書かれていることをそのまま説明になりますが
key,valueと書いている部分に
keyは設定したいキー、valueは設定したい数値を入力してください。


入力はどうすればいいのかというと
"key" の部分から key を削除し、文字を入力すればOKです。
valueでも同じことをします。

画像で状況を貼るとこういうカンジ。

(拡大推奨)
このように示している部分を変更し、CFGファイルを上書き保存することで
Quake 3 CPMAがプレイ可能になります。

bind出来るキーとかボタンはなんて書けばいいのかわからないという方の為に
表を作成しました、参考になると思います。

入力bind名
実際のキー&ボタン
mouse1
左クリック
mouse2
右クリック
mouse3
ホイールクリック
mouse4
サイドボタン下(横から見ると右)
mouse5
サイドボタン上(横から見ると左)
mouse6
更にサイドボタンがあるマウス用
mouse7
更にサイドボタンがあるマウス用
mouse8
更にサイドボタンがあるマウス用
mouse9
更にサイドボタンがあるマウス用
mwheeldown
マウスホイール下
mwheelup
マウスホイール上

入力bind名
実際のキー&ボタン
a~z
A~Zキー
1~9,0
1~9,0キー
-^\@[;:],./\
-^\@[;:],./の記号キー

入力bind名
実際のキー&ボタン
f1~12
F1~12キー
tab
Tabキー
shift
Shiftキー
ctrl
Ctrlキー
alt
左Altキー
space
スペースキー

入力bind名
実際のキー&ボタン
ins
Insertキー
del
Deleteキー
pgdn
Page Downキー
pgup
Page UPキー
home
Homeキー
end
Endキー
pause
Pauseキー
uparrow
上矢印キー
downarrow
下矢印キー
leftarrow
左矢印キー
rightarrow
右矢印キー

入力bind名
実際のキー&ボタン
kp_end
テンキーのEndキー(1)
kp_downarrow
テンキーの下矢印キー(2)
kp_pgdn
テンキーのPGDNキー(3)
kp_leftarrow
テンキーの左矢印キー(4)
kp_5
テンキーの5キー
kp_rightarrow
テンキーの右矢印キー(6)
kp_home
テンキーのHomeキー(7)
kp_uparrow
テンキーの上矢印キー(8)
kp_pgup
テンキーのPGUPキー(9)
kp_ins
テンキーのInsキー(0)
kp_del
テンキーのDelキー(.)
kp_slash
テンキーのスラッシュキー
kp_star
テンキーのアスタリスクキー
kp_minus
テンキーのハイフンキー
kp_plus
テンキーのプラスキー
kp_enter
テンキーのEnterキー

編集する際の注意点として、必ず
bind mouse1 "+attack"
のように指定する行動のCommandはダブルクォーテーションで挟むこと。
seta m_speed "1.5"
のようにCVARで指定する値はダブルクォーテーションで挟むこと。

全角文字は基本使用しないこと、説明を記載するために使うときは必ず//を手前に置くこと。

編集後は必ず、確認を行った後
CFGファイルの上書き保存、または名前を付けて保存を行ってください。


この表を用いて、各位自分の望むbind設定が出来るはずです。
これでQuake 3 CPMAの初期設定は完了です。
サーバーの入り方

Play Onlineをクリックします。


サーバーブラウザーが表示されます。

”REFRESH”をクリックすることで現在稼働しているサーバーが表示されます。
”RESCAN”をクリックすることで現在表示しているサーバーが最新情報に更新されます。

入りたいサーバーをクリックして選び、右下の”FIGHT”をクリックすることで接続します。
アップデート方法
公式DL Link : https://playmorepromode.com/downloads
こちらから最新バージョンのCPMACNQ3をダウンロードします。

筆者の管理しているGoogle Driveもその都度最新に更新はしていますが
アップデートの度に大量のMAPファイルごとDLするのは時間と容量の無駄なので
公式DLから必要なファイルのみで更新する方が良いです。

DLしたcpma-Ver-nomapscnq3-Verのzipファイルを解凍します。

解凍したフォルダから必要なものを取り出して上書きします。
デフォルトのインストールディレクトリの場合
C:\Program Files (x86)\Steam\steamapps\common\Quake 3 Arena
こちらをまず開いておきます。

解凍したcnq3-Verのファイルから
cnq3-x64.exeをドラッグ&ドロップして上書き置換します。
画像で説明するとこういうカンジ。


解凍したcpma-Ver-nomapsのファイルから
cpmaファイルをドラッグ&ドロップして上書き置換します。
画像で説明するとこういうカンジ。


上書きするかダイアログが出ますが、全部して良いです。
上書きして困ることになるファイルは入っていません。

この手順を行うことで、アップデートは全て完了です。

追記
CPMA 1.53b2→CPMA 1.53にアップデートする際
z-cpma-pak153b1.pk3
z-cpma-pak153b2.pk3
の二つのファイルを削除してください。
CFGファイルとコンソール
自前で用意したCFGファイルは
(スターターパックの場合はautoexec.cfgのみ)
自身で編集しない限り内容が変わることはありません。
つまり、CFGファイルで指定された設定が固定化されることになります。

CFGファイルの名前については
autoexec.cfg
クライアント起動時自動で読み込みが行われるファイル名です。
auto(自動)-exe(実行)-c(コンソール)という意味です。

q3config.cfg
クライアント起動時に自動生成されるファイル名です。
現在の設定が全て記載されています。
このファイルはautoexec.cfgの設定で上書き変更されてしまうので
このファイルで設定をいじること自体向いていません。
(exe起動→本体読み込み→autoexec読み込み→q3config生成/上書き)

CFGファイルで設定をする利点は
  • 自分がどういった設定をしていたかの把握がし易い
  • CFGファイルさえあれば別環境でも即座に設定反映可能
  • バックアップとして極めて有用
  • 勝手に設定が変わったと思ってしまう事例を完全に回避出来る
という具合になっています。
そして、メニューオプションからの変更、コンソールからの変更は反映、維持されますが。
CFGファイルで指定されている設定だけは
変更した時のクライアント起動中のみ反映されることになります。
クライアント起動時にautoexec.cfgが読み込まれて上書きされるからです。

とりあえず今この設定を変えてみたいという場合
CFGファイルに書いていない設定を変えるという場合

この2つの場面で、コンソールからの変更が役立つということになります。

コンソールはデフォルトで
SHIFTキー+半角/全角を押すことで表示可能です。
閉じ方は同じキーか、Escです。
半角/全角単体でも表示出来ますが、日本語入力になってしまいます
なってしまった場合、capslock等で英語入力に戻せます。
(正直空いている普段使わないキー等にtoggleConsoleをbindする方が楽)

入力時Tabキーを押すことで自動入力候補が出ます。
例① : m_spまで入力して、Tabキーを押すとm_speedが自動入力されます。
例② : cg_weaまで入力して、Tabキーを押すとcg_weaponConfig系CVARが表示されます。
何も入力していない状態で、矢印キー上下を押すと入力履歴が出ます。
CVAR/Commandの意味
CVARとは何の略か
Console Variablesの略称です。

CVARとは何か、訳すとコンソール変数のこと。

m_なんたらかんたら
cg_なんたらかんたら
r_なんたらかんたら
といった、設定のために扱う単語です。

入力する場所は
CFGファイル内と、ゲーム内コンソールです。

Commandとは何か
Console Commandと、button Commandの総称です。
どちらかというと、前者を指すことの方が多い。

bindで指定する行動
cv mapで指定するMAP
cv modeで指定するモード
といった行動設定の指定と、サーバーでの行動を指定をする単語です。
プレイヤー設定系CVAR
  • color
    説:プレイヤーカラーを示す。
    CPMAのカラーコードで5文字入力する必要があり
    左から右へ順に
    レイルコアの色 - 頭の色 - 胴の色 - 脚の色 - レイルスパイラルの色を示す。
    "f777k"の場合、全身白で、レイルの中心が黄緑色、スパイラルが水色になる。
    "a000q"の場合、全身黒で、レイルの中心が赤色、スパイラルが青色になる。
    例:seta color "f777k"

  • カラーコードの概要

    aと書くと赤を示し、0と書くと黒を示す、といった具合になる。
    このカラーコードはnameやchatでも有効
    そちらの色を変更したい場合は
    変更したい文字の前に ^ を置いて、カラーコードを指定
    次の文字から色が変更される、例えば
    ^QD^7oraem^Mon
    と入力すると

    こうなる。
    ^1K^7i^1T^7e^0^Cre^2t^Yu
    と入力すると

    こうなる。

  • name
    説:自分の名前を示す。
    名前に色を付ける事も出来る。
    例:seta name "^QD^7oraemo^Qn"

  • nick
    説:オーバーレイ上の自分の名前を示す。
    名前に色を付ける事も出来る。
    例:seta nick "^QD^7ora^EC^7han"

  • model
    説:自分のキャラクターモデルを示す。

    この中から選ぶ、これ以外からも選べるけど
    プレイヤーカラーが適用されないので無個性になる。
    例:seta model "Sarge/pm"

  • cg_FOV
    説:Field Of View 視野角を示す。
    QL FOV105 ≒ CPMA FOV120.16であることから
    基本は115~125が主流
    例:cg_FOV "120"

  • cg_zoomFOV
    説:ズーム時のField Of View 視野角を示す。
    cg_FOVの50%~75%ぐらいが主流
    cg_zoomSensitivityを0.75に設定している場合
    120x0.75=90なので、90に設定する、このように合わせるのが筆者のオススメ。
    例:cg_zoomFOV "60"

  • cg_zoomAnimationTime
    説:ズーム時のFOV変動アニメーションの時間を示す。
    数値はmsを示す、0(無し)から500msまで。
    デフォは150
    例:cg_zoomAnimationTime "0"
マウス設定系CVAR
  • m_speed
    説:センシティビティ、感度、マウス速度を示す。
    例:seta m_speed "1"

  • m_accel
    説:マウスアクセル、マウス加速を示す。
    値の大きさで加速の大きさが変わる。
    例:seta m_accel "0.03"

  • m_limit
    説:m_accelで加速した速度の上限を示す。
    仮に2に指定すると、絶対にm_speed 2以上の速度にはならない。
    例:seta m_limit "2"

  • m_accelStyle
    説:m_accelの方式を示す。
    体感としてかなり違う、1の方が滑らかな印象。
    Quake Liveは常時Offsetが機能していることから、1がQLとほぼ同じ感覚。
    0 : オリジナル
    1 : Quake3e方式
    例:seta m_accelStyle "1"

  • m_accelOffset
    説:m_accelで加速がどこから始まるかの制限を示す。
    m_accelStyle 1じゃないと効かない。
    画像で見る方がわかりやすい

    例:seta m_accelOffset "0.001"

  • m_yaw
    説:m_speedの元になる値、横の移動を示す。
    横だけ移動量多くしたいときに使う、が
    他のゲームをプレイすることを考えるとオススメは出来ない。
    デフォルトの0.022で良い。
    例:seta m_yaw "0.022"

  • m_pitch
    説:m_speedの元になる値、縦の移動を示す。
    縦だけ移動量多くしたいときに使う、が
    他のゲームをプレイすることを考えるとオススメは出来ない。
    デフォルトの0.022で良い。
    例:seta m_pitch "0.022"

  • m_filter
    説:m_speedにフィルターをかけることを示す。
    最終2フレーム分のm_speed平均化するそうです、が
    2で割り切れない数字である125fpsではロスが発生する。
    現在はほとんどのプレイヤーが250fpsなのでまともに機能する
    使ってる人はかなり珍しい。
    例:seta m_filter "0"

  • in_mouse
    説:マウスの入力方式を示す。
    基本はRaw Inputである1が推奨。
    0 : 無入力
    1 : Raw Input
    2 : Win32 Input
    例:seta in_mouse "1"

  • cg_zoomSensitivity
    説:ズーム時のm_speedの比率を示す。
    1で通常時と等倍、0.1で通常時の0.1倍、10で通常時の10倍
    例:seta cg_zoomSensitivity "0.75"
ネットワーク系設定CVAR
  • rate
    説:Transfer Rate、伝送速度、1秒に受信するデータ量を示す。
    デフォは25000、サーバーで制限されているので50000とか書いても意味はない。
    大抵25000か30000、日本サーバーとグアムサーバーは30000までに制限してる。
    例:seta rate "30000"

  • cl_allowDownload
    説:自動ダウンロードの設定を示す。
    デフォは1、推奨も1。
    -1:Id製の極めて遅いダウンロード
    0:ダウンロードしない
    1:CNQ3の高速ダウンロード
    例:seta cl_allowDownload "1"

  • cl_maxpackets
    説:パケットのアップロード最大値を示す。
    デフォは125、下げる意味もないので変えないこと。
    例:seta cl_maxpackets "125"

  • cl_packetdup
    説:パケットごとに追加する予備の送信を示す。
    100ms以下の低遅延なら0で良い、100を越えるなら1にする。
    例:seta cl_packetdup "0"

  • seta cl_timenudge
    説:cg_nudgeがあるので触らないこと。
    例:seta cl_timenudge "0"

  • cg_nudge
    説:上記のcl_timenudgeを改良したもの、pingに応じて自動調整されるシステムを示す。
    低遅延なら0推奨。
    ping100以上の時にnudgeを -1*(ping-100)くらいに設定するのがおすすめ
    ping120だったらnudge -20とする
    有識者曰く「どうせ使うなら-999で良い」
    cg_xerpclients 1ではモデルのガクつきが顕著になるので0推奨
    更に詳しい挙動についての解説記事は
    こちら①[web.archive.org]
    こちら②[web.archive.org]
    こちら③[web.archive.org]
    例:seta cg_nudge "0"

  • cg_lagHax
    説:ラグ補正を示す。
    Quake Liveは常時設定変更不可の-1なので何も考えず-1でいい
    一応クライアント上の説明では、nudgeを使うなら-1にするなとは書いている。
    0:オフ
    -1:オン
    例:seta cg_lagHax "-1"

  • cg_optimiseBW
    説:接続方式を示す。
    デフォは1、基本的に1推奨
    2はダイヤルアップ並のひどい回線の時のみ使う、つまり使うことがない。
    1:サーバーからクライアント
    2:クライアントからサーバー
    例:seta cg_optimiseBW "1"

  • cg_predict
    説:遅延に対する予測コードを示す。
    デフォは1、推奨も1
    0にする意味がないので、1か2になりますが
    2はあらゆる環境で同一の予測が出来る利点がありましたが
    "動作の遅いPC"という定義が
    このコードの作られた2002年9月とは変わっているので
    わざわざこちらを選ぶ意味がないどころかcg_predictItemsに悪影響がある。
    0:オフ
    1:通常
    2:最適化
    例:seta cg_predict "1"

  • cg_predictItems
    説:アイテム取得の予測コードを示す。
    デフォは1、推奨も1
    ただしpingが高い場合、取得表示が出たにも関わらず取得していない現象が発生する
    基本的にping100以下なら1で良い、cg_predict 2とcg_predictItems 1の併用は禁忌。
    0:オフ
    1:オン
    例:seta cg_predictItems "1"

  • cg_truelightning
    説:LGのビーム部分表示形式を示す。
    デフォは1
    LGは即着ではあるが、pingの影響によって視点移動時のビーム照射に遅れが生じる
    その遅れの表示形式を示す。
    The ProMode Team(開発)によると
    「ping80~100以上でなければ1か-1で良い」とのこと。
    私個人の感覚としては
    ping90:0.9~0.95
    ping100:0.8~0.85
    このぐらいの数値が適切だと感じる。
    -1:無表示
    0:100%サーバー依存の表示
    0.001~0.999:低いほどサーバー依存、高いほどクライアント依存
    1:100%クライアント依存の表示
    例:seta cg_predictItems "1"

  • cg_xerpclients
    説:自分以外のプレイヤーモデルの動きの最適化を示す。

    ※前提知識として、Quake 3/Quake Liveは
    ヒットボックスに対して、モデルがズレます。
    スピードが出ていれば出ているほどズレも大きくなります。
    800ups出ているプレイヤーに対してRGを撃つべき場所は
    モデルの進行方向に対する後ろの空間といっても過言ではありません。

    説明に戻ります。
    -1は表示精度を犠牲として、モデルの動きをスムーズにする
    基本的にはcg_nudgeでマイナス値を入れるときに使う。
    0は100ms以下の低遅延向け、一切の最適化を行わない、見た目は一番スムーズ
    ただし表示上スムーズであるだけでしかない、実際にはモデルはズレてる。
    1はId製の最適化、cg_nudge 0じゃないとあまり役に立たない
    低遅延環境でもロケットを当てた相手モデルが壁に一瞬埋まるという弊害がある
    ただしモデルの動きは最もヒットボックスに近い、1以外でLGを当てるのは苦行。

    筆者個人の意見になりますが
    GT RL GL BFG:0
    MG SG LG RG PG:1
    がおすすめです。
    プロジェクタイル武器はPGを除いて、ノックバックが強ければ強いほど
    壁に思い切りめり込むことからこの4つは特に発生しやすく
    追撃するときに狙い場所に困ると感じる為です。(気にしない人は気にしませんが)
    ヒットスキャン武器はRGを除いて、ノックバックが上記4つより低く
    確実にヒットボックスを狙い続ける為なら
    一瞬だけモデルが壁に埋まる程度の犠牲は許せるはずだと考えられる為です。
    RGはリロードが長いのでそこまで影響もありません。

    -1:高遅延向け
    0:オフ
    1:Id製の最適化
    例:seta cg_xerpclients "1"
サウンド系設定CVAR
  • cg_fragsound
    説:敵を殺したときの音を示す。
    0:オフ
    1:トーン D
    2:トーン E
    3:トーン F#
    4:トーン G
    5:コルクの音
    6:レジスターの音
    7:フックの音(ほぼQuake1の斧で壁殴った音)
    例:seta cg_fragsound "7"

  • cg_nochatbeep
    説:チャットビープを鳴らさないようにするかどうかを示す。
    0:オフ
    1:オン
    例:cg_nochatbeep "1"

  • cg_oldCTFSounds
    説:CTF系モードで発生する旗周りのSEを示す。
    デフォは2
    0:Quake 3 Team Arenaの音
    1:Quake 3 Arena 1.17の音
    2:Team-specificの音
    例:cg_oldCTFSounds "2"

  • seta s_musicvolume
    説:音楽の音量を示す、このゲームにおいては言わずもがな0推奨。
    0:オフ
    0.1~16:音量値
    例:seta s_musicvolume "0"

  • seta s_volume
    説:SEの音量を示す、各環境で要調整。
    0:オフ
    0.1~1:音量値
    例:seta s_volume "0.2"

  • seta s_ambient
    説:MAPの環境音を示す、0推奨。
    0:オフ
    1:オン
    例:seta s_ambient "0"

  • seta s_automute
    説:非アクティブウィンドウ時にミュートするかどうかを示す。
    0:ミュートしない
    1:非アクティブウィンドウ時にミュート
    2:ウィンドウを最小化した時だけミュート
    例:seta s_automute "1"
武器性能表
武器名
型番
ダメージ
爆風
ダメージ
爆風
半径
弾速
リロード
備考  
DPS
実DPS
Gauntlet
weapon 1
50
N/A
N/A
N/A
400ms
範囲:32units
変更速度制限
125
100
Machine Gun
weapon 2
5
N/A
N/A
即着
100ms
拡散:5units
ランダム位置
変更速度制限
50
50
Shot Gun
weapon 3
6x16=96 
N/A
N/A
即着
950ms
拡散:900units
固定位置
101
96
Grenade Launcher
weapon 4
100
1~100
150units
800ups
800ms
起爆:2sec
125
100
Rocket Launcher
weapon 5
100
1~100(99)
120units
1000ups
800ms
N/A
125
100
Lightning Gun
weapon 6
10
N/A
N/A
即着
66ms
範囲:768units
照射後クールダウン100ms
151
150
Rail Gun
weapon 7
80
N/A
N/A
即着
1250ms 
範囲:∞
4体まで貫通
64
80
Plasma Gun
weapon 8
18
1~15
20units
2000ups
100ms
N/A
180
180
BFG10K
weapon 9
100
N/A
N/A
1800ups
1250ms 
爆風:無し
80
100
QL/QCと違い、所持している武器を拾っても
アモの供給は武器取得時の数になる
例:RL(9)を所持→RLを拾っても10までしか補充されない。
アモを拾うことで最大所持数まで取得可能です。
ヘルス性能表
取得値
取得上限値
リスポーン
Green Health
5
200
30秒
Yellow Health
25
100
30秒
Orange Health
50
100
30秒
Mega Health
100
200
取得プレイヤーのヘルスが100になってから20秒
極一部のmode/mapは35秒
アーマー性能表
取得値
取得上限値
ダメージ負担率
リスポーン
Armor Shard
5
200
取得アーマー依存
25秒
Green Armor
50
100
アーマー1:ヘルス1
25秒
Yellow Armor
100
150
アーマー2:ヘルス1
25秒
Red Armor
150
200
アーマー3:ヘルス1
25秒
パワーアップ性能表
効果
スポーン
Quad Damage
ダメージ4倍
開始15~30秒間ランダム(他のPU有は同時)、取得から90秒後リスポーン
2v2は120秒後リスポーン
Regeneration
ヘルス200まで1秒ごとに、100以下なら15回復、100以上なら5回復
開始15~30秒間ランダム(他のPU有は同時)、取得から90秒後リスポーン
Haste
プレイヤー速度とリロードが25%加速
開始15~30秒間ランダム(他のPU有は同時)、取得から90秒後リスポーン
Battle Suit
ダメージ75%軽減、スプラッシュダメージ無効
開始15~30秒間ランダム(他のPU有は同時)、取得から180秒後リスポーン
Invisibility
透明になる、頭だけ薄い髑髏になる
開始15~30秒間ランダム(他のPU有は同時)、取得から180秒後リスポーン
Steamから起動する方法
Steam→ライブラリ→Quake 3 Arenaを右クリック→プロパティ→一般にある起動オプションに
"C:\Program Files (x86)\Steam\steamapps\common\Quake 3 Arena\cnq3-x64.exe" %command%
※デフォルトのインストールディレクトリの場合です。

このように入力することで、Steam上のQuake 3 Arenaがcnq3.exeで実行されます。
Quake 3 Arenaとしてプレイ時間も計上されます。

※注意事項※
Quake 3 CPMAのファイル(cnq3.exe,cpmaファイルの中に入っているもの全て)は
Steamの販売/配信しているQuake 3 Arenaではないので
Steamのバックアップの対象になりません。

各自必要なファイルバックアップを取ることを心がけましょう。
Link
このガイドを作る理由になった
Quake 3 CPMA 日本コミュニティ Discordサーバー
招待Link : https://discord.gg/NbnQ6mW7Y7
================ここから下は工事中================
ここから上は編集完了、CPMA導入の説明は全て出来ています。
クロスヘア系設定CVAR
cg_drawcrosshair
cg_drawCrosshairnames
cg_crosshairHealth
cg_crosshairSize
cg_crosshairX
cg_crosshairY
ch_crosshairAlpha
ch_crosshairColor
ch_crosshairFragColor
敵殺したときに色がつくかどうか
ch_crosshairHitColor
敵に攻撃が当たった時に色がつくかどうか
ch_crosshairPulse
なんらかの行動でクロスヘアを広げるかどうか
cl_系設定CVAR
con_系設定CVAR
com_系設定CVAR
cg_系設定CVAR
ch_系設定CVAR
r_系設定CVAR
r_backend
r_brightness
r_colormiplevels
r_detailtextures
r_displayrefresh
r_dynamiclight
r_ext_max_anisotropy
r_fastsky
r_finish
r_framesleep
r_fullbright
r_greyscale
r_lightmap
r_lightmapGreyscale
r_lodbias
r_lodscale
r_mapBrightness
r_mapGreyscale
r_mapGreyscaleCTF
r_msaa
r_picmip
r_roundImageDown
r_showsky
r_subdivisions
r_swapInterval
r_textureMode

r_fullscreen
r_gamma
r_customaspect
r_blitmode
r_mode
r_monitor
r_height
r_width
WeaponConfigの使い方
Commandの使い方
Chat bindの使い方
demoの使い方
mapの使い方
MAPの変更方法
Quakeシリーズにおいて、MAPの変更という概念は
"MAP vote"と呼ばれています。

他の作品では基本UI(ユーザーインターフェイス)で変更が行われますが
Quake 3 CPMAは古いゲームであることと
やってるプレイヤー自身の最適化が進み過ぎていることから
殆どのプレイヤーがConsoleで打ちこんでいます。

モードの解説
1v1
言わずもがな、Quakeシリーズといえばこれ
とまで言われているモードです。
CPMA独自のシステムとして
時計の"秒"が試合終了30秒前になるまで見えません


2v2

TDM

CTF

CTFS

NTF
hitboxとmodelについて

このようにQuake 3 CPMAのhitboxは直方体です。
比較例として、Quake Liveのhitboxは円柱です。
(記憶違い、勘違いを回避するためにQLの画像は非掲載)

次に、Quake 3 Arena / Quake Liveの特徴として
一文に要約すると、modelの進行方向の後ろにhitboxがズレます。
スピードが出ていれば出ているほどズレも大きくなります。
800up以上出ているmodelに対して横からRGを撃つ時
撃つべき場所はmodelの進行方向に対する後ろの空間といっても過言ではありません。

何故このようなことが起きるのかというと
sv_fps(またはsnaps) / サーバー上で1秒間に何回プレイヤーの動作が計算されているか
という数値ですが、Quake 3 CPMAのsv_fpsは30しかないためです。
比較例として、Quake Liveのsv_fpsは40です。

modelが滑らかに見えるのはクライアント(プレイヤーの画面)が125/250fpsであること
cg_xerpclients、cg_laghax、cg_nudge等による補完が行われているためです。

次に、では何故hitboxが後ろにズレているのか、厳密に要約すると
hitboxがズレているのではなく、modelの先を予測して補完(表示)する時にズレが生じるからです。
特に、800ups以上なんてハイスピードを出されると予測が先行してしまうのです。
仮に補完しないmodel、hitboxに完全に合わせた表示をが出来たとしても
それはもはや紙芝居になるでしょう、modelの動きだけ30fpsしか出ていないのですから。

上記の説明を理解した上で、次の問題として遅延、つまりpingがあります。
とはいったものの、不安定な接続であることは除いて
model&hitboxへの影響は実は軽微です、気にするレベルではありません。
何が問題か、プレイヤーの攻撃に影響があります。
"遅延"ですからね、説明不要なんじゃないか?とも思いましたが
クリックしてから反映されるまでの時間です。
上記のhitboxズレの問題と反映されるまでのタイムラグ

この問題はローカル(ping 0)ではない限り、解決する方法は存在しません


「sv_fpsも60とか125にすれば良いじゃん」という意見もありますが
この方法を選択することはありません、理由として
  • CPMA自体が最適化されていない、推奨も30である
    現時点での推奨[www.playmorepromode.com]は30、最大値も40に制限されています。
  • 遅延の影響が直撃する
    ぶっちゃけた話、このゲームが100msでも普通に戦えるのはsv_fpsが低い故です、高ければ高いほどlow ping有利になります。
  • サーバーマシンへの負荷
    わかりやすいぐらい負荷が倍以上に増えます、立てる人への金銭的負荷も同上です。

ちなみに筆者があまり好きではない挙動である
"cg_xerpclients 1"の時のみ発生する
RLやGL等のノックバックが強い武器を当てた時に一瞬壁に埋まる現象
これもmodelの補完によるものです。

サーバーからまだ情報与えられていないのに、吹っ飛んだmodelの表示を強めに(xerp 1)補完する
そんな状況でどうするか、ノックバックで動く方向に動かす
その際、壁とか床を一瞬無視しているのだと思われます。