「exile」タグアーカイブ

【GAME】ARMA3 EXILE MODサーバの旅その99

Arma3プレーヤー様にご案内

元コンガリベーコンの鯖缶さんが、まったくのゼロから開発した新しいシステムを、近くクローズドテストを実施するようです。

テスト開始時に再度ご案内致しますので、ぜひともご参加ください!鯖味噌Discordまで

image

10/17。Discordのある部屋。開発は順調なようですが、もうちょい先のようです。

20191010203258_1

追記:p3dオブジェクト名を調べる方法

追記:Cher.Reduxマップ更新

追記:チェルノでRavageの続き

以前から気になっていた、Ravage Modのゾンビを確認してみました。

Ravage MODを入れて起動するだけで、サバイバル系ミッションプレーが楽しめるようで、これでプレーしてみる。

20191010203337_1

護送中に事故にあったらしく、自分だけが生存者らしい。

20191010203551_1

何も持ってないので、物色してたらAIと遭遇、敵対してるだろう・・。こっそりと逃げる。

20191010204236_1

なんとも特徴的なゾンビと遭遇。よく分からず、死んでもうた・・。走っちゃぁやだー。

(;´Д`)

20191010210209_1

Ravageの仕組みを見るためにEdenを起動。

20191010215435_1

Ravageのゾンビは、音や目視での識別がある(度合いが設定できる)ランダム移動もある。DayZに似ているかもしれません。

追跡を失うのも確認しました。

ゾンビは3種類かな。中腰で走ってくるのは珍しい。

20191010215655_1

Ambient_zombieを置くだけで、スポナーとして機能するので、Exileとは関係無く、普通のミッションにゾンビを置くのに凄い楽です。

これなら、Exileでも導入が容易です。

image

Edenのエクスポートで、コードはどんなもんか調べます。

createUnit [“Ravage_zombies“,[23235.3,19984.1,0],[],0,”CAN_COLLIDE”];

これだけです。

(;^ω^)

後は、オブジェクト変数に、プロパティ値を入れていくだけです。

_this setVariable [‘type_m’,”Walkers”,true];;
_this setVariable [‘fastNum_m’,0.01,true];;
_this setVariable [‘numberMax_m’,5,true];;

このままだと、ゾンビからの鹵獲とか、トラップなんかをやりやい場合は、イベントハンドラでカスタムが必要です。

image

Ravageの公式Wikiがありますが、ほとんど情報がありませんでした。

(;´Д`)

追記:チェルノでRavageの続き

20191013234733_1

チェルノでの湧きと、細かな調整を実施。

よりゾンビっぽくしたいので・・。

(;^ω^)

20191013234721_1

Ravage単体で、AIの死体がゾンビ化して起き上がらせる事も出来る。

AI倒して鹵獲しようと、近づいたら、攻撃されちゃうんですよ。

(;´Д`)

むろん、ゾンビ化するまでの時間を設定できますけども。

AIグループもランダムで沸かせられるので、とても便利なMODですよ。これ

※アイテムの中身までは設定できませんが

追記:Cher.Reduxマップ更新

20191022200752_1

先日、ChernarusReduxマップが更新されました。

雰囲気が出ております。

image

Arma3のマップって、建物が微妙にズレていたり、地形にめり込んでいたりしますよね。

Reduxでも、もちろん存在してますが、今、これを一つづつ潰していってる作業をしてるんですよ。凄い作業量です。

Trello/CHR Bug Tracker

もし、そんな物件を見つけたら、ぜひとも、ここに登録してみてください。スクショと座標(MAP上スクショでも可)があれば伝わります。

追記:p3dオブジェクト名を調べる方法

20191022213146_1

マップのオブジェクトで、p3d名を知りたくなる時がある。

Edenを起動して、カーソルでポイントしたオブジェクトのp3d名を、延々とクリップボードに書き出してくれるスクリプトがこれ。

スタートして、ESC押して、スクリプトを流せば良い。

onEachFrame { hintSilent str [getModelInfo cursorObject, typeof cursorObject]; copytoclipboard str [getModelInfo cursorObject, typeof cursorObject]; };

ポイントしたら、タスクを切り替えて、Ctrl+Vで貼り付けられる。

むろん、Arma3・Edenを起動してる間は、クリップボードが使えなくなるので注意。一度、Edenを終了すればOK。

(追記予定)

【GAME】ARMA3 EXILE MODサーバの旅その98

P_20190929_205331

追記:Scavengeフレームワークのバグ修正

追記:Scavengeフレームワークを試す!

追記:デフォのミッションに手を加え始める

新しいサーバ環境で、構築を初めております。

※鯖味噌サーバは現在休止中で御座います

これまで動いていた、AMD A6-3650は良く頑張ってくれました。良いCPUです(定格2.5Ghz4コアを、3.2Ghz稼働)

想像してたよりも、しっかり稼働してた。ただ、消費電力が物凄かった・・w

(;´∀`)オーバークロックしてたし

