「exile」タグアーカイブ

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

sc20180713152941追記:わからん

追記:Battleyeチュートリアル

追記:Battleyeか・・

追記:解決!その一歩が大事

追記:Kickされまくる

追記:DayzSA

追記:サーバ管理者さんのMOD管理

追記:サーバ起動短縮

前回のLinuxでWindows版(Wine)稼働実験に失敗し、モチベーションがゼロになってしまって、放置しておりました。

(;´Д`)

久し振りにサーバを立ち上げ、設定を見直してる所です。

Wineは諦め、初心に戻って、extDB3での環境を”再度”試してみようと思いました。

あれや・・これや・・やってたら、あっさり動きました。。

ヽ(;゚д゚)ノ え・・・・・。

「スランプに入った時、まったく違う事をやってリセットする」なんて言葉をよく耳にしますが、確かに、そのようです。

忘れる前に、行った作業を記録します。

extDB3バージョン 1031

sc20180713153627extDB3のログを見たら、これ。

extDB3: Incompatiable Config Version: 5,  Required Version: 1

バージョンがちゃうぞ

・・と。

じゃ、ご指定通り1にします(つまり、ExileServer1.0.4の方じゃなくて、extDB3のextdb3-conf.iniを利用)

sc20180713153854すると、SQL_CUSTOM関連でエラーが出まくりました。

なにやら、サポート外の書き方のようです(exile.ini)

色々思う所はありますが、余計な事は考えず、エラーを取る方法を優先します。

(;´∀`)

Number of Inputsや、Sanitize Input Value Checkなどの書き方一切が許されてないようです。

先のエラーも含め、extDB3-1031のLinux版の中身が古いんだろうかとも思ってしまう・・が、横に置いておこう。

ここで指摘されたエラーを取っていきます。

ほとんどはコメント”;”にすればOKですが、[markDeleteUnpaidTerritories]の所は、以下を追記します。

SQL2_INPUTS = 0
SQL3_INPUTS = 0

あと、もう一点。

12-DateTime_ISO8601

という書き方も許されないので、上でいう”-DateTime_ISO8601”を丸っと削除します(日付書式の指定なのですが、8601は標準的なモノなので影響ないとは、思いたい・・いずれにせよ要確認)

全部手作業で作業するのは大変なので、テキストエディタの置換で一気に作業すると楽です。

Number of Inputs = 1 を ;Number of Inputs = 1 の様に。

とりあえず動いてる・・だけで、めっさ嬉しい・・。

(;^ω^)

データベース周りがちゃんと動作してるか、確認が必要ですね。

sc20180713154851先日のSteamサマーセールで、この度(いまさら?)、Dayz SAを購入しちゃいました。

(;^ω^)

ボヘミアさんへ、お布施みたいなつもりですけども。

ちょっとだけプレーしましたが、操作方法やらが、全然違うんですね。

印象的には、システム的な古さを感じましたけど(Arma2+αみたいな感じ)、こういうもんなんでしょうか。

しかし過酷です、敵に出会う前に、死にますw。まだ包帯の作り方や食料の取り方も知りません。

追記:サーバ起動短縮

サーバコマンド引数の、-checkSignaturesを取ってみたら、(私の環境では)10秒短縮できました。

具体的には、起動後すぐのSignature testsが実行されません(MODのpboファイルのチェック)

サーバ側のMODチェックは不要じゃないかと思った次第でもあります。

自分のところは、CUP MOD2個(core/terrains)、Zombie&Demonsだけなので、沢山MOD導入してる場合は、効果絶大でしょう。

追記:サーバ管理者さんのMOD管理

sc20180713165351サーバ管理しながら、Arma3プレーヤーもしてると、MODの設定がウザったくなります。

Arma3ランチャーのプリセットで、自鯖用のMODプリセットを作っておくと、とても便利。

既知ならスルーで。

