「server」タグアーカイブ

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

image

追記:鯖味噌の密告書が復旧

追記:Chernarus reduxマップでの動作確認

追記:忘却の修正

追記:プレーヤーデータ忘却機能(サーバ)

先程、自作アドオンを、EXILE MOD公式にて、正式に公開致しました。

[Released] Loot-box add-on by nabek(゚∀゚)ノ

過酷過ぎたサーバの旅にて、何度も、情報を得るため舐めるように観まくったウェブサイトです。

恥ずかしいやら、なんやらです。

(;´∀`)

一応、多少なりとも貢献が出来たという事で、感激です。

image

名だたる有名なアドオンのすぐ直下に、わたしのアドオンが。。

すぐ、下に追いやられるでしょう。記念のスクショですw

(;^ω^)

これも、世界共通語になる英訳の協力者による所が最も大きい。感謝で御座います。

追記:プレーヤーデータ忘却機能

image

ゲーム内には、既にインしてないプレーヤーさん達の遺物が結構残ってます。無論、サーバ負荷になり得ます。

Exileでは、デフォルトで、1週間程度で車両が消えるなどで対処されてますが、あいにく、うちのサーバでは3ヶ月程度に伸ばしまくってます。

あと、プレーヤースコアランキングなるウェブサイトがあるから、なのかもしれませんが、これに関して、ある機能を入れ込みました(前々から案内してたもの)

名付けて、忘却機能!m9( ゚д゚)

リスペクト(尊敬)を上げた所で、時間が立てば、人々から忘れ去られる。

車両だって、古くなれば、壊れやすくなる。

ポケットにだって、穴ぐらい、空いてたりもする訳・・です。

インしなくなって、1週間が立つとリスペクト&ポップタブが1%程度減っていきます。車両は、初期スポーンからのカウントで、ガソリン・ダメージが2%程度、ランダムで、ロックが外れちゃう。

リスタート毎なので、チリも積もれば・・という感じにしてます。

(;^ω^)そんな機能です。

サーバ的には、リスタート時にこれらのプログラムを動かす事になります。とってもシンプルです。

image

SQLコードを実行するだけのPythonコードで、SQLを流してるだけです(セキュリティ的には問題有り、中にSQL埋め込んでも良いですね)

これを、サーバ終了後辺りに埋め込んで置けば良いだけです。

SQLコードは、こんなです。一応、これで動いてます。

リスペクトの減衰(前回インから1週間後)

UPDATE exile.account as a
SET a.score = truncate(a.score * 0.98,0)
WHERE last_disconnect_at IS NOT NULL and (a.score > 100) and (a.last_disconnect_at < now() – INTERVAL 7 DAY)
;

ポップタブの減衰(前回インから1週間後)

UPDATE exile.player as p,
     (SELECT a.uid
     FROM exile.account as a
     WHERE (a.last_disconnect_at IS NOT NULL) and (a.last_disconnect_at < now() – INTERVAL 7 DAY))as ac
SET p.money = truncate(p.money * 0.98,0)
WHERE (ac.uid = p.account_uid) and (p.money > 100)
;

車両の故障&ポップタブ減衰&ガソリンの気化(初期から1週間後)

UPDATE exile.vehicle as v
SET v.fuel = truncate(v.fuel * 0.97,6),
     v.damage = IF(v.damage=0,0.1,truncate(v.damage * 1.02,6)),
     v.money = truncate(v.money * 0.98,0)
WHERE (v.spawned_at < now() – INTERVAL 7 DAY) AND (v.damage < 0.95)
;

車両のロック外れ(初期から1ヶ月・確率)

UPDATE exile.vehicle as v
SET v.is_locked = 0
WHERE (v.spawned_at < now() – INTERVAL 1 MONTH) AND (v.is_locked = -1) AND (RAND() < 0.1)
;

シンプルですので、改造も容易でしょう。

追記:忘却の修正

20190604183646_1

車両がアップデートされなくなると、一定でサーバから削除されますが、何を見て判断してるのかというと。

DB内のlast_updated_atになるのですが、上記の忘却機能を入れ込んじゃうと、自動でこの項目が更新されてしまいます。

よって、忘却機能で、車両ダメージを”破壊”まで持っていく事にします。これで、解決です。

ですが、SQL内の計算によってダメージを入れ込んでるので、setDammageに0~1を超える値を入れても動作するのかが気になったので確かめた。

20190604183706_1

1を超えれば、どんな値でも爆発してくれるようですw

(;^ω^)えがった

よって、忘却の車両SQLはこーしました。

UPDATE exile.vehicle as v
SET v.fuel = truncate(v.fuel * 0.95,6),
     v.damage = IF(v.damage<0.1,0.1,truncate(v.damage * 1.03,6)),
     v.money = truncate(v.money * 0.95,0)
WHERE (v.spawned_at < now() – INTERVAL 7 DAY)
;
/* AND (v.damage < 0.95)
;*/

初期スポーンから、7日後から適用されて、ガス&ポップタブが5%程度消失します。ダメージは、3%加算といった具合。最初ノーダメ(10%以下)だった場合は、10%にします。

サーバによる車両削除が不要になります(というか、機能しなくなる)

追記:Chernarus reduxマップでの動作確認

20190605224325_1

チェルナルスReduxのマップでの動作確認を実施。

20190605224517_1

一応、エラー無く動作してるようです。自動認識した軍事施設は3箇所。すべて空港なので、手動での登録が必要っぽい。

20190605224809_1

バンディットの動作もOK。

20190605225115_1

やっぱ、チェルノ雰囲気ありますね。

20190605225631_1

テント発見。

20190605232150_1

どーなんでしょ。建物オブジェクトに、AI配置用のデータが無いのか、少ないのか、ほとんどが屋外設置になってしまってるようです。

早速、マップの開発者にご報告w

(;^ω^)

追記:鯖味噌の密告書が復旧

ウェブサーバのOS全更新に伴って、密告書のシステムが停止してました。

先程、復旧しました。すげー疲れた

(;´Д`)