P_20190929_210959

新サーバのCPUの、Ryzen5 1400で御座います。

※定格3.2Ghz4コア8スレッド(3.9Ghz位まで回る?)

Passmarkでは、A6-3650の倍の性能があるようで、頼もしい。ケースや電源、SSDなどは流用できますが、メモリだけは現行DDR4になる。

ちょうど、8GBが余ってました。

もちろん、オーバークロックするつもりなので、デカイCPUクーラーを乗せます。

P_20190929_214457

ふぅ~結構時間が掛かってしまった。こういうタイミングで、ケースやファン掃除を始めちゃうからね・・

(;^ω^)

このRyzenはビデオ機能が無いので、別途余っていたビデオカード、Radeon HD5450(ファンレス)を利用します。

こういう低スペックなビデオカードがあると、何かと便利です。ただ、ファンレス型は、精神的に悪いぐらい熱くなりますが。

P_20190929_231302

さっそく、Ubuntu Linux19.04LTSをインストールします。性能がアップしたので、GUI環境も入れちゃう。

これで、実機サーバPCは準備できました。

後は、新しい鯖味噌サーバミッションを構築して、移行すれば、公開可能です。

過去記事と重複した内容になるかもしれませんが、サーバ構築の記録を記事として公開していきます。

20190930005245_1

まず、これをやらないと始まりません。

アイテム湧き場所の設定です。

これが地味作業過ぎて・・・嫌なのです・・。

(;´Д`)

しかも、3D酔いするので、長続きしない。

20190930005644_1

こんなのを、数百箇所も繰り返すのです。

(;^ω^)

image

Exilemod Loot Position CreatorというMODを利用します。32bit版なので、Arma3を32bitで起動しないとダメです。

マップ上の建物オブジェクトを決めたら、1キーを押して始まります(オブジェクト名が表示される)

そしたら、黄色い丸を沸かしたい場所を選んで、2キーを押します。これを数カ所繰り返して、最後に4キーで登録終了です。

※3キーで、自動登録できるらしいが、私は信用してない

マップ上の建物全部を、作業できるはずも無いので、止めたくなったら、5キーを押すと、クリップボード上に設定用のコードが出力されます。

※続きをする場合は、手作業で編集して、これらを合わせる

完全に完成したら、@ExileServer/configで、読み込む様にすれば良いわけです。又は、直に書いちゃうとか。

テクニック

黄色い丸が、アイテム湧きのポジションそのものになるのですが、丸の中心部が実際の位置です。

なので、ポジションを設定する場合は、半丸から若干上を狙った方がよいです。じゃないと、埋もれます。

あと注意するのが、地面が建物オブジェクトで無い場合(特に地面が隆起されるパターン、特に小屋など)は、アイテムが、確実に地面に埋もれます。

なので、確実に、建物オブジェクトの面の上に置いたほうが確実です。

あと、Arma3の仕様上、頭の高さ辺りはアイテムを取る事ができません。せいぜい、腰位の高さまでにした方が良いです。

20190930011115_1

まぁ・・これみて、なんのマップか、分かる人には分かっちゃうんでしょうね。

しかし・・まぁ・・作り込まれたマップです。

開発者さんの情報では、近日に更新が入るそうですけども。

追記:デフォのミッションに手を加え始める

image

Arma3の音楽を聞きながら作業をします。これが有るのと無いのとでは結構モチベが変わりますw

(;^ω^)

ミッションファイルを弄りますので、内部MAP名を調べなきゃいけません。適当にEDENでファイル保存します。

chernarusredux ※MAPがバレる

が内部MAP名というのが分かります。

※Arma3はミッションファイル名で、MAPを切り替えてる

image

適当なバニラミッションPBOを解凍して、デフォのトレーダーやらオブジェクト生成を削ります。

initPlayerLocal.sqf・initServer.sqf

image

これらをごそっと削る。

(;´∀`)だいぶ軽くなるやろう・・て

