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

20190430165044_1

追記:GWなんて、無かったのだ

追記:トレーダー攻撃するとこーなる

追記:ローカルでArma3サーバ&ゲームでメモリ状況

追記:移動トレーダーの状況動画アップ

追記:こだわりのマグロ

追記:移動トレーダーの開発進捗

追記:CBA MODの更新あり@対応済み

追記:lootboxアドオンの移動トレーダー

追記:常時ログを見ております

追記:デススポーンしながら迎えた令和

追記:給油所を故障させるスクリプト

4Kモニターにしたのはいいが、どうにも、プレーしにくい・・。

GeForce970という半分化石なビデオカードなので、フルHDでしかプレーできない。

ので、ビデオ設定で多少改善するんか、調べてみた。

20190430165106_1

描画距離が最も効果的なのですが、せめて1.0Km程度は確保したい。

まず、グラフィックがもやもや(4Kに拡大してるため)するので、テクスチャーとかをいじる。

20190430165157_1

おおっ!いままで、ほぼ最低設定だったんですが、VeryHighにすると・・。

ゴミ袋の中身まで見えるじゃまいか

(゚∀゚)ノ

20190430165225_1

廃棄車両もこんなに凄くなる。テクスチャー設定アリっすな。

うむむ、GeForce1660Tiとか欲しい。

(;´Д`)

load_logo

明日から元号が令和となるので、記念にロード画面時バナーを更新しました。

(;^ω^)

追記:給油所を故障させるスクリプト

image

アドオンに追加する機能の一つ、給油所を故障させて使えなくする鬼畜機能(実際には、ランダムで故障させる)

鯖味噌に適用するのはずっと先ですけどねw

追記:デススポーンしながら迎えた令和

20190501003909_1

ふらっとサーバにインしたら、いつものプレーヤーさんがいらっしゃってました。

頭が無いんですけどね。

(;^ω^)

ヘリの運転を見せてくれると事で、お邪魔する事にした次第なのですが・・・。

20190430233925_1

さすが、鯖味噌。アドミンとて例外ではありません。

出会うだけでも、デスを繰り返す。リスポーンデスを数回繰り返した挙げ句、やっと、合流。

(;´Д`)

新元号を迎えるタイミングでもある時に、「リスポーンデス・ハイ」で楽しむ二人・・、異常である。

20190501000010_1

あまりにデスしまくるので、鯖缶権限でヘリを用意。

20190501000352_1

運転上手いっすねぇ。Arma3ガチ勢には敵いません。

・・・と、思ったところの。

鯖味噌の掟

20190501000457_1

俺だけ抜かれるという、なんだ、このクソサーバw

20190501003113_1

得意なヘリがあるというので、AIRPORTに行ってヘリを購入する事に。

ほぉ・・。

やっぱ、Arma3ガチ勢は運転が上手いなぁ・・。

と思ったところの。

鯖味噌の掟、発動

20190501003144_1

あ・・・。

(そこに無敵AIのミラー先輩が、いらっしゃるんです)

20190501011026_1

いやぁ・・デスしまくって、ゴリゴリにリスペクトが落ちましたが・・・w、楽しませて頂きました。

追記:常時ログを見ております

image

PCを立ち上げてる間は、常にログを表示させ続けてます。

出先からは、密告書を見てますw

(;^ω^)

プレーヤーさん達が何をしてるのか、なーんとなく分かりますw

追記:lootboxアドオンの移動トレーダー

image

lootboxアドオンの新機能の一つ、移動トレーダー(Traveling Trader)の開発をしております。

20190502020848_1

こんな風貌で、マップ上を歩いてます。指定ポイント間を、ゆっくり歩いて巡回してます。

近づくと、立ち止まるので、そこで取引ができるようになります。

敵対(中立)はしてますが、攻撃はしてこない。もし、殺ってしまったら、ペナルティと考えてます(こっちの方が怖いかもw)

もちろん、鹵獲はできませんので、あしからず。

んで、いまさら気付いた点を備忘録。

ウェイポイントの指定で、ユニット生成地点を、ウェイポイントNo1として設定しないと、なぜか正常に移動してくれなかった(変なポイントでCycleになってしまう)

追記:CBA MODの更新あり@対応済み

image

プレーヤーさんからの報告で、昨夜CBA MODの更新があったようだ・・。