作業はメモっておきましょう。すっかり忘れてましたw

仕組みは、arma3サーバ側のデータベース(MySQL)から、定時で情報を抜き取って、jsonファイルを作っておきます。

それを、ウェブサーバに、SCPでコピーして、表示してるだけです。

今回は、認証周りを変更したので、一切がっさい動かなかったという事です。

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

image

追記:経年劣化の仕組みを入れてみる?

追記:再アップロード

追記:lootboxアドオンのデモ動画アップ(初めての動画編集)

追記:動画編集OpenShotからAviUtilに

追記:初めての動画編集で巨大な壁

追記:一般プレーヤーとしてイン

今更ながら、VisualStudioCodeというエディタに変えてみた。

・・・もっと、早く使ってればえがった。

(;´Д`)

SQF対応してるばかりか、コマンドのリファレンスまで表示される。。今までの苦労は何だったのか。。

20190518030547_1

バージョンアップした自作アドオンlootboxを、自鯖に適用しました。

んで、例のトラベリングトレーダーを、砂漠に配置して、自力で探してみる事に・・・。

なかなか、これは見つからない。。

(;´∀`)

ラジオが聞こえるので、近くにいるのは分かってるが。。このイジラシさ、が良いぞw

20190518031654_1

ついでなので、他の機能も動いてるか見てみる事に。

むむ?戦車が湧いてるぞ。。固まってないか?

・・と思ったら、がっつり撃ってきたw

追記:一般プレーヤーとしてイン

20190519000900_1

開発も落ち着いたので、久々に一般プレーヤーとしてインした。

20190518232804_1

絶対絶命1・・・

20190518234904_1

絶対絶命2・・・

(;´Д`)

これでも、結構AI減らしたんですよ。

確かに、前よりもAIさんとの遭遇率があがった感じです。

つー事は、ナイスなアドオンに仕上がってるという事ですよ。

追記:初めての動画編集で巨大な壁

image

自作アドオンの公開に合わせて、プロモーション用の動画を作成する事になったのですが・・。

なにせ、初めての動画編集。。

まったくもって未知の領域・・・。

(;´Д`)

とりあえず、オープンソース系で揃えてみる事にした。