(;´∀`)

追記:DayzSA

20180713210349_1Wikiとか見ない初見好きな旅人なのです。未だ、食料の確保の仕方が分かりません。

今回は珍しく、生き残ってる。

リュックもゲットして、あらゆるモノを見つけ次第拾ってる。

ゾンビとは、戦いたくないので、こっそりと探索(治癒の仕方も分かりません)

20180713211243_1おっ、プレゼントボックス?

中身はなんだろう。

拙作のアドオン(lootbox)に似た情景だったので、ちょっと嬉しい。

20180713211307_1.45弾と、VSS用マグだった。

持ってる唯一の銃(P90?)には、合うはずもない。
20180713211946_1どこに居るのかさっぱり検討もつかない・・。

(;´Д`)

Arma3でチェルナルスのおおよその形は分かってますが。

確か、海沿いを移動し続けてるんですが、よー分からん。

DayzSAをプレーすると、Exileのアイテム湧きが多すぎな印象しかしませんね・・。

要はバランスなんでしょうけども。

追記:Kickされまくる

sc20180714181249ん・・・・

(;´Д`)

サーバはエラー無く稼働してるんだが、インでけない・・。

かれこれ、2日ほど、これに掛かりっきり。

ログには一切の情報が無いので、総当たりでチェックしてるが、まったく光が見えず・・・。

Battleyeでも無い、DBコネクション系でも無い、config.cfgでも無い。ファイヤーウォールでも無い。MODシグネチャでも無し。

ExileServerに付属してくるAltisミッションで立ち上げて(extDB2)も同様だった。

データベースに接続情報が書かれて無いし、ローカル側にミッションファイルがダウンロードされてないので、多分、基本的な設定か何かだと思うんだけど・・。

だとすると、config.cfg位しか無いはずなんだけども、色々試したがアウトやった・・。

sc20180714181629ネット上をヒントを探し徘徊しまくってます。

(;´Д`)

偶然見つけたここ。

若干古めの文書ですが、サーバトラブルの解決方法が書かれてます。

便利かもと、備忘録。

https://forums.bohemia.net/forums/topic/172834-tutorial-debugging-server-issues-eg-not-loading-correctly/

追記:解決!その一歩が大事

20180714192805_1(´;ω;`)ブワッ

なんて久し振りな画面なんでしょう・・。

やっと、1歩前進です・・。

Kickされまくった原因は、とても単純でした(想定どおり)

config.cfgのこの一行。

loopback=true;

開発用にtrueにしてたんです。loopbackするので、同PC(IP)上でしか動作しないモードなんです(開発時はWindows PC上でやってたので)

すっかり忘れてた。

(;´Д`)

※ちゃんとDBにもログイン記録が出てるぅ(歓喜)

また新しいエラーが出てるんですが・・、これは情報があるので、すぐ解決できるでしょう。

Player nabe kicked off by BattlEye: Script Restriction #39

Battleyeスクリプトの書き方を指摘してるようです。Battleyeはカスタムしてないんですけどもね・・。

(;^ω^)なぜぇでしょうか。

sc20180714202724むむ?

このエラーの内容は、その都度違う内容が出るようです。

はて??

この#39(この番号も固定ではない)という数字はどんな意味があるんだろう。

このエラーが出た時は、battleyeディレクトリ内にlogが出力されます(scripts.log)

とはいえ、よく分からない。