(;´Д`)なんとかしーてー

急いでサーバ更新しました。

追記:移動トレーダーの開発進捗

20190502222231_1

ほぼほぼ動作は出来上がってます。

武器をしまって、近づくと、こんな感じで座ります。結構近づかないといけないので・・

敵対AI・プレーヤーとの判別をしっかりしないといけません。

(;^ω^)

20190503011702_1

トレーダーはゆっくりと歩いてるので、遭遇することが困難です(場所は、鯖缶がMAP上に記すかどーかに掛かってる)

そのための施策として、500~1Km以内にプレーヤーが入ると、「ラジオを所持していた場合」に、ノイズが入ってくるという仕様です。

そのための音声探しに苦労していた時のスクショです。

(;´Д`)

追記:こだわりのマグロ

20190504035608_1

トレーダーもほぼほぼ動作してるんですが、どうにも・・。

こだわりたい。。。

(;´Д`)

20190504212806_1

マグロをどう置こうかと・・、試行錯誤してる所w

(;´Д`)

追記:移動トレーダーの状況動画アップ

こんな感じで動作します。武器持ってると反応しなくて、近づくと座ります。ラジオを持ってると、音声が流れます。

んで、なぜかマグロを扱うと、動作が不安定になるので、諦めました・・。なんでや

(;´Д`)

追記:ローカルでArma3サーバ&ゲームでメモリ状況

image

この前、メインPCのメモリを8GBから16GBにあげた訳ですが、ローカルPCで、サーバとゲーム両方をあげて開発できるようになったのがとても快適です。

(;^ω^)

この状態でのメモリ使用量は、9GB辺り。他にもYoutube再生してたり色々動いてるけんども。

追記:トレーダー攻撃するとこーなる

20190506024501_1

やっと動作したよ。。すんげー苦労した。

(;´Д`)

リスペクトペナルティ、撃つと5%、やっちゃうと30%です。トータルで40%位でしょうか。結構イタイでしょう。

しかも、全チャットで名前が公開されてしまいます。

色んなアドオンのコードを見ながらやっと実現。

image

イベント部分。この先の部分で更新掛けてるんですが、この方法が分からなかった。

private _sc = round((_player getVariable [“ExileScore”, 0])*_score);
_player setVariable [“ExileScore”,_sc];
ExileClientPlayerScore = _sc;
(owner _player) publicVariableClient “ExileClientPlayerScore”;
ExileClientPlayerScore = nil;

これでやっと、プレーヤー側のスコア(リスペクト)が更新された。

追記:GWなんて、無かったのだ

image

ずーーーーーと、Arma3のスクリプトを書いてましたよ。。

(;´Д`)

そう、GWなんて無かった。ってか、こんな苦悩に満ちたGWは初めてやったかもしれないw

しかしながら、元コンガリサーバの鯖缶様の助言もあり、かなりスキルが上がりました。モチベの維持にも繋がってます。

移動トレーダーなんか、今書ける最高のコーディングではないかと自負してます。

(;^ω^)

イベント、スレッディングも併用し、高速化も兼ねてちゃーんと書きました。久々に、コーディングが楽しかったですよ。

Arma3スクリプトの癖が徐々にではあるが、分かってきたので、過去のコードを直してるところ。

【game】SteamにてGWセール開催中!

image

Steamにて日本国産タイトルを中心にしたセールが開催中です。

Steam

しかし、バルブにはちゃんとしたデザイナーが居ないんだろうか、毎回思う。。

まるで、公務員が片手間に作ったページのようである。

(;´Д`)

image

でも、なんか魅力に欠けるラインナップです。一部の人にはいいんだろうけども。。

ウィッシュリストに偶然入っていたらラッキー位な感じでしょうか。

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

20190425005544_1

追記:タバコを吸えるMODを試してみた

追記:Arma3本体バージョンアップのためサーバ更新

追記:あのコンガリサーバの鯖缶とお話する

追記:鯖缶、マザボを買う

追記:ヘリ大量追加と、明日からの武装系車両テスト仕様

追記:車両を出す仕組みを解析

追記:凄すぎるプレーヤーさんの趣味(余りに凄いので、ここに写真を)

DSC_0278

追記:追加ヘリの導入

追記:loot boxアドオンの更新作業

鯖味噌サーバを構築してる途中、メインPCを買い換えたので、Windowsの開発用サーバが丸っと無い状態でした(本番サーバはLinux)

や~と、構築できました。意外に難儀した。

