「dayz」タグアーカイブ

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

image

なんだろうか・・気付いたら64記事も書いてるんか俺・・。

(;´Д`)・・・

7月の記事を最後に完全に心を折られて、久しく、Exileサーバの構築をチョコチョコと初めてます。

どんだけ掛かってんねん、という感じですが、一度Linux環境で、妥協せず壁を全て乗り越えてみたいというマゾ精神によるところです(目的が変わってる)

image

前回作業した内容は全て脳内から消え失せてしまってるため、さっぱり気分で確認していきます(とてもポジティブです)

無論、ログを見るとエラーが出てる。原因も覚えてない。

環境は、これです。Ubuntu16.04.5LTS(確か、17.04LTSが駄目で戻した様な気がする)

Linux sabamiso 4.4.0-137-generic #163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

よしっ、まずは、extDB2環境でゼロから進めていこう。

ExileServer付属のextDB2.so、extdb-conf.iniをルートに置いて、extDBホルダーを作成、そこに、sql_custom_v2を移動(ServerModはイジるので、DB系はここに隔離)

ldd extDB2.so

で、ライブラリリンク切れを確認したら、一個外れてたので、リンクを張る(libtbbmalloc.so)

linux-gate.so.1 =>  (0xf76f4000)

libtbbmalloc.so.2
=> /usr/lib/i386-linux-gnu/libtbbmalloc.so.2 (0xf6b8c000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf6b87000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf6b32000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf6b15000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf695f000)
/lib/ld-linux.so.2 (0xf76f5000)

ついでに確認しようと、ldd xm8.soを見たら、こいつも切れてた(libcrypto.so)

linux-gate.so.1 =>  (0xf777c000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7725000)

libcrypto.so.1.0.0
=> /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf76f3000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76ee000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7577000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7522000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf736b000)
/lib/ld-linux.so.2 (0xf777d000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf734e000)

image

しっかり、extDB2をロードして正常動作してくれてるようだ。

あれから作業用のメインPCを新しくしたので、開発環境が丸っと無いことに気付く。

(;^ω^)

mySQL WorkBenchやら、PBO Managerやらをインストール。

image

まずは、ログを見ながら、エラーを一個づつ地道に潰していく作業となります。

Warning Message: No entry ‘bin\config.bin/CfgWorlds.Takistan’.
Warning Message: No entry ‘.gridNumbersOverLines’.
Warning Message: ‘/’ is not a value
Warning Message: No entry ‘.centerPosition’.
Warning Message: []: ‘/’ not an array
Cannot evaluate ” – no file
Warning Message: []: ‘/’ not an array
Cannot evaluate ” – no file

ミッションがロードされてから、こんなエラーが出てる。多分、こいつの性で、ミッションロードの繰り返しが起こってる。

マップが見えてない??のか?否、そんな訳ない。

しかし、指摘されてるファイルはマップの定義ファイルな訳で、イジる訳にもいかない。

ミッションファイルの方で何かしら、やらかしてる可能性があると踏んで、色々なファイルを丁寧に確認するが、一向に改善せず。。数時間

。゚(゚´Д`゚)゚。あぅ

エラーログ文から検索を掛けても、ほとんどヒットせず、途方に暮れたところ、よく見た、この一文・・。

case sensitive(Linuxなら大文字小文字関係あるでぇ)

image

これ試しても、意味が無かった事は、はっきり覚えてるよ。

・・もう、打つ手がないので、もう一度試してみよう。

CUP関連のディレクトリ内に入って、これを実行して、ファイルやディレクトリを全て小文字にします(まだ、CUP自体のディレクトリー名は大文字入ってる)

shopt -s globstar
rename -v -f ‘y/A-Z/a-z/’ **

うん、全部小文字になってる(中身だけ)CUP TerrainとMaps両方に実行。

image

はぁ?( ゚Д゚)

エラーが丸っと消えたよ・・

ミッションもスタートしてるようだ。いや、これ、前回の作業時も確認したよ。なんでやねん。意味有るやん。

ツンデレ過ぎるよArma・・・。

image

よしっ。引き続いてエラー潰し。

(`・ω・´)ゞ

Warning Message: You cannot play/edit this mission; it is dependent on downloadable content that has been deleted.
cup_misc3_config

アホみたいに大量に出ている、いつものこれ(オブジェクト登録)を、mission.sqmに追記していきます(addOns{})

ほんとに大量に出るので、まず、サーバアドオンを無効にして、ミッションファイル適用分だけを登録。

image

うむ、一通りエラー潰しはやった。アドオンも正常に動作してるようだ。

自作のアドオンも正常終了してて、ほっこり。

(;´∀`)

“[LOOTBOX]:: finished! have fun”で終わる。

ただ、サーバ稼働時間から20分も掛かるのは、どうよ。。

なんだっけな、ウェイト入れてるんだっけか?(完全に忘れてる)サーバスペックが低いから?

ついでなので、サーバの消費電力を調べてみた。A6-3650(OC:3.2Ghz)で、アイドル時は35W、サーバ稼働時は45Wのようです。

image

いざっ、インしてみようとしたら、ロード画面で突然落ちる。

ま・・そうこなくっちゃ。。

(;^ω^)