ミッションの設定もついでに行っておく。

description.ext

んで、今回はScavenge Frameworkというアドオンを試してみようと思ってる。

config.cpp

Exile特有の(膨大な)設定は、今じゃないし、今回はデフォでいいかもしれない。

アイテムが実際に湧くのではなく、タンスなどを直接漁るタイプのやつ、オブジェクト自体が生成される訳ではないので、サーバ負荷的に良いかも・・しれない。

image

ひとまず、サーバが動かなくなるのが怖いので、これで動作するか確認する。

まだ、アドオンが無い状態なので、負荷が凄い低い(マップ上にはAIが一人もいない状態)

(;´∀`)

早速、動かない・・・w

あ・・MODキーの入れ忘れやった(とにかく、これは忘れる)

image

そして、キックされる。

かつて地獄を味わった私は、こんなで慌てない。

おもむろに、Battleyeログを開く。

#20 “ight”) then {
player removeWeapon “CHR_FlashLight”;
player addWeapon “CHR_FlashLight_Night”;
};
} else {
if (((primaryWeaponItem”

うむ、まだスクリプトの類を入れてないし、今導入したMODが引っ掛かったよう。

どのファイルのスクリプトだろう、FlashLightが何やら置換されてる様子。

image

漢は黙って、Battleyeの22番フィルターのaddWeaponに、黙って追記する。

20191005191950_1

めでたく、おニューMAPにインできた。

しかし、Battleyeにキックされまくる・・・。ほぼバニラなのに・・。

フィルター掛けば、その場でキックされなくなるので、効果はあるんだが・・、調べた方がよさそう。

追記:Scavengeフレームワークを試す!

20191005235045_1

車両や建物内のロッカーや机を物色する事ができるScavengeフレームワークというものを試す。

軽い気持ちやったんだが、これが地獄の門の入り口だった事は、知るよしもなかった。

導入は、それほどでも無かった。基本は、スクリプトが稼働するように設定するだけ。

問題は違う所にあった、Battleyeのこやつ。

よく見るBattleyeキックの交わし方は熟知してたんだが・・、ここで新しい技を出してくるとは思わなんだ。

Value Restrictionなる、setvariable系のフィルター、こんなん初めてだわ。

image

名前空間に、値を入れておくsetVariableの部分、ここが引っ掛かってしまってるよう。

setVariable.txt

ここに、該当する変数名を追記するだけで良いようだ。

次のキックは、remoteexec。こんなのも初めてやし・・ググっても情報無いし・・

。゚(゚´Д`゚)゚。

remoteexec.txt

!=”exileexpansionserver_system_scavenge_spawnloot.*”

違うPC(主にサーバークライアント間)でのコールなどを行うやつ。Exileなら、頻繁に動いてます。

お隣の記述を見ながら、多分こんな感じだろうと書いたらビンゴッ!!

フィルター文字列は正規表現が書けるので・・”.*”は、0文字以上の何でもヒットという意味になる。