private _cfg = configFile >> “CfgVehicles”;
private _supportUnits = (units _group – [_leader]) select {getText (_cfg >> typeOf “
{
private _logic = “Logic” createVehicleLocal [0, 0, 0];
private _trader = (_x select 0) createVeh”

果たして、このコードがどこのファイルかは、分からない・・。

(;´Д`)

当初、battleyeスクリプトかな?と思っていたが、どこにも、こんな記載は無かった。

sc20180714205234なーんとなく、ExileServerかExile本体内部のコードっぽいんだけども。

と何度か実行してたら、ファイル名が出てくる時があった。

アドオン絡みかな。まずは、範囲を限定していかないと。

アドオンは、大昔1.0.3時代にダウンロードして以来、更新してないし、ローカルにてミッションファイルの実行時でのエラーなので、これが犯人で間違いないだろう。

もしくは、データベースを初期化してないので、ゴミデータが悪さをしてるか、のいずれか。

今日はこの辺で寝るッ!m9( ゚д゚)

sudo shutdown 0 ターンッ

sc20180714210200・・久々にSpotifyで聞きながらの作業中。

globeええよ。

( ´∀`)

(どストライクな世代やし)
追記:Battleyeか・・

20180715145758_1。・゚・(ノД`)・゚・。

やっと、動いたぉぉ。

ただし、Battleyeをオフにするとね・・

(;^ω^)

1.0.3の時は動いてた訳なので、基本的な何かでしょう。

今からBattleyeの仕様を理解してスクリプトを全部見直す・・なんて事は絶対避けたい。

クライアント側(つまりミッションファイル)に、問題がある事は確定なので、一個づつ見直すしかありません。

追記:Battleyeチュートリアル

Battleyeスクリプトの書き方に関するドキュメント(英語)を発見したので、備忘録。

How To: BattlEye filters – DO IT YOURSELF!

追記:わからん

(;´Д`)

思いつく限りの試行錯誤をしまくったんだけども、どうしてもBattleyeで蹴られる・・。

なんでぇ・・・

【pc】無料オフィスのLibreOffice6.0登場!

sc20180627123504オープンでフリーなオフィススイートのLibreOfficeが6.0とメジャーバージョンアップです。

LibreOffice

私も長い間常用しており、非常にお世話になってます。

本当にMS Officeは不要なんですよね(Excel/Word風の互換)

※PowerPoint/Access風は非互換

※VBA/マクロは非互換、ベクター系画像ツール有り

文書のやり取りで不都合を感じた事はたまーにある位です(自分は、ほとんど印刷関連で、対処可能なレベル)

※対処できない場合は、ExileViewerとか使う

ちなみに、Microsoft Office2016は、34000円です(2ライセンス)

まだ、さらっとしかイジってませんけども、いくつかUI系でも微妙な違いを感じます。

(;´∀`)

機能追加・変更リスト

バグ修正リスト

Windowsだけでなく、MacOSやLinux版もあるので、組織内文書の流通性も確保できます。

お金が有り余って仕方ない方は、ぜひとも、寄付してください(PayPal)

(;^ω^)今見たらBitCoinでも寄付できるらしいw

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

sc20180626161259うむむ、想定していたよりも、Wineの壁はデカかった。

Wineの64ビットはまだ発展途上の段階のようです。

結局振り出し状態です。

。゚(゚´Д`゚)゚。

んで、気分転換に、コメで頂いた他サバ缶様のトラブルのヒントでも探せればと、コードを追っております。

サーバアドオンのAVSというモノで・・・

イマイチ分かってませんけども・・・

(;^ω^)

初期化部分でエラーが謎の動作があるようです(詳しくは前記事のコメント)

sc20180626161717エラーメッセージからサーバ側コード部分にたどり着きました。

AVS_system_database_connect.sqf(41行辺り)

ログで出されたエラーは、ここです。

最初に、データベースに接続テストを行って問題無いようです。

_result = parseSimpleArray (“extDB3” callExtension “9:ADD_DATABASE:exile”);

次に、SQL文を登録する部分です(ハックされないよう事前に文を登録しておくらしい)

_result = parseSimpleArray (“extDB3” callExtension “9:ADD_DATABASE_PROTOCOL:exile:SQL_CUSTOM:AVSDB:avs.ini”);

extDB3仕様

https://bitbucket.org/torndeco/extdb3/wiki/extDB3%20-%20System

sc20180626162055登録するSQL文はこの2つだけ(avs.ini)

めっちゃシンプルです。

しかしながら、提示されたログを見る限り、この部分でエラーとなってるようなのです。

ーーここのどこかにーー

    “Connected to database!” call ExileServer_util_log;
  diag_log “AVS – Connected to database!“;
    ExileServerDatabaseSessionId = “SQL”; //str(round(random(999999)));
    _result = parseSimpleArray (“extDB3” callExtension “9:ADD_DATABASE_PROTOCOL:exile:SQL_CUSTOM:SQL:exile.ini”);
      _result = parseSimpleArray (“extDB3” callExtension “9:ADD_DATABASE_PROTOCOL:exile:SQL_CUSTOM:AVSDB:avs.ini”);
    if ((_result select 0) isEqualTo 0) then
    {
        throw format [“Failed to initialize database protocol: %1”, _result];
    };
   ExileServerStartTime = (parseSimpleArray (“extDB3” callExtension “9:LOCAL_TIME”)) select 1;
    “Database protocol initialized!” call ExileServer_util_log;
    “extDB3” callExtension “9:ADD_PROTOCOL:LOG:TRADING:Exile_TradingLog”;
    “extDB3” callExtension “9:ADD_PROTOCOL:LOG:DEATH:Exile_DeathLog”;
    “extDB3” callExtension “9:ADD_PROTOCOL:LOG:TERRITORY:Exile_TerritoryLog”;
    “extDB3” callExtension “9:LOCK”;

    _isConnected = true;

ーーどこやーー

青字のログが出てないようなので、それ以前での例外エラーです。怪しいのは2つのADD_DATABASE_PROTOCOLでしょうか。

ん?何気なくコードを見ると、何か気になる部分が(濃い赤字

44行:_result = parseSimpleArray (“extDB3” callExtension “9:ADD_DATABASE_PROTOCOL:exile:SQL_CUSTOM:SQL:exile.ini”);

これはExileサーバ側のSQL登録ですけど、なぜここにあるんだ?(exile.ini)

コードを見ると、extDB3のオーバーライド用コードと類似してる部分が多々あるようです(mpmission/Exile_Server_Overrides/ExileServer_system_database_connect.sqf)

※そのまんまコピペした感じです

この重複した部分が悪さをしてる・・とか。。(あくまで推測です)

今日のところはここまで。。٩(′д‵)۶

追記:

完全にフックしてるようでした、多分、これは問題無いはず。

どうでしょ?

どこでエラーになってるのか、対象部分の各行に、diag_log”**** HELLO!! ****”; とか書きたいなぁ・・・・。

(;^ω^)

戯言:

実際にSQL文が書かれている(avs.ini)に、これも書くと丁寧になるかもしれない。

Number of Inputs = 1 (引数の入力数、要はSQL文の”?”の数)

※公式ドキュメントでは、引数の数が合わないとダメとか書かれてる

sc20180626171053readme(導入手順)を読んでみると、vehicleテーブルに項目を追加するんですね。

なんだか怖いw

(;^ω^)

vehicleテーブルに「ammo」を追加して、AVSアドオンでは、この項目だけを読み書きしてるようです。

1.0.3と1.0.4でのDB相違に関係あるかな・・と思って調べたけど、多分無いですね。

(;^ω^)

追記:

フックしてるのは以下の10ファイル。

ExileServer_object_player_createBambi
ExileServer_object_player_database_load
ExileServer_object_vehicle_createNonPersistentVehicle
ExileServer_object_vehicle_createPersistentVehicle
ExileServer_object_vehicle_database_insert
ExileServer_object_vehicle_database_update
ExileServer_object_vehicle_database_load
ExileServer_system_database_connect
ExileServer_world_initialize
ExileServer_object_vehicle_carefulCreateVehicle

怪しいのは、やっぱこのファイル。

#kickが2度実行される不思議な事象があるので、次はここら辺を追います。