|
HALO PC専用サーバガイド(v1.03対応)
|
HALO PCではプレイヤーが毎回サーバを立てなくても、自動的にサーバを起動してさまざまなマップやゲームタイプをローテーションさせてオンライン対戦ができるHALO専用サーバというものが用意されています。
ただこれはアメリカのHALO PC公式ページでは紹介されているものの、日本の公式ページではまったく触れられていません。そこでその専用サーバのガイドの日本語訳を掲載します。
|
|
専用サーバの機能
|
HALO専用サーバの機能は以下の通りです。
- スタンドアローンアプリケーション
- フレキシブルなマルチプレイのサポート
- クライアントリモートコントロール機能
- コマンドラインによる実行
- プレイヤーの追出しと禁止
- ゲームタイプのカスタマイズと使用マップのローテーション
- パスワード保護されたサーバ
v1.03では以下の機能追加、バグ修正が行われています。
- 仲間内での殺し合いを減らす機能やユーザの禁止を簡単に行える機能拡張
- 大きなマップローテーションファイルのロード時間を大幅に減少させる最適化
- sv_players機能の拡張
- マップのローテーション時にチームが持続するようになりました
- マップをローテーションすることなく、現在のゲームをリスタートできるようになりました
- -pathによってデータフォルダディレクトリを特定できます
|
|
必要動作環境
|
HALO専用サーバでは以下のスペックが最低でも必要とされます。
- クロック733MHz以上のCPU
- Windows 98 SE、Windows ME、Windows 2000 サービスパック1、Windows XPのいずれかのOS
- 128MBのメモリ
- 200MBのハードディスク空き容量
- キーボードとマウス
- ブロードバンドによるインターネット接続
製品版HALO PCで必要とされる以下のスペックは専用サーバでは必要ありません。
- 8倍速以上のCD-ROMドライブ
- ビデオメモリ32MB
- サウンドカードとスピーカーもしくはヘッドフォン
- DirectX 9.0b
HALO専用サーバを動作させるのに最適なスペックは以下の通りです。
- クロック1.4GHz以上のCPU
- Windows XPもしくはWindows 2003 Server(全サービスパックを適用済みのもの)
- 256MB以上のメモリ
- キーボードとマウス
|
|
インストール
|
HALO専用サーバでは2つの自己解凍ファイルが用意されています。
Halo_DS_1_02.exe
このファイルにはHALO専用サーバのバイナリファイルが含まれています。専用サーバのバージョンアップがあったときは、このファイルを更新します。
Haloded_1_03.exe
HALO専用サーバを利用するために必要な1.03アップデートです。1.02のファイルをインストール後にこのファイルを実行してください。
Halo_DS_Maps_1_02.exe
このファイルにはHALO専用サーバに必要とされるマップが収録されています。このファイルをダウンロードするのは一度だけです。製品版HALO PCをインストールしている場合は製品版のマップを使用するため、あらためてマップをダウンロードする必要はありません。
インストールはダウンロードしたファイルをダブルクリックして、表示される画面の指示にしたがってください(ダウンロード先を指定するだけです)。
|
|
HALO専用サーバの動作
|
1. HALO専用サーバをインストールしたフォルダを表示します
2. haloded.exeをダブルクリックします
haloded.exeをダブルクリックするとコンソール画面が開きます。ここからコマンドラインを入力することでHALO専用サーバを操作できます。
v1.03ではコマンドラインの引数で -path と入力することで、サーバ管理者はデータディレクトリを特定することができます。これを利用すればカスタムゲームタイプやデータフォルダをディスクドライブの好きな場所に保存することができます。
注意:今回の新しい引数の導入で、データファイルのデフォルトが専用サーバのインストールディレクトリから"My Documents"フォルダに変更されています。ユーザごとにパーミッションを設定しているサーバ管理者は注意してください。-path の引数を利用したくない場合、禁止リストをデフォルトディレクトリに移してください。
|
|
設定ファイルのinit.txt
|
HALO専用サーバではinit.txt(インストールフォルダにあります)でサーバのオプションと使用マップの順番を設定します。init.txtにはコンソールコマンドを入力することができます(コンソールコマンドについては後述します)。
たとえば以下の設定でサーバを起動するとします。
- 名前:Halo_DS
- ゲームスパイのサーバ一覧に掲載するか?:掲載する
- 最大プレイ人数:12
- パスワード:halo
- マップ変更までの時間:15秒
この場合、init.txtファイルに以下のとおり記述します。
sv_name Halo_DS
sv_Public True
sv_maxplayers 12
sv_password halo
sv_mapcycle_timeout 15
マップをローテーションさせる場合、ローテーションのリストをinit.txtに記述します。この場合、sv_mapcycle_addコマンドを使用します。
たとえば以下の設定でマップとゲームタイプをローテーションさせるとします。
- TimberlandでCTFをプレイ
- Danger CanyonでAssaultをプレイ
- GephyrophobiaでSlayerをプレイ
- Blood GulchでCrazy Kingをプレイ
init.txtの記述は
sv_mapcycle_add Timberland CTF
sc_mapcycle_add dangercanyon assault
sc_mapcycle_add gephyrophobia slayer
sv_mapcycle_add bloodgulch "crazy king"
となります。
専用サーバをスタートさせるにはsv_mapcycle_beginコマンドを使用します。
haloded.exeを起動するたびに、設定の初期化のためにinit.txtが参照されます(-execを利用して別のファイルを指定した場合は別です)。
デフォルトで利用できるゲームタイプは以下の通りです。
oddball
slayer
juggernaut
king
crazy king
race
ctf
assault
team slayer
team oddball
team race
またクラシックゲームもデフォルトのゲームタイプとしてサポートされています(クラシックゲームの一覧は製品版HALOを参照してください)。
ゲームタイプをカスタマイズして(製品版HALOを使用します)、それをマップローテーションに組み込むことも可能です。たとえば使用武器がロケットランチャーのみのマップを組み入れることができます。
その手順は以下の通りです。
- 製品版HALO PCを立ち上げます
- メインメニューのマルチプレイを選んで、そこからゲームタイプの編集(Edit Game Types)を選択します
- 新しいゲームタイプを作成します(ゲームタイプの作成方法はHALOの取扱説明書を参照してください)
- 作成したゲームタイプを保存します
- HALO PCを終了します
- HALOのゲームセーブフォルダを開きます(デフォルトでは"My Documents\My Games\Halo\savegames")
- 作成したゲームタイプの名前がフォルダとして見つかるはずです
- サーバでこのフォルダが利用できることを確認します(同じディスク上にあるかどうか)
- mapcycle.txtファイルにあるカスタムゲームタイプを使用します。
|
|
専用サーバの複数起動
|
HALO専用サーバは1台のコンピュータで複数起動することができます。この場合それぞれのサーバは別のネットワークポートを必要とします。複数のサーバを起動するには以下の手順を読んでください。同時に起動できる最大サーバ数は8つです。
複数のサーバを起動する場合、それぞれにinit.txtファイルが必要となります。
HALO専用サーバがE:\HaloPCフォルダにある場合の起動例です。
E:\HaloPC\haloded.exe -exec e:\halopc\init1.txt -cpu 0 -port 2301
E:\HaloPC\haloded.exe -exec e:\halopc\init2.txt -cpu 1 -port 2305
E:\HaloPC\haloded.exe -exec e:\halopc\init3.txt -cpu 0 -port 2307
それぞれの引数を説明します。
-exec
どのinit.txtファイルを利用するのかを指定します。
-cpu
マルチプロセッサコンピュータ(SMP)をサーバに使用している場合、HALO専用サーバを特定のCPUで起動することができます。引数は -cpu n で、nにはCPU番号が入ります。0が1つ目のCPUになります。
-port
複数サーバを起動する場合、それぞれ別々のポートを利用します。-portでサーバが利用するポート番号を特定します。ポートを特定しなかった場合、自動的に空きポートが選ばれます。
|
|
リモートコンソールの使用
|
デフォルト設定ではRCon(リモートコンソール)は無効になっています。RConを有効にするには、コンソールコマンドでパスワードを入力しなければいけません。
rcon パスワード コマンド 引数
パスワードはクライアントが接続しているサーバのRConのパスワードです。
コマンドはコンソールコマンドです(コンソールコマンドの項を参照してください)。
引数はコンソールコマンドの引数です。
|
|
チーム内の裏切りの抑制とプレイヤーの禁止
|
HALO専用サーバv1.03ではチーム内の裏切りを抑制する新しいシステムが導入されました。
システムはとてもシンプルでフレキシブルで、サーバ管理者は最高のゲーム体験だと思える最適な設定を、簡単にサーバに反映させることができます。
プレイヤーがチーム内の誰かを殺すと、"チームキルポイント(TKP)"が与えられます。プレイヤーのTKPが一定数に達すると、そのプレイヤーは自動的にサーバから追い出され、禁止されます。TKPを設定する場合、コンソールコマンドでsv_tk_banと入力します。
sv_tk_ban 4
この場合、プレイヤーが追い出されるTKPは4ということになります。
あるプレイヤーが設定されたTKPに達すると自動的にサーバから追い出されます。そしてコンソールコマンドのsv_tk_penaltyで設定した期間、サーバに接続することができません。
さらに繰り返し不快な行動をとるプレイヤーに対して、別の設定を行うこともできます。たとえばTKPが一定数に達して追い出されて5分接続が禁止されたプレイヤーが、その後不快な行動をさらに行った場合、接続禁止の時間を長くすることができます。
sv_tk_penaltyでは4つの時間を設定することができます。あるプレイヤーが5回不快な行動を行うと、永久的に禁止されます。もちろんサーバ管理者はいつでも意図的にプレイヤーを追い出すことができます。
sv_tk_penalty 5m 1d 0
sv_tk_penalty 5m 1h 8h 1d
1つ目の例では、1回目のペナルティが5分、2回目が1日、3回目が永久的となっています(0は永久的を意味します)。
2つ目の例では、1回目のペナルティが5分、2回目が1時間、3回目が8時間、4回目が1日で、5回目で永久的に禁止されます。
チームメイトの殺害は事故で起こりえます。したがって"クールダウン"の時間を用意しています。プレイヤーが偶発にTKPを与えられても、クールダウン時間で設定した間にチームメイトを殺さなければ、TKPは1ポイント免除されます。
sv_tk_cooldown 5m
この場合、クールダウン時間は5分です。
繰り返しますが事故はつきもので、ロケットランチャーやグレネードでチームメイトを3人殺してしまうこともあるかもしれません。この場合、即座にTKPが3ポイント加算されることになります。こういった事故で不適切な禁止が起こらないように、"裏切り猶予期間"が設けられています。この期間はTKPが与えられたプレイヤーにさらにTKPが追加されるまでの猶予期間(秒数)です。
sv_tk_grace 3s
猶予期間は3秒に設定されています。したがって3秒以内なら、プレイヤーが4人のチームメイトを殺してもTKPは1ポイントです。
最後にv1.02と同じく、プレイヤーインデックスを使ってプレイヤーを個別に禁止することができます。コンソールコマンドのsv_tk_playersでプレイヤーのTKPとクールダウンタイマーを表示します。
|
|
コンソールコマンド
|
cls
画面上のテキストをクリアします。
help [コンソールコマンド]
コンソールコマンドについてのヘルプが表示されます。
quit
HALO専用サーバを終了します。
sv_ban [プレイヤー名もしくはインデックス]
プレイヤー名やインデックスのプレイヤーを禁止します。
sv_ban_penalty [time1] [time2] [time3] [time4]
不快な行動を繰り返し行ったプレイヤーへのペナルティの時間を設定します。1回目のペナルティは[time1]、2回目は[time2]、3回目は[time3]、4回目は[time4]で設定します。5回目のペナルティでは永久的にプレイヤーを禁止します(サーバ管理者が禁止を解除するまでです)。時間はns(n秒)、nm(n分)、nh(n時間)、nd(n日)もしくは0で設定し、nには1〜9の数字が入ります。0の場合は無限になります。
sv_banlist
禁止されたプレイヤーの一覧を表示します。
sv_banlist_file
保存とロードを行う禁止リストファイルを特定します。設定できるファイル名はbanlist##.txtのみで、##には2桁の数字が入ります。これによって禁止リストに記載された名前の閲覧を制限しつつ(セキュリティ目的で)、複数のサーバでそれぞれの禁止リストを使用することができます。
sv_end_game
現在のゲームを終了します。その後、マップローテーションリストにある次のゲームがスタートします。
sv_kick [プレイヤー名もしくはインデックス]
プレイヤー名やインデックスのプレイヤーを蹴りだします。
sv_map [マップ名] [ゲームタイプ]
マップ名のマップ、ゲームタイプのゲームタイプでゲームを開始します。ゲームが終了すると、同じマップ、同じゲームタイプでリスタートします。このコマンドはマップローテーションに優先します。
sv_mapcycle
ゲームリストを表示します。
sv_mapcycle_add [マップ名] [ゲームタイプ]
ゲームリストの末尾にマップ名のマップ、ゲームタイプのゲームを追加します。
sv_mapcycle_begin
マップローテーションを開始します。
sv_mapcycle_del [インデックス]
インデックスのゲームをマップローテーションリストから削除します(sv_mapcycleコマンドでゲームのIDを見ることができます)。
sv_mapcycle_timeout n
ゲーム終了後、次のゲームが開始されるまでの待ち時間を秒数で指定します(ゲーム終了後のレポートをプレイヤーがどれくらい見られるかを決めます)。
sv_map_next
現在のゲームを終了して、マップローテーションリストの次のゲームに移動します。
sv_map_restart
ゲームをリスタートします。
sv_maxplayers n (デフォルトの値は16)
参加できるプレイヤーの最大数を設定します。
v1.03での変更:init.txtファイルで設定しておくこともできますし、コンソールでいつでも変更することもできます。ただし指定した数より現在のプレイヤー数が多くても、現在のゲームから蹴りだされることはありません。
sv_name [文字列] (デフォルトの値は"Halo"です)
サーバ名を設定します(最大64文字)。これはマップローテーションが開始される前にinit.txtファイルで設定しておく必要があります。
v1.03アップデートによってサーバ名に使用できるのは英数字だけではなくなりました。キーボード上のほとんどの文字が使用できますが、外字やアクセント文字は使えません。
sv_password [文字列]
サーバのパスワードを設定します。これはマップローテーションが開始される前にinit.txtファイルで設定しておく必要があります。
sv_players
専用サーバから追い出したり禁止するため、プレイヤー名やそのインデックスを表示します。
sv_public [1もしくは0] (デフォルト値は1)
GameSpyマスターサーバに表示するか(1)、しないか(0)を決定します。これはマップローテーションが開始される前にinit.txtファイルで設定しておく必要があります。0に設定した場合、LANゲームのホストと同じことになります。
sv_rcon_password [文字列]
RConのパスワードを設定します。空の文字列 "" をパスワードとして設定することで、RConを無効にします。
sv_status [1もしくは0]
専用サーバの状態をコンソールに表示し続けるかどうかを設定します。
sv_tk_ban n
プレイヤーを追出し、禁止するチームキルポイントの数値を設定します。詳しくは"チーム内の裏切りの抑制とプレイヤーの禁止"の項目を参照してください。
sv_tk_grace [time]
TKPの猶予期間を設定します。たとえば3秒に設定したら(3s)、3秒以内ならばプレイヤーが4人のチームメイトを殺してもTKPは1ポイントです。
sv_tk_cooldown [time]
プレイヤーがチームメイトを殺害しなければ、TKPが1ポイント免除されるクールダウンの時間を設定します。
sv_unban [プレイヤー名]
プレイヤーの禁止を解除してサーバへの接続を許可します。
|
|
ヘルプについて
|
HALO専用サーバに関するヘルプは開発元であるGearbox Softwareのフォーラムで受け付けています。HALO専用サーバの開発者が定期的にフォーラムをチェックしており、質問に答えてくれます。
http://www.gearboxsoftware.com/forums/postlist.php?Cat=&Board=ServerAdmin
注:HALO専用サーバはマイクロソフトカスタマーサポートのサポート外です。
|
|
既知の問題
|
コンソールはマップ名としてBattlecreek、Derelict、Chironを認識しません。
コンソール上ではマップのファイル名を指定しなければいけません。ゲーム内のマップ名と実際のファイル名の対応は以下の通りです。
ゲーム内のマップ名 = ファイル名
Battle Creek = beavercreek
Sidewinder = sidewinder
Damnation = damnation
Rat Race = ratrace
Prisoner = prisoner
Hang ‘Em High = hangemhigh
Chill Out = chillout
Derelict = carousel
Boarding Action = boardingaction
Blood Gulch = bloodgulch
Wizard = wizard
Chiron TL34 = putput
Longest = longest
Ice Fields = icefields
Death Island = deathisland
Danger Canyon = dangercanyon
Infinity = infinity
Timberland = timberland
Gephyrophobia = gephyrophobia
sv_mapを使用する際、ゲームタイプでスペース(空白)を入れるとゲームが起動しません。
Sv_mapでは複数の引数が出てきます。スペースが発生する場合、引用符で囲む必要があります。
たとえば、sv_map マップ名 "ゲーム タイプ" となります。
コンソールではサーバパスワードをクリアできません。
コンソールからパスワードをクリアする場合、"空白"のパスワードを入力する必要があります。
sv_password ""と入力します。
|