Civ4 Internet lobby目次
1. はじめに・事前準備
このページは、Civ4 Internet lobby(pylobbyをベースにしたロビーサーバー)を使ってCivilization IVのマルチプレイに参加したい方向けの手順書です。Civ4 Internet lobby自体の概要はCiv4 Internet lobbyとはを参照してください。
参加する前に、以下を確認・用意してください。
Civilization IV: Beyond the Sword 本体(拡張版が必要です。無印版のみでは参加できません。Colonizationをお使いの場合も接続できます)
バージョン3.19であること
メインメニューまたはタイトル画面でバージョンを確認できます。3.19より古い場合は、公式パッチを適用してアップデートしてください。マルチプレイは参加者全員が同じバージョンでないと接続できません。
hostsファイルを編集できる管理者権限
このページはWindowsでの参加を前提に説明します。Linux(Wine・Steam Proton)でも参加可能ですが、手順が一部異なるため末尾の付録(5章)にまとめています。
Steam版を利用している場合の注意
Steam版はデフォルトで最新のリリースパッケージに追従する設定になっており、これがマルチプレイ用の3.19と一致しないことがあります。日本語化パッチを適用済みの場合は、多くのケースでそのままロビーに接続できます。接続できない場合は、Steamのライブラリで「Sid Meier’s Civilization IV: Beyond the Sword」を右クリック→「プロパティ」→「ベータ」タブから、案内役の指示に従ってベータブランチを切り替えてください。
2. hostsファイルの書き換え(必須)
Civilization IVは、マルチプレイのログインやマッチングの際に、あらかじめプログラム内に組み込まれた「GameSpy」というサービスのドメイン名にアクセスしようとします。GameSpyのサービス自体はすでに終了しているため、そのままでは接続できません。そこで、Windowsのhostsファイルを書き換えて、これらのドメイン名へのアクセス先をCiv4 Internet lobbyのサーバーに向ける必要があります(Linuxをお使いの場合は付録(5章)を参照してください)。
2-1. hostsファイルを開く
C:\Windows\System32\drivers\etc\hostsをコピーし、同じフォルダにhosts.bakなど別名で保存しておく(念のためのバックアップ。編集に失敗した場合はここから復元できます)メモ帳を管理者として実行する(スタートメニューでメモ帳を検索→右クリック→「管理者として実行」)- メモ帳の「ファイル」→「開く」から、以下の場所を開く
C:\Windows\System32\drivers\etc\hosts
ファイルの種類が「テキスト文書」のままだとhostsファイル(拡張子なし)が表示されないことがあるので、ファイル選択ダイアログの右下を「すべてのファイル」に変更してください。
- 下記2-2の内容を、ファイルの末尾に貼り付けて保存する
管理者権限で開いていない場合、編集後の保存時に「アクセスが拒否されました」というエラーになります。
2-2. 追記する内容
以下の内容をそのまま、対象のhostsファイルの末尾に追記してください。**motd.gamespy.comの行だけは127.0.0.1のままにしてください(書き換えないでください)**。civ4(無印)・BTS(海外版)・BTS日本語版・Colonization(海外版)・Colonization日本語版の5エディション分をまとめて登録しているため、普段使わないエディションの行があっても問題ありません(削除する必要もありません)。
127.0.0.1 motd.gamespy.com
133.88.118.124 gmtest.master.gamespy.com
133.88.118.124 peerchat.gamespy.com
133.88.118.124 gpcm.gamespy.com
133.88.118.124 gpsp.gamespy.com
133.88.118.124 gamestats.gamespy.com
133.88.118.124 master.gamespy.com
133.88.118.124 natneg1.gamespy.com
133.88.118.124 natneg2.gamespy.com
133.88.118.124 natneg3.gamespy.com
133.88.118.124 civ4.available.gamespy.com
133.88.118.124 civ4.ms1.gamespy.com
133.88.118.124 civ4.ms2.gamespy.com
133.88.118.124 civ4.ms3.gamespy.com
133.88.118.124 civ4.ms4.gamespy.com
133.88.118.124 civ4.ms5.gamespy.com
133.88.118.124 civ4.ms6.gamespy.com
133.88.118.124 civ4.ms7.gamespy.com
133.88.118.124 civ4.ms8.gamespy.com
133.88.118.124 civ4.ms9.gamespy.com
133.88.118.124 civ4.ms18.gamespy.com
133.88.118.124 civ4.master.gamespy.com
133.88.118.124 civ4.natneg1.gamespy.com
133.88.118.124 civ4.natneg2.gamespy.com
133.88.118.124 civ4.natneg3.gamespy.com
133.88.118.124 civ4bts.available.gamespy.com
133.88.118.124 civ4bts.ms1.gamespy.com
133.88.118.124 civ4bts.ms2.gamespy.com
133.88.118.124 civ4bts.ms3.gamespy.com
133.88.118.124 civ4bts.ms4.gamespy.com
133.88.118.124 civ4bts.ms5.gamespy.com
133.88.118.124 civ4bts.ms6.gamespy.com
133.88.118.124 civ4bts.ms7.gamespy.com
133.88.118.124 civ4bts.ms8.gamespy.com
133.88.118.124 civ4bts.ms9.gamespy.com
133.88.118.124 civ4bts.master.gamespy.com
133.88.118.124 civ4bts.natneg1.gamespy.com
133.88.118.124 civ4bts.natneg2.gamespy.com
133.88.118.124 civ4bts.natneg3.gamespy.com
133.88.118.124 civ4btsjp.available.gamespy.com
133.88.118.124 civ4btsjp.ms1.gamespy.com
133.88.118.124 civ4btsjp.ms2.gamespy.com
133.88.118.124 civ4btsjp.ms3.gamespy.com
133.88.118.124 civ4btsjp.ms4.gamespy.com
133.88.118.124 civ4btsjp.ms5.gamespy.com
133.88.118.124 civ4btsjp.ms6.gamespy.com
133.88.118.124 civ4btsjp.ms7.gamespy.com
133.88.118.124 civ4btsjp.ms8.gamespy.com
133.88.118.124 civ4btsjp.ms9.gamespy.com
133.88.118.124 civ4btsjp.master.gamespy.com
133.88.118.124 civ4btsjp.natneg1.gamespy.com
133.88.118.124 civ4btsjp.natneg2.gamespy.com
133.88.118.124 civ4btsjp.natneg3.gamespy.com
133.88.118.124 civ4colpc.available.gamespy.com
133.88.118.124 civ4colpc.ms1.gamespy.com
133.88.118.124 civ4colpc.ms2.gamespy.com
133.88.118.124 civ4colpc.ms3.gamespy.com
133.88.118.124 civ4colpc.ms4.gamespy.com
133.88.118.124 civ4colpc.ms5.gamespy.com
133.88.118.124 civ4colpc.ms6.gamespy.com
133.88.118.124 civ4colpc.ms7.gamespy.com
133.88.118.124 civ4colpc.ms8.gamespy.com
133.88.118.124 civ4colpc.ms9.gamespy.com
133.88.118.124 civ4colpc.ms11.gamespy.com
133.88.118.124 civ4colpc.master.gamespy.com
133.88.118.124 civ4colpc.natneg1.gamespy.com
133.88.118.124 civ4colpc.natneg2.gamespy.com
133.88.118.124 civ4colpc.natneg3.gamespy.com
133.88.118.124 civ4coljp.available.gamespy.com
133.88.118.124 civ4coljp.ms1.gamespy.com
133.88.118.124 civ4coljp.ms2.gamespy.com
133.88.118.124 civ4coljp.ms3.gamespy.com
133.88.118.124 civ4coljp.ms4.gamespy.com
133.88.118.124 civ4coljp.ms5.gamespy.com
133.88.118.124 civ4coljp.ms6.gamespy.com
133.88.118.124 civ4coljp.ms7.gamespy.com
133.88.118.124 civ4coljp.ms8.gamespy.com
133.88.118.124 civ4coljp.ms9.gamespy.com
133.88.118.124 civ4coljp.ms11.gamespy.com
133.88.118.124 civ4coljp.master.gamespy.com
133.88.118.124 civ4coljp.natneg1.gamespy.com
133.88.118.124 civ4coljp.natneg2.gamespy.com
133.88.118.124 civ4coljp.natneg3.gamespy.com
書き換えたら保存します。
2-3. DNSキャッシュのクリア(通称「フラッシュ」)
hostsファイルを保存しただけでは、Windowsが古い名前解決の結果を覚えたままになっていることがあります。これをクリアする作業を、コミュニティ内では通称「フラッシュ」と呼んでいます。hostsファイルの書き換えと必ずセットで行ってください。
- スタートメニューで「コマンドプロンプト」を検索し、こちらも管理者として実行する
- 以下のコマンドを入力してEnterを押す
ipconfig /flushdns
- 「DNS リゾルバー キャッシュは正常にフラッシュされました。」と表示されれば完了
反映がうまくいかない場合は、PCを再起動すると確実です。
2-4. 設定できているか確認する
コマンドプロンプト(管理者権限は不要)で以下を実行します。
ping civ4btsjp.ms5.gamespy.com
追記した133.88.118.124が以下の様に返ってくれば設定は正しく反映されています。
civ4btsjp.ms5.gamespy.com [133.88.118.124]に ping を送信しています
別の値やエラー(NXDOMAINなど)が返る場合は、hostsファイルの内容とフラッシュ作業(2-2・2-3)を見直してください。
2-5. Civ4クライアントを再起動する
hostsファイルを書き換えたら、必ずCivilization IVをいったん終了し、起動し直してください。 起動したままの状態では変更が反映されません。
3. ロビーへの接続・参加手順
hostsファイルの設定が終わったら、Civilization IVを起動して以下の手順でロビーに参加します。
- Civilization IVを起動する
- メインメニューから「マルチプレイヤー」→「インターネットゲーム」を選ぶ
- 「ログイン」画面が表示されるので、アカウントを作成(初回のみ)またはログインする
- ロビーに接続すると、開催中の部屋の一覧が表示される
- 参加したい部屋を選んで「参加」を押すか、自分で部屋を作る場合は「ゲームを作成」を選ぶ
- 部屋の中でプレイヤーが揃ったらホストがゲームを開始する
参加時にホストと自分のネットワーク環境が異なっていても(自宅・外出先などバラバラでも)、ロビー側でNAT越えの処理を行うため、通常は各プレイヤー側でのポート開放などの追加設定は必要ありません。
4. よくあるトラブルと対処
ロビーにログインできない・ログイン画面にすら行けない
- hostsファイルの追記内容とDNSキャッシュのクリア(2章)を再確認する
- 2-4の確認コマンドで、意図したアドレスが返ってきているか確認する
- Linux(Wine・Steam Proton)で参加している場合は、付録(5章)の手順(特にWineプレフィックス内のhosts)も確認する
- ウイルス対策ソフトやファイアウォールが通信をブロックしていないか確認する
hostsを直したのに反映されない
- Civilization IVを再起動したか確認してください(起動中には反映されません。2-5)
ロビー入室直後にフリーズする
- hostsの
motd.gamespy.comの行が127.0.0.1になっているか確認してください(誤って他のアドレスに書き換えると、この症状が起きます)
ロビーの処理が途中で連鎖的に失敗する
- お使いのエディションの
ms1〜ms9(civ4btsjp.ms1.gamespy.comなど)がhostsに登録されているか確認してください。2-2の内容を部分的にではなく、まとめて貼り直すと確実です
部屋に参加しようとすると「交信しています」のまま固まる
- 主に、それまでホスト役としてしか使ったことのない環境で初めて参加者側になった場合に起きやすい症状です
- 原因は
natneg1〜natneg3(お使いのエディション名を付けたもの。例:civ4btsjp.natneg1.gamespy.com)がhostsに登録されていないことです - Windowsの場合、以下のコマンドで該当行があるか確認できます
ping civ4btsjp.natneg1.gamespy.com
追記した133.88.118.124が以下の様に返ってくれば設定は正しく反映されています。
civ4btsjp.natneg1.gamespy.com [133.88.118.124]に ping を送信しています
NXDOMAINなどが返る場合は該当行が抜けています。2-2の内容を部分的に追記するのではなく、まとめて貼り直してください
「サーバー接続不能: ゲーム検索サーバーと接続できませんでした」と表示される、またはログイン後にエラーも無く画面が固まる
- サーバー側の設定に起因する可能性があります。稼働状況・お知らせを確認してください
部屋を作成したがメンバーが参加できない
- 失敗する場合は稼働状況・お知らせを確認してください
Windowsのhostsファイルの編集に失敗した・内容がおかしくなった
- 2-1で作成した
hosts.bakから復元してください
上記で解決しない場合
このページの手順で解決しない場合は、Civ4掲示板で質問してください。
5. 付録: Linux版(Wine・Steam Proton)での参加
このページの本文はWindowsでの参加を前提に説明していますが、Linux上でも(Wine単体、またはSteam版をProtonで動かす形で)参加できます。基本的な流れは2〜4章と同じで、hostsファイルの編集方法のみ以下のように読み替えてください。
5-1. hostsファイルの書き換え
Linuxネイティブ版、または通常の/etc/hostsのみで動くWine環境の場合は、/etc/hostsを編集します。
sudo cp -a /etc/hosts /etc/hosts.bak.$(date +%Y%m%d_%H%M%S) # バックアップ
2-2. 追記する内容を追記します。
sudo tee -a /etc/hosts # 2-2の内容を貼り付けてCtrl+D
Steam版をProton経由で動かしている場合、Civ4はWine内部の独自のhostsファイルを見るため、**/etc/hostsの変更だけでは反映されません**。以下のWineプレフィックス内のhostsも同様に書き換えてください(Beyond the SwordのSteam App IDは8800)。
PFX=~/.local/share/Steam/steamapps/compatdata/8800/pfx/drive_c/windows/system32/drivers/etc/hosts
cp -a "$PFX" "$PFX.bak.$(date +%Y%m%d_%H%M%S)" # バックアップ
grep gamespy /etc/hosts >> "$PFX"
(このファイルが存在しない場合は、WineがLinux側の名前解決に委譲しているため、この作業は不要です)
5-2. DNSキャッシュのクリア
sudo resolvectl flush-caches 2>/dev/null || true
5-3. 設定できているか確認する
getent hosts civ4btsjp.ms5.gamespy.com
追記した133.88.118.124が返ってくれば設定は正しく反映されています。
5-4. Civ4クライアントを再起動する
Windows版と同様、hostsファイルを書き換えたら必ずCivilization IVをいったん終了し、起動し直してください。
以降のロビーへの接続手順(3章)、トラブルシューティング(4章。Wineプレフィックスのhostsが未反映のケースを含む)は共通です。