03/08/05更新
<MAP VOTE>
知らない方もいると思うので簡単に解説しておくと、Voteというのは投票の意味でマルチプレイにて使用される。FPSゲームでは標準で持っている物も有れば、Modとして作成されて配布されているタイプもある。公開して建てられているサーバーにおいては、その管理者(Administrator)が常時それを操作出来る場所にいるとは限らない。よってゲームの設定変更等を要望したくても出来ないというケースが多い。そこでVoteという投票プログラムを呼び出せるようにしておいて、誰かが提案した事に賛成/反対を返答する事が出来るようにするプログラムである。
一番多いのはどのMapをプレイするかというMapVoteと、迷惑を掛けたりするプレイヤーをサーバーから追い出すKick/Ban
Voteで、大抵のプログラムはこの2つは備えている。提案が起きるとそれが他のプレイヤーにも知らされるので、ここで投票の結果によって規定値を満たせばその要求が通る事になる仕組み。例えば次はこのMapが遊びたいという提案が有った場合、賛成が50%以上有れば自動的にMap切り替え動作が行われるように設定しておくとかが可能
UT2003でもこの機能を実現出来るMutatorが数種類存在しており、ここではマルチプレイでも非常にポピュラーで、私も使っているMapVoteを紹介する。現在のバージョンはV4.00b11になっており、細かな更新が行われている。 公式サイト
<INSTALL>
1.ファイルとなる MapVote400b11.int, MapVote400b11.u, MapVoteServer.bat
の3つをUT2003のsystemフォルダに入れる
2.\UT2003\System\UT2003.ini の最後に以下の行を付け加える(これはReadmeにある物にInvasionを加えて若干設定を変更した物)
[MapVote400b11.MapVote]
VoteTimeLimit=60
ScoreBoardDelay=15
bAutoOpen=True
MidGameVotePercent=50
MinMapCount=2
RepeatLimit=0
bScoreMode=False
bAccumulationMode=False
bEliminationMode=False
DefaultGameConfig=0
bDefaultToCurrentGameType=True
bKickVote=True
KickPercent=51
bRestartWithLastMap=False
bAnonymousKicking=False
MapVoteHistoryType=MapVote400b11.MapVoteHistory1
MapListLoaderType=MapVote400b11.DefaultMapListLoader
ServerTravelString=
GameConfig=(GameClass="XGame.xDeathMatch",Prefix="DM",Acronym="DM",GameName="DeathMatch",Mutators="",Options="")
GameConfig=(GameClass="XGame.xTeamGame",Prefix="DM",Acronym="TDM",GameName="Team
DeathMatch",Mutators="",Options="")
GameConfig=(GameClass="XGame.xDoubleDom",Prefix="DOM",Acronym="DOM",GameName="Double
Domination",Mutators="",Options="")
GameConfig=(GameClass="XGame.xCTFGame",Prefix="CTF",Acronym="CTF",GameName="Capture
The Flag",Mutators="",Options="")
GameConfig=(GameClass="XGame.xBombingRun",Prefix="BR",Acronym="BR",GameName="Bombing
Run",Mutators="",Options="")
GameConfig=(GameClass="SkaarjPack.Invasion,Description",Prefix="CTF,DM,DOM,BR",Acronym="",GameName="Invasion",Mutators="",Options="")
[MapVote400b11.DefaultMapListLoader]
bUseMapList=False
MapNamePrefixes=DM,CTF,DOM,BR
MapListTypeList=XInterface.MapListDeathMatch
MapListTypeList=XInterface.MapListBombingRun
3.UT2003.ini の[Engine.GameEngine]のServerPackage項目に ServerPackages=MapVote400b11 を付け加える。
4.プレイする前にMutator選択画面にて導入する
なおreadmeには新しいゲームタイプの導入の仕方や、非常に細かくServerのコントロールが出来るような解説も載っているのだが、その辺は割愛させていただく。同じく各パラメータの設定もReadmeを参照して欲しい。
<使用方法>
MapVoteが導入されている場合、Map切り替え時にクライアントの画面左下にはMapVote画面の呼び出しキーが表示される。これは優先順位を持って自動的に割り振られるが、既にキーが使用されている場合はNoneとなるのでConfigurationタブから望みのキーにアサインしないとならない。これで誰かが呼び出すか、Mapの終了時に自動的に表示されて次にプレイする物が投票で決められるようになる(Serverの設定による)。ゲームタイプの切り替えとMapの切り替え、後はKickが可能というシンプルな物。
ここでこれを解説しているのは実はInvasionとの絡みもあって、そちらでも解説したように基本的にこのゲームタイプではDM形式のMapしか選択が出来ない。しかしこのMapVoteにて全てのMapタイプを選択可能にしておいてやれば、BR, CTF, DOMのMapも選ぶ事が出来るようになる。これによる利点は、
*これらのMapには広くてInvasion向きの物が結構有る
*製品版DefaultのMapなので誰でも参加出来る
Invasionでは適したDMのMapが限られている事からユーザーMapを使用しているサーバーが多いのだが、これの欠点は持っていない人はそれをDownloadが完了されるまで待つしかなく、これはリダイレクトされていない限りは結構な時間待たないとならない可能性が高い。その為にユーザーMapに切り替わると多くの人間がサーバーから落ちて他へ行ってしまうという難点がある。しかしこれを導入しておけばサーバーの持っている全てのMap中から選択出来るので、製品版Defaultの他のタイプの物を選ぶ事で誰もがそのままプレイ可能となるし、当然同じDM用だけで遊ぶ必要もなくなるので目先が変わって飽きないという利点も。
<サーバー側の設定>
まず第一に現バージョンではDedicated Serverでないと機能しないので注意(Listenは不可)。次にServerPackageに記述する必要がある事から、完全に内輪でやるのでない限りは、同じくUT2003.iniの中の[IpDrv.TcpNetDriver]にてAllowDownloads=TrueにしておかないとMapVoteを持っていない人が入れない。
UT2003ではMaxInternetClientRate=にて指定した各人の最大転送Rate以上の値ではDownloadが出来ないので、大きなサイズのユーザーMapが選択される事になっても問題は無いはずなのだが(逆にクライアント側では制限されるので接続されるまでに何分も待たないとならない可能性が有るという問題点がある)、Spectatorの数を多くしたりするとそれらの人にもDownloadが発生するので負荷が掛かる可能性も。
後はやろうと思えば同じMapを続けては選ばせないとか設定はいろいろと有るのだが、特にいじらないとならない点は無いのでそのままでOKだろう。Invasionのサーバーを建てる人には導入をお願いしたいMutatorである。
<付記>
なおこのMapVoteはマルチプレイ時の投票機能の他に、Instant Actionでのローカルのプレイにおいても同様に機能させる事が可能である。よって一々Forfeitにてメニューに戻らなくてもゲームタイプ及びMapの切り替えが可能なので便利。ただしBotの人数とかの細かい変更はここでは出来ない。
戻る 目次