(;´Д`)

本番で動いてるLinux版Arma3 Dedicated環境の設定をそのままコピーして、変更した部分を、忘れる前に、メモしておきます(開発・テスト用WindowsのArma3サーバ)

Arma3サーバの準備

steamcmdにて、Arma3サーバをダウンロードする。結構時間が掛かる(IDは何でも良い、匿名でも出来るらしい)

MySQLサーバ側1/3

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini(現行8.0だと場所はここ)

最後辺りに、sql_mode=” を追記(エラー厳格のOFF)

※これしないと、確実にエラーで弾かれる(これはExileが悪い)

MySQLサーバ側2/3

認証方法が変わってしまいrootでは変更不可なので、新ユーザーを作成して、平文パスワードが通るようにする。MySQL Workbenchだと、ここ。

image

このユーザーでDBにアクセスするので、extdb-conf.iniを書き換える。

MySQLサーバ側3/3

ExileServerの初期SQLを実行して、DB環境を構築。

ExileServer-1.0.4a\MySQL\exile.sql

Exileサーバ側

ExileServer\config.cfgで以下を設定しておく(開発・テスト用なので)

kickDuplicate=0; 重複IDのキックを無効に

loopback=true; LAN内専用にしておく

テスト用なので、BattleyeやverifySignaturesとか、重そうなものは外す。

MOD関連

SteamのMODディレクトリーから、そのままコピー(ディレクトリー名が変わるので、起動BAT内を書き換える)

※Linuxの都合で変更してたため

keysに、MODのbikeyファイルをコピーする。

ミッション関連

ミッションファイルを、mpmissionにコピー。

ファイルコピー側

extDB2.dll、XM8.dll、tbbmalloc.dllをルートにコピー。

extDBディレクトリーをルートにコピー。

起動オプション側

-ip=192.168.1.xxxとか入れてたら駄目っぽかった。

-profiles=”” で、ログの出力先を指定

追記:loot boxアドオンの更新作業

image

なにやら世間では、GWとか言ってるようですが、お構いなしに、Arma3スクリプトを書いてるという。

(;´∀`)

年号が変わる瞬間も、スクリプト書いてそうな・・

追記:追加ヘリの導入

20190426231151_1

プレーヤーさんからの要望で、ヘリを追加して欲しいとの事。

確かに、地べたを這うというスタイルだったので、デフォルトのまんまでした。

(;^ω^)

現在は、8種類。

攻撃ヘリは強すぎるので、導入するなら、何かしらの手を打たないといけない。1回限りとか?

攻撃の手段を無くすとか。

setVehicleAmmoで、弾薬を設定できるらしい。サーバサイドでスポーン(トレーダー、リスタート時)させる際に、ゼロにするとか。

20190427000815_1

とりあえず、17機種(重複あり)の追加。性能が分からないので、値段の付けようが分からない。

当面は、天井価格でよろしくおば。

AH-9、
AH-99、
CH-67、
CH-67、
MH-9、
UH-80、Mi-290、Mi-48、PO-30 Orca、CH-49、WY-55 Helcat

自衛隊からは、以下の3機種。

MH-53E、CH-47J、CH-1H(MG)

追記:凄すぎるプレーヤーさんの趣味

DSC_0285

どーです?

DSC_0286

(;・∀・)

突然送られてきた、プレーヤーさんからのお写真。

World of Warshipsのゲーム画面か何か?かと思ったら・・

ジオラマなんですよ。これ

ヽ(;゚д゚)ノ !!

主砲の怒号が聞こえてきそうな、映画のワンシーンにも使えそうなレベルですよ。

いいですか?

次に送られてきた写真で、一気に現実に連れ戻されてしまいます。

DSC_0271

想像を超えてきた、デカさw

(;^ω^)

なんだか、ちょっと弄りたくなってきた。。。

DSC_02861

すまん、反省してる。

追記:車両を出す仕組みを解析

image

メモがてら(Armed武装解除の方法について)

車両をゲーム内に沸かせる際(購入やロード時など)は以下の部分を通ってる。

_vehicleObject = [_vehicleClass, _position, (random 360), false, _pinCode] call ExileServer_object_vehicle_createPersistentVehicle;

ここの中で、setVehicleAmmo(残弾設定)を噛ませば、一応の武装解除ができるかも。

Map湧き車両は、以下で作ってる。

ExileServer_object_vehicle_createNonPersistentVehicle

車両のAmmoを設定するのは以下の2つ(複数武装の場合は動くんだろうか)

setVehicleAmmoDef 残弾数を設定