ビデオ編集は、OpenShotというもの。文字入れなどで、BlenderInkscapeが必要になる。

Blender(3Dモデル作成)とInkscape(ベクター描画)は聞いた事があるが、初めて使う。

うむむ・・、同時に初見3本のソフトと向き合うってのは、なかなかの壁で御座いますw

(;´∀`)

追記:動画編集OpenShotからAviUtilに

image

オープンソース信奉者にとって、先のOpenShotを使っていきたかったんですが、あまりにも・・・・

(;´Д`)洒落にならない程、重い・・

古いソフトですが、実績のあって、プラグインで幾らでも拡張可能なAviutilを試しに使ってみる事に。

まだ、環境を整えたばかりで、これから利用を開始するところですが・・今の所は、好印象です。とにかく軽い!(重要)

実質、プラグインを入れないと使い道が限られてしまうので、自分で、プラグインを探して回らないといけないのが辛い。

人気な入力系プラグインのL-SMASH Worksの公式サイトが落ちてて・・、どないしても、入手できない(MP4データなので必須なのだ)

表のブログCMSが落ちてるだけらしく、直リンクでゲットできるようです。https://t.co/eK9RxVSxVx

image

分かってきたら、だんだん楽しくなってきたw

(;^ω^)

本当に軽い。やっぱ、ユーザーが多いだけの理由があります。

追記:lootboxアドオンのデモ動画アップ(初めての動画編集)

image

lootboxアドオンのデモ動画をYoutubeに公開致しました。

初めての動画編集です。。。見難いのはしょうが無い。

(;´Д`)

海外向けに、英語で挑戦してるんですが・・。

壮大に英文の誤りを指摘されてるので、直したやつを明日アップしなおすんですけどもねw

ま、はじめてなので。。

“a3_exile_lootbox” Version 1.5 Demo

追記:再アップロード

先生による訂正にて、まともな英文にして、再アップロードしました。

(;^ω^)

追記:経年劣化の仕組みを入れてみる?

image

これも実現したかったものの一つで、古い車両は、故障率が高くなる、ガソリンが気化してしまう・・というもの。

また、リスペクトなんかも、人々の記憶から消えてしまうものなので、インしないでいると、徐々に減っていくという感じ。

あと、ポップタブも、ポケットの穴から落ちてしまってるというテイで・・。

(;^ω^)

これは、サーバーリスタート時のタイミングで、格納されたデータを更新する事で実現します。

まだ、具体的な数字は決めかねてますが、車両の場合は、登録日からの経過日で故障具合に。壊れはしないが・・って感じ。

燃料は、常時、1%程度気化してる。

リスペクトも、インしなくなってから、1週間経過で数%程度づつ減っていく、ある程度で止まる。

SQL文はもう書いたので、いつこれを導入するか次第ですけども。

(;^ω^)

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

P_20190508_163838

追記:Exileサーバlootboxアドオンのバージョン公開!!

追記:終わらないデバッグが終わった

追記:宮城産サバを食すッ

追記:Chernarus Redux MAPの観光

追記:デバッグ

追記:Chernarus Redux MAPと昨夜の鯖缶濃密トーク(コンガリの再稼働の件)

追記:lootboxの高速化

追記:lootboxのAI再スポーンで四苦八苦

GW前に注文したマザボが(やっと)到着しました(ASrock B450M Pro4)

これで、Ryzen CPUさえあれば・・いっきにサーバのスペックアップできます(他パーツは余ってる)

(;^ω^)

そろそろ、新Ryzen(Zen2)が発売されます(夏頃?)首をなが~くして待ってる訳ですよ。

AMDでは、今、ゲーム2本が付いてくるキャンペーン中ですが、これに手を出すかどーか、悩みどころ。最安値を更新中でもありますし・・。AMD Ryzen CPU

image

lootboxアドオン、(若干でも)スキルが上がったので、過去に書いた部分をざっと更新中。

数千行も書いたので、結構な量です。あと、Readmeも全域に渡って清書、これも地味に大変な作業量です。

(;´Д`)

追記:lootboxのAI再スポーンで四苦八苦