20:04:17 Error in expression <llExtension _query);
(_result select 1) select 0>
20:04:17   Error position: <select 0>
20:04:17   Error Generic error in expression
20:04:17 File exile_server\code\ExileServer_system_database_query_insertSingle.sqf, line 16
20:04:17 Error in expression <llExtension _query);
(_result select 1) select 0>
20:04:17   Error position: <select 0>
20:04:17   Error Generic error in expression

エラーを見る限り、データベース系っぽい。

そういえば、MySQLはインスコして、ExileのSQL流しただけで、ほとんど無設定やった。

/etc/mysql/mysql.conf.d/mysqld.cnfにこいつを追記して、sql_modeを変更。

sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

20181014204422_1

あ・・普通にインできた。。

(;^ω^)あ、あれ?

20181014204521_1

久々のTakistanです。

軽くプレーしてみましょう。

20181014205031_1

アイテム湧きもAI湧きもイベントも稼働してる。

20181014210315_1

アイアンサイトで340mキル。まさか当たるとは。

(;・∀・)

image

データベースへの書き込みも問題無いようです。

7月に私は何に苦労させられたんです?

。゚(゚´Д`゚)゚。

明日から、Exile MOD環境設定に入れそうです。デバッグで隅々まで、かなり手を入れてしまったので、元に戻し作業です。

image

8GBも積んでるメモリを存分に使ってOSとMySQLの高速化をやってみる。

・・が、あんまり変わんないっぽい。

(;´∀`)

preloadとかも入れてみたが、変わんない。

MOD類とログ出力先を、RAMDISKに出力させる。CUP MODは合わせて8GBとデカすぎるので無理やったけど。

つい先程、気付いたモノ。

(root)/@ExileServer/extDB2.so

(root)/extDB2.so

の両方に、extDB2.soオブジェクトを置いたら、MOD以下の方が優先された。confも同様。

【開発】Arma3サーバアドオンLootBOXをGitで公開

image

追記:リリースファイル忘れてた

せっかく作ったので、Arma3 Exileサーバ用アドオンMOD「TOOL BOX」をGitにて一般公開しました。

a3_exile_lootbox

これで、世界のツワモノどもの目に届きやすくなったはずです。誰でも簡単にプログラムに参加可能となります。

(;^ω^)思いっくそReadmeが日本語やけどな!

はじめてのGitやったので、難儀しちゃいましたが、なんとかアップロードできた。

英語だし細部まで見回して設定してないんで、これで良いのか理解してませんけども。

(;´Д`)

追記:リリースファイル忘れてた

image

配布用ファイルを上げておくのを忘れてました。

こちらのReleaseにあります。

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

P_20180811_215244追記:お引越し

追記:メインPC入れ替え計画

結局のところ、OSのインストールからし直しております。

(;^ω^)・・

必要なファイルはバックアップとって退避、色々弄りまくったんで若干不安ではあるが、戻せればええなぁ。

最新のUbuntu 18.04LTSではなくて、16.04.5LTSにしました。こっちだと稼働してた実績あるし、まだ、サポート期間終了まで3年あります。

Linuxには、枯れてる方が安心というオキテもありますので。

念の為、3.5GhzまでオーバークロックしたA6-3650を、3.2Ghzまで落としました(定格2.6Ghz・・・)

sc20180812172952せっかくなので、作業した内容は、全て記録しております。

Arma3でLinuxサーバを上げる方に向けて、完全なドキュメントを記事にする予定です(だったらいいな)

steamcmdメモ

ログインに失敗で、Steam Guardでロックされてしまった時、メールで送られたコードを以下のように入力します。

Steam> set_steam_guard_code <code>

追記:メインPC入れ替え計画

P_20180812_181143ちょっと前に、安かったので勢いでポチッてしまったRyzen5 1400を救済するべく。

さっき、マザボが届きました。

ASrock AB350 Gaming-ITX/acというやつ。今どきUSBでデバイス追加できるので、ちっこい方がええかなぁ・・と。集中冷却できるし。

インテルLANと、ヨサゲな音源搭載(ALC1220)してるのが決め手、あと常用極限オーバークロックしたいので、丁度良いスペック。

まだ、これだけでは動きませんけんども・・。

(;´∀`)

あとは、メモリとストレージ(m.2/SATA or NVME)があれば組める。

メインPCの移行なんて、こんな暑い時期にするもんじゃありません(ただ、ただ、メンドイ・・)

メモリ高いんだよなぁ・・、安価時の3倍ですよ、いまだに。

んで、現在利用中のCore i5-4670K(4.3Ghz)PCを、Exileサーバに移行するか、どーか迷ってる。また・・設定するのメンドイ。

追記:お引越し

sc20180814164131OSをインストールし直して、完全にゼロから戻し作業中。

作業はほぼ完了。

まだインしての動作確認はしていないが、ログを見る限りは・・一応動いてる様子。

前回曖昧な感じで環境を構築していた部分を、明らかにしながら、しっかりとメモしております。

(;´∀`)

しかし、OSインスコ後の、この清潔感・・w

自己満でしかありませんが、綺麗な状態のOSをイジるのは、久々なので・・。無駄なモノは一切排除で、Arma3だけしか動いてないLinuxサーバで、サックサクです(今の所は・・)

(追記予定)