setVehicleAmmo 現在の残弾数(%)に設定

んで、今分かったのだが・・Armed車両の残弾をデータベースに保存してない

そもそも、Exileでは想定されてない。否、Arma3自体でそんなコマンドが存在しないっぽい。

つー事は、常に満タン状態で、リスタートされてる訳ですよね。

removeWeaponTurret

こんなコマンドを見つけた。武装を取り除くんだって。ちゃんと動くんだろうか。

追記:ヘリ大量追加と、明日からの武装系車両テスト仕様

image

もう眠すぎて、実テスト出来てないんですが。。。

(;^ω^)

いきなり本番サーバで、ぶっこみテスト運用します。いいよね(ログにエラー出てないのは確認した)

武装車両(MMG・戦車・ヘリ全部)は、弾数10%の状態で配置されます。

トレーダーで購入しても、同様に10%です。

リスタート時には、10%の状態に戻ります。

その代わりで、新しいヘリは、10000ポップタブでセール中にしてます(要リスペクトレベル最大のみ)

今後、仕様は変わるかもしれないので、ご留意を。

寝るッ

(。-ω-)zzz. . . (。゚ω゚) ハッ!

次の日。

20190427104917_1

バンディットAIさん元気だな。

20190427105145_1

要望のあった攻撃ヘリを、鯖缶権限で購入して運転。

確かに、残弾がとても少なくなってる。

気持ちが良いので、しばらく散歩。

20190427105546_1

エアーパトロールは、こっちを攻撃してこんのか?

しばらく、追い掛けごっこ。

20190427105930_1

誰かさんの拠点に駐車。

ちょうど良く、MMG車両が止まっております。

20190427110151_1

ロックが掛かってなかった。

(;^ω^)

残弾数が400となってた。デフォで、4000発?そんな事あるか?

お借りしたお礼として、粗品をプレゼントしておきます。

(;´∀`)

20190427115512_1

EDENで確認。

うへッ、デフォは4000発(2マグ)やった。。

(;´Д`)

一応、10%動作はしてる事は分かった。

オフロードArmedは、100発(10マグ)みたいだった。

トレーダーでの値付けがやっぱおかしい、一度、全リスト化して見直さないといけないですねぇ・・。

これは、メンドイ。

追記:鯖缶、マザボを買う

image

夏頃に、新しいAMDのRyzen(通称Zen2)が発売されるらしいんですね。

いまのメインPCでは、Ryzen5 1400とGeforce970を無理くり使ってる訳です(まだ不満は無い)

メインPCのCPUをZen2にして、余ったRyzenで、鯖味噌サーバにしようと考えてるんです。

んで、中古の安っいマザボを見つけてしまい、ポチッてしまった。それでも、現行のチップセットB450です。ASRock B450M Pro4

(;^ω^)

10年前のA6-3650で、よく持ち堪えたぞ・・。

(´;ω;`)

DDR4メモリ8GBと電源は余ってるので、鯖味噌サーバ分を流用すれば、CPUだけあれば、アップグレードできる寸法。

追記:あのコンガリサーバの鯖缶とお話する

image

プレーヤーさんからのご紹介で、あの!あの!私もお世話になったコンガリベーコンサーバの鯖缶さんとお話出来る事になりました。

(;・∀・)

ここぞとばかりに技術的なご相談を、しまくりましたw

やっぱ、第一人者さんです、凄い。

これからも分からない事があったら、ご相談に乗っていただけそうなので、助かります。

追記:Arma3本体バージョンアップのためサーバ更新

P_20190429_224444

ふっと今起動したらArma3本体がバージョンアップしとりましたw

気が抜けない・・。

(;´Д`)

日本サーバでは、当方がいち早く対応したんじゃないかと思う。

上写真は、GWは開発に専念にようと、メインモニターを4K環境に変えました。

今までは、普通の24インチフルHDだったので・・・(144hzのゲーミングのやつ)

(;´∀`)慣れない・・・

情報量が4倍なので、開発力がアップ・・・するはずw

追記:タバコを吸えるMODを試してみた

20190429230854_1

ImmersionCigsというタバコを追加するMODを見てみた。

Stage1-4まで短くなる所まで再現できる細かさ。タバコと葉巻っぽいやつ、ライターやキャンディーもある。

20190429231112_1

顔面装備という扱いで利用できるようでしたが、Exile上では普通に動かなかった。

別途スクリプトを書かないと駄目なのかもしれない。