20190510000711_1

lootboxアドオンでのバンディットAIは、リスポーンが無かったんですが、やっぱリスポーンするように仕様変更。

町を漁ってる他プレーヤーのテイのつもりだったんですが、上手い人がAIを狩っちゃうと、閑散としてしまうし・・。

(;^ω^)

これが、上手いこと動かない・・が、やっと、Arma3の癖を見つけた。もう、勘弁してぇ・・。

上写真をご覧の通り、死体の山・・。キルと同時にスポーンしてるので、撃ってりゃ当たるというw

このままではダメなので、リスポーンに条件を追加する位でしょうか。

追記:lootboxの高速化

image

GWでかたを付けようと思っていたのだが、思いついたアイデアはドンドン突っ込んでいたので、結局未だリリースできず。

(;´Д`)

上写真は、lootboxが起動した際に、サーバ側ログに出力される情報です(デバッグ情報)

マップ上の全ての町やランドマークのリストです。

Exile Modサーバを上げようとする鯖缶の情報にもなり得るんじゃないでしょうか。

また、以前は、初期化が終るのに3分掛かっていたのですが、これを1分まで短縮する事ができた。

かなりコードを見直した。

(;^ω^)

追記:Chernarus Redux MAPと昨夜の鯖缶濃密トーク

image

次サーバを上げる際は、このChernarus Reduxマップを採用する予定です。

この荒廃した雰囲気はやっぱチェルノです。

(;´Д`)

幸い、開発者のお一人を知ってる訳ですが、中身はまだまだ、なんだそうです。人の出入りも多く、5人だけで作業してるとか。

興味のある方は、開発に参加してみてはどうでしょう。

んで、昨夜は、コンガリベーコン鯖、MIJ鯖、そして私、鯖味噌鯖の日本人鯖缶同士で、Arma4の行方、ゲーム論に至るまでの濃密で濃いお話をさせて頂きました。

色々勉強させて頂きました。感謝

元、コンガリベーコン鯖(PvE)で稼働していたKBMSというシステムがあって(現在も開発継続中)、お金(ランニングコスト)の都合さえつけば、再稼働も出来そうな雰囲気です。

※KBMS:EXILE MODをベースに、PvE向けにほぼ全改修したもの、サーバ1台だけでは耐えられない

これを見ている、コンガリベーコン元プレーヤーさんがはたして、どれだけいるのか分かりませんが・・。

資金・機材的にサポートできる方がいらっしゃったら、ぜひとも、ご連絡ください(対象:ネット回線、PCと数台分の電気、設置箇所、Web・ドメイン費用など)

※PCは可能な限りの高スペックを要求(HC:AI計算に利用)


追記:デバッグ

20190513221733_1

何度も実行しては、コード書いての繰り返し。。

(;´Д`)

image

気分転換に、くだらな過ぎるツイートをするDiscordのあるお部屋。

image

そして、謎の返信が繰り広げられる。

そんな、5月。

追記:Chernarus Redux MAPの観光

20190514190438_1

チェルノReduxに観光に行ってみる。

20190514191142_1

まだ、開発途中との事で、気になるところも多々御座いますが。。

雰囲気もあって、なかなかヨサゲです。

20190514192818_1

この北西空港もこれから手を入れるとの事らしい。

追記:宮城産サバを食すッ

P_20190516_154828

サバだッサバ!m9( ゚д゚)

サバしか許可せん。

追記:終わらないデバッグが終わった

20190517020635_1

やっと・・ほぼほぼ、全チェック。

(;´Д`)

ちょー疲れた。。。。

バグは探してみると、わんさか出てくる、直せば、謎エラーが発生したり・・の繰り返し。。

まず、明日、鯖味噌に導入してから、gitの方で公開します。

追記:Exileサーバlootboxアドオンのバージョン公開!!

image

やぁあああああと、公開できましたぁ。。。デバッグが大変やった。。。。

(;´Д`)

これを見てるExileサーバの管理者さんがどれだけいるのか分かりませんが、どうぞ、ご自由にお使い下さいませ。

GitHub a3_exile_lootbox

※PBOは、「releases」からゲットできます