20191006012808_1

なんとか動作。スカベンジして成功すると、アイテムが湧きます。

追記:Scavengeフレームワークのバグ修正

実を言うと、動作不良っぽかった。

上写真を見ると分かるのですが、インベントリが開いてるにも関わらず、アイテムが足元(Ground)に湧いてるのです。

(;^ω^)

なーんとなく場所が分かるので、自前でバグ修正します。

ExileExpansionClient_system_scavenge_createLoot.sqf

の84行に、「uisleep 2;」を追加で治りました。

LootWeaponHolderクラスのオブジェクトが生成される前に、イベントリが開いたからの問題のようです。

なので、(とりあえず)2秒だけ待って開くようにしました。

正常に動作してるようなので、環境によって同様な不具合が出るのかもしれません。

【亀】最短Arma3 Exile Modサーバの上げ方@2019/9版

20190928013941_1

追記:主なトラブルQ&A

面倒な事はさておき、手っ取り早くExileサーバを上げてみたい方への記事になります(スクショも沢山入れた)

色々を試行錯誤(半日掛かった)したので、多分、これが、一番の最短手順になるんではないかと思います。

(;^ω^)

注意:余計な設定はスルーしてます

※Windows版、32bitモード、ほとんどデフォ動作

サーバーPCスペック

構築用なら低スペ(ノートPC)でも十分に稼働します。

高スペに越した事ないですが、印象的にはCore i3/Ryzen3(4コア・3.5Ghz以上)もあれば十分かと思います。

1~2コアに処理が集中するようなので、高クロック重視がベストです。メモリも多めに。

※AI処理だけを他PCに任せる事が可能です(Headless Client

サーバ用Steamアカウントの取得

事前に、適当なメールアドレスで、サーバ用のSteamアカウントを取得しておきます。

※ID/パスワードは忘れないようにメモっておきましょう(忘れた頃に、再認証が来ます)

※Arma3 Dedicated Serverは無償で利用できます。セキュリティ上、念の為、サーバ用Steamアカウントを作っています

サーバーディレクトリの作成

サーバーを置くディレクトリを作成しておきます。管理しやすい場所にしてください。以下、サーバールートと呼びます。

※Dドライブの頭とか、MyDocumentだと、パス指定が長くなってしまうので

steamcmdのインストール

image

Arma3 Dedicatedサーバを入手するために、steamcmdを利用します(steamのコマンドライン版)

ダウンロードして、サーバーディレクトリの近くに解凍します。

Arma3サーバーダウンロード

image

こちらのサイトから、「Arma3server_steamcmd_example.cmd」をコピペして、steamcmdディレクトリ内にファイルを作ります。ファイル名は変更しても構いません。

※拡張子は、”.cmd”なので注意(エクスプローラーの設定で、拡張子を表示オンにしてください)

※このファイルは、Arma3サーバの更新にも利用できます

以下の3箇所を編集します。

STEAMLOGINには、サーバ用Steamアカウントを記述

A3serverPathには、サーバーディレクトリを記述

STEAMPATHには、steamcmdディレクトリを記述

終わったら、このファイルをダブルクリックして実行します。

steamエンジンの構築の後、Arma3サーバのダウンロードが始まります。結構、時間が掛かります。

image

先程作成した、サーバーディレクトリ内に、沢山ファイルが生成されているはずです。

サーバですが、Arma3そのものと言っても過言じゃありません。

Exile Modサーバのダウンロード

image

こちらの公式サイトからダウンロードします。

「Download Server Files」をクリック、現在は、ExileServer-1.0.4a.zipが最新となります。これを、デスクトップなどに解凍してください。

サーバー基本ファイルの構築

細かいですが、解凍したものから、以下のファイルをコピーします。


@ExileServer
を、コピー(サーバルートへ)

battleye
の全ファイルを、コピー(battleyeへ)
@ExileServer/config.cfgをコピー(サーバルートへ)
@ExileServer/basic.cfgをコピー(サーバルートへ)
@ExileServer/xm8.dllをコピー(サーバルートへ)

mpmissionsから適当なミッションをコピー(mpmissionsへ)します。マップ毎に、サンプルミッションが用意されています。

Exile Modキーのダウンロード

image

Exileサーバに付属された認証用のキーが古いため、別途入手しないといけません。

こちらからダウンロードして、keysにコピーします。

※明確に記載されてないので、悩みましたw SteamのExileコミュニティが荒れているのはこの性です(サーバ管理者)

データベースのインストール

image

MySQLと中身が同じなオープンソースのMariaDBをインストールします(こちらの方が楽です)

設定した管理者(root)のパスワードをメモしてください。

※知識がある方なら、MySQLでも構いません

image

※スタートメニューに必要なものは登録されてます

my.iniの編集

my.iniを開いて、以下を追記します([client]の上)

sql_mode=

データベースの再起動

image

my.iniの変更を適用するためデータベースを再起動します。

スタートメニュー>Windows管理ツール>サービスから、MariaDBを選択し再起動します。

データベース管理ソフトの起動

image

MariaDBに付属のHeidiSQLを起動します。

※データベースを管理できる便利なユーティリティ

先程の(管理者root)パスワードを入力して、開きます。

image

まず、Exileサーバ専用のユーザーを作成します。

ツールから「ユーザーマネージャー」をクリックして、exileユーザーを作成します。パスワードをメモしてください。

ファイルから「新しいクエリタブ」をクリックします。

解凍したExileServer-1.0.4a.zipの中の、「MySQL/exile.sql」ファイルを、クエリ空欄にドラック&ドロップします。

クエリを実行します(F9キー又は、右クリックから実行)

image

正常に実行できたら、「exile」データベースが生成されるはずです。

※F5キーで、表示更新できます

エラー表示が無いようでしたら、先程のユーザーマネージャーを開いて、「exileユーザー」を選択します。

アクセス許可の欄で、「データベース:exile」だけにチェックを付けます。

extdb-conf.iniの編集

image

サーバルートのextdb-conf.iniを開いて、「Password」に、先程の(データベース)Exileサーバ用のパスワードを記入します。

※Arma3サーバがデータベースにアクセスするための情報設定

これで、データベース関連の設定は完了です。

config.cfgの編集

image

サーバルートのconfig.cfgを開いて、以下を編集します。サーバーの基本的な設定を行うファイルで、細々設定できます。

37行目:template = Exile.Altis;

先程、mpmissionsからコピーしたミッションファイル名に書き換える

8行目:requiredBuild = 145977;

Arma3のバージョン下部6桁を記述(現在2019/9は145977)

以下を適当な場所に追記

loopback = true;

※LANモードで起動するオプションで、インターネット公開されません

サーバ起動バッチの作成

image

サーバ起動用のバッチファイルを作成します。

新規のテキストドキュメントを作成し、以下を記述します。ファイル名は、分かりやすいように(start_exile_server.bat等)

以下、サーバルートには、そこまでのパスを正確に記述します(例: d:¥game¥exile_server)

“(サーバルート)¥arma3server.exe” -profiles=log -autoInit -port=2302 -config=config.cfg -cfg=basic.cfg -bepath=(サーバルート)¥battleye  -world=empty -mod=@ExileMod -serverMod=@ExileServer

※注意:環境によって”¥”や”\”表示になります。分かりやすい様、全角文字を利用してますが、実際は半角文字で記述してください

※Windowsバッチファイル記法に従ってください

※最低限の記述ですので詳しくは、こちらを参考に(参考:Arma3ランチャーのパラメーターとほぼ同一です)

Arma3サーバの起動

image

先程作成した起動バッチを、ダブルクリックして起動します。

Arma3ロゴや、ウィンドウが表示されます。

※正常稼働した場合、”Game started.”で止まります

ここで、一度サーバを終了します(ウィンドウを閉じる)

※サーバが上がっているとクライアントが立ち上がりません。多分、多重起動チェックにミスってると思われます(そのため、構築時はランチャーだけ上げておきます)

Arma3(クライアント)の起動

Steamから、Arma3を起動します。

image

ランチャーから、MODで「ExileMod」にチェックを付けて、そのまま起動します。

image

起動後、ゲーム内にて、「SERVERS」「LAN」をクリックすると、「exilemod.com (1.0.4|1.80)」が表示されていると思います。

それを選択して、JOINします。

20190928013633_1

バニラ状態ではシンプル過ぎる基本的な、Exileがプレーできます。

一通りプレーしてみましょう。

(゚∀゚)ノ

管理:重要なログ

image

サーバルートのlogディレクトリ内には、全ての事象がログファイルとして保存されています。

起動の度に、rptファイルが1つ生成されます(本番になると、数MBと巨大になります)

エラーなども、全てこのrptファイルに記載されます。唯一の情報源になります。

一番新しいrptファイルを覗いてみてください。先程、ログインした情報が記録されているはずです。

管理:Exileサーバの補足ログ

@ExileServer/extDB/logs以下には、補足のようなログが出力されます(日付毎)

データベースの接続ログの他、プレーヤーのデス、拠点、アイテム売買のログが出力されます。

管理:その他

image

保存されるべきデータは全て、データベースに保管されています。

必要な場合は、データベースを直接編集して、メンテナンスを実施する必要があります。

image

ハック・チート対策としてBattleyeが稼働しています。

新しい拡張を入れ込む際等、battleyeディレクトリ内のフィルターを編集する事もあります。

Arma3には、管理者用のツールも多くありますので、好きなものを導入する事になります(Zeus、RCON、AdminToolKit等)

機能拡張するにはどーする?

image

Arma3 Dedicatedサーバ側の設定

Bohemia社の公式Wikiに膨大な情報がありますので、これを参考に細か~く設定します。但し、英文情報がメインになります。

どんなMOD/DLCを入れ込むか?

Steam Workshopに登録されているMODを利用します(ユーザーがMODを探す手間が無くなる)

マップや武器・車両、アイテムなど、操作系、UI系、サウンド系などさまざまです。MOD依存関係などもあるので注意。

MODのアップデートに合わせる必要があるので、管理も大変になります。

サーバ環境で、DLC内のオブジェクトを利用する事ができます(一部例外アリ)プレーヤーがDLCを持ってなくてもプレーできます(アイテムや車両を除く)

どんなサーバーアドオンを入れ込むか?

Exile Modサーバ向けのアドオンが沢山リリースされています。

公式サイトが閉鎖されてしまったので、入手方法や情報は、こちらの非公式か、公式のDiscordになります。

インストール方法が書かれていない場合が多く、若干の知識が必要になります。

※私が自作公開してるアドオンもありますよ(;^ω^)

どんなスクリプトを入れ込むか?

Arma3用に作られた大量のスクリプトが利用できますので、ネット上から拾って、自分で適用する形になります。Exile環境との影響を考える必要があり、相応の知識が必要になります。

※こちらの場合は特に、Battleyeの回避コードも必要

その他には?

アイテムの湧き場所、湧きアイテムの変更、アイテムの価格、拠点関連、トレーダー関連、クラフト要素、天候の変化、など

※Exileサーバの設定(exile_server_config.pboやmpmission)

さらに、Arma3側の設定もあります。レティクル、AI難易度、1人称固定など(Profile・Exile Mod的にはデフォ推奨ですが)

さらに・・?!

ExileServer Mod自体をカスタマイズしてしまう方法があります。かつてのコンガリベーコンサーバーや、私のサーバでも実施してます。

スクリプトを書いてみたいッという方、ぜひともご連絡を!

(;´∀`)・・・Arma4はC++になっちゃうみたいだけども

本格的な構築には、PBOや画像管理のためのユーティリティソフトが必要です(Arma3 Tools他)

※ファイルを固める(PBO)、画像も専用フォーマットです

また、Arma3内蔵のEdenエディタにも慣れておいた方が良いと思います(マップの確認や、スクリプトデバッグに使える)

当ブログの過去記事

このブログの過去記事に、いくらか参考になる情報があるかと思います。arma3で検索すると、一覧が出ますので参考にどうぞ。

(;´∀`)

サーバ公開する時は?

構築に相当時間が掛かるはずですので・・、イメージだけ。

config.cfg内の、loopbackにfalseすれば公開となりますが、ネットワーク経路の問題が残っています。

自宅内サーバなら、IPv4で固定アドレスを取得した上で、Arma3 TCP/UDPポート(5つ)を、サーバに向けてフォワードする形になります。

VPSなどのサーバを借りたならば、Arma3 TCP/UDPポート(5つ)をファイヤーウォールの設定で、開放します。

これだけで、Arma3のランチャーに表示されるのを確認できるはずです(若干時間が掛かるかもしれません)

テキストエディタのおすすめ

image

色々使ってきましたが、VisualStudio Codeの一択です(無償)

Arma3独自のログやファイル形式ですら色分け対応できています。世界は広い(自動認識されてプラグインが案内されます)

構築の際に、ログファイルを(星の数ほど)何度も眺めるので、ツール選びは重要です。

サーバ管理者さん向けDiscord部屋

image

Exileサーバ管理者さん(経験者含め)が集う、小部屋があります。

日本語で情報交換したいなら、ぜひともお越し下さい(認証制なので、nabeky宛にメッセージをください)

主なトラブルQ&A

必ずrptログを見て、トラブルの原因を探してください。必ずヒントがあります。

※logs以下のrptログ、extDB以下のログ

今回の記事作成に辺り、起動BATファイルの所でつまずきました。本番に向けて、とても長い記述になるので、バッチファイルの記述ミスという可能性もあります。

※rptログの頭にコマンドライン引数があるので確認する事

設定項目が多岐に渡るため、謎の動作不良になってしまう場合があるので、サーバーディレクトリ毎まとめてZIP圧縮バックアップすると、復帰が早く便利です。

直接的に原因を解決するのではなく、順を追って調査していった方が早く解決します。ログやDBの情報を追う等

データベース周り

image

構築初期で悩まされるのがデータベース関連ではないでしょうか。

rptログに、「CallExtension loaded: extDB2 (E:\sabamiso2\@ExileServer\extDB2.dll) [H�H� ]」こんな記述があれば、正常にDBと接続できています。

一度でもインすると、プレーヤー情報がDBに格納されます。

格納されていないようなら、(DBの)exileユーザーの権限を確認してください(セキュリティ上、Global特権では無く、exileデータベースにだけ権限を与えます)

記事では触れませんでしたが、64ビット版のextDB3なんてのもあります(若干敷居が高い)

単純な設定ミス

構築を初めていくと、かならずブチ当たります。プログラミングでいう文法エラーというものです。

設定とはいえ、Arma3スクリプティング仕様に依存します。独特な仕様なので、一見間違いが無さそうに見えて、大間違いだった!なんて事が良くあります。

”~”(抜け)や、;(有り無し構文)など、色分けプラグインを入れておくと見つけやすいです。Arma3でエラーの行番号報告は、当てになりません・・w

キックされる

バグなのか、たまにサーバが不安定になります。毎回、必ずキックされるようなら、機能拡張(主にスクリプト)がBattleyeに検知されてしまってます。適切なフィルターを設定しましょう

※フィルターは謎文字の羅列のように見えますが難しくありません(ご連絡ください)

※キックされた場合、battleye内にログが生成されます

MODのバイナリキー更新は忘れずに

MODの更新が入ると、MOD自体を更新する他、キーも同時に更新しないといけません。

image

rptログの比較的頭あたりに、認識したMODのリストがあります。これで確認できます。