2021年12月17日金曜日

今更 No Man's Sky をやってみた。放浪中に見かけた船備忘録編。

No.1
メモ種別: 外来種の宇宙船
星系: エチュズク・フク
銀河: ユークリッド
遭遇場所: 宇宙ステーション
ゲームモード: 共同探検#1 REDUX
外見・ポータルアドレス・性能:


備考:
2021/11/25遭遇。
名称が切れていますが「クチマル・オブ・ザ・ディパーチャー」です。
多少宇宙ステーションで待機する必要があった気がします。

No.2
メモ種別: 外来種の宇宙船
星系: ネグピング
銀河: ユークリッド
遭遇場所: 宇宙ステーション
ゲームモード: 共同探検#2 REDUX
外見・ポータルアドレス・性能:




備考:
2021/12/15遭遇。
宇宙ステーションに一番最初に飛来する機体ですのですぐ確保できます。
超コンパクトです。


2021年11月22日月曜日

今更 No Man's Sky をやってみた。パーマネント・デスでSクラス実験的24枠マルチツール発見編。(Sクラスライフル24枠MT情報のおまけつき)

私しか知らない星系なので記録しておきます。
(おまけ情報追記-2021/11/24)

ゲームモードはパーマネント・デス、ユークリッド銀河です。
星系名はアーリネズブ、マルチツールの売り場は惑星「ツレフ」の小規模な開拓地です。

なお、この星系は、以前の記事で深赤の外来種の宇宙船が飛来する宇宙ステーションがある星系と同一です(記事を書いた自分が忘れていました)。

見つけたSクラスのマルチツール売り場のある星のポータルアドレスとマルチツールの外観は以下の通りです。

白を基調とした市松模様をあしらったシンプルデザインで素敵です。ま、単に私好みってだけなんですが。

惑星上でロードしてから購入してください。

小規模な開拓地の惑星上の座標は「+60.21, -75.27」です。
基地を設置し、名称にSクラスの実験的ツール(24枠)といった意味の基地名を振っておきましたので、ご活用いただければ幸いです。

名称及び性能はこんな感じです。
とりあえず以上です。


Sクラスライフル24枠MTのおまけ情報は次の通りです。
ゲームモードはパーマネント・デス、銀河はユークリッドです。
星系名はイヘウングです。
売り場は宇宙ステーションですのでアクセスが楽です。
外見及びポータルアドレスは以下の通りです。
ミリタリー感を醸す色合の一品です。
性能及び名称は次の通りです。
この星系すべてでセーブロードをして実験的かエイリアンにならないか見てみましたが、ダメでした。

おまけ情報は以上です。


以下余談です。
この実験的マルチツールを発見した星系の宇宙ステーションではAクラスとしてこのツールを販売していたため(むろん、惑星「ツレフ」でロードした場合のみです)、きっとSもこのタイプに違いないと思い、さっそく探索を開始しました。
当初は1週間程度かかるだろうと見込んでいましたが、なんと、たった12~3回の試行でSクラスを発見してしまいました・・・

更にその前のプレイで(毎日はプレイできないので数日前になりますが)、別に乗り換える意味なんかなかったのですが、何となくノーマルモード用の大型貨物船をAクラスからSクラスに乗り換える作業を開始したところ、10回そこそこの試行でSクラスを引いてしまっていました。言うまでもなく、パーマネント・デスで使用しているSクラス大型貨物船よりもずっと早く入手できました。さらに言えば、先代のAクラスを引くよりもよほど早かったです。
作業中も、Sクラスを引くまでもほとんどCを引かずAばっかり引いていた印象です。
ちなみにこんな感じの貨物船です。
これまでお世話になっていたAクラスの大型貨物船は、地味な黒色に長い船体で船名が「ジミナガ」ですこぶる気に入ってはいたのですが、やっぱりAというのがどうも・・・
これまでは黒色でちょっと中二病っぽかったので、今回は`作業旋回半径内立入禁止'感を出してみるべく、工事とか作業用車両に多用される黄色を選択してみました。
船体は短くなりました。

幸運がこうも続いてしまうと、単純にうれしがってもいられない気がしてなりません。

まあどうでもいいですよね。ごめんなさい。
ここまでお読みいただいて誠にありがとうございました。

2021年11月20日土曜日

GitBucketのH2データベースがまた壊れた

便利に使わせていただいております。

批判だなんてとんでもないこってす。そんな意図は毛頭ございませんので念のため。

私が悪いんです。

前置きです。

久しぶりにGitBucketを更新する衝動にかられました。

4.31.2から4.36.2です。

過去の例から絶対何か起きるな、という確信がありました。

だから、全然ちっとも悔しくなんかないんだもん。


今回は4.36.2にwarを置き換えたとたんにこんな感じです。

19:12:49.124 [main] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization.

org.h2.jdbc.JdbcSQLException: テーブル "REPOSITORY" が見つかりません

で。4.31.2に戻しても

Caused by: 

com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: テーブル "REPOSITORY" が見つかりません

だそうで。

4.36.2がテーブルをぶっ壊してくれるみたいですね。
そのため、4.31.2に戻しても後の祭りと。

すげえなあ。後方互換などには目もくれぬ未来しか見つめない設計思想。まさに聖帝サウザーばりですね。「ひかぬ。媚びぬ。顧みぬ。」でしたっけ。

多分4.31.2からリリース順にリプレース/起動/停止を繰り返してアップグレードすれば問題ないんでしょうね。思いついたときにドーンと更新した私が悪うございます。

この事例は以前もありましたので、もうこれ使うのやめたいなあと思っていながら惰性で使い続けたのも自業自得。

使うのをやめるつもりだったので、GitBucket専用の設定ファイル類のバックアップはとってませんでした。これも自業自得です。

ところで、タイトルにはH2データベースが壊れた、としましたが、この様子だと、GitBucketさんはH2データベースを信頼性がない云々で目の敵にしておいでですが、H2だから壊れたんじゃなくてGitBucketさん自身がぶっ壊しているようにしか見えません。
まあ、私が確認した範囲内ではH2データベースが壊れたのでタイトルはそのままにしておきます。


まあ、さっき新規プロジェクトをコミットしたばっかなので、その辺復旧できるなら復旧したいなあということで、試みてみました。
この際、懸案だったGitBucketから別のシステムに移行する手間か、単純にこの場は復旧だけしておいて済ませるか、多少考えないではありませんでしたが、結局やっつけで済ませられるほうを選びました。

まず、H2データベースのダンプを試みます。

H2公式から1.4.200をダウンロードしてみたところ、ファイルポインタがどうのこうのでさっぱり使えません。

何を言ってるのかわからないので早速検索をしたところ、199を使わないとダメなんだそうで。

なんなんだそろいもそろってjava業界って・・・未来しか見えてないのね。

ちゃっちゃとおわらそう。

java -cp h2-1.4.199.jar org.h2.tools.Shell -url  jdbc:h2:file:data -user sa -password sa

で中身をのぞこうとしても

「org.h2.jdbc.JdbcSQLException: テーブル "REPOSITORY" が見つかりません」

この段階でDB全体の整合性が整っていることが必要なのね。

ウームと唸って、さらに探すとRecoverというツールがあるらしいので助かりました。
カレントディレクトリにdata.mv.dbがある前提で

java -cp h2-1.4.199.jar org.h2.tools.Recover

と実行すると、data.h2.sql とdata.h2.txtという2ファイルが生成されました。

そこで、data.h2.sql をさっそくのぞいてみると、O_??(数値)というあからさまにテンポラリな名前のテーブルがいくつか作られていました。

そして、そのテーブルに対してINSERTが発行されています。

さて、このO_で始まるテーブルは何なのかな?と思って、よくよく調べてみると、スクリプトの後半で本来のテーブルと思しきテーブルにinsert from selectしてました。

なるほど、制約条件の整合性対策なんだろうな、と納得した次第です。

で、確かに、テーブル "REPOSITORY"はありません。

その代わり、REPOSITORY_COPY_3_3っちゅーのが見つかりました。

なーんだかよくわかんないですけど、こーゆー名前のつけかたって、多分、ver3.3のころにアップグレード処理を入れた名残なんでしょうかね。

あれ?でも、これ、insert文にさっきgitにcommitしたばかりのはずのリポジトリ名も入ってる・・・

わけわかんないけど、これに対してinsertしているのをテーブル "REPOSITORY"に向けなおしときました。

ついでに、カラムが追加されてるテーブルがあり、insert文が通りませんでした。
そこで、4.36.2で新規作成した空のデータベースファイルをダンプして比較したところ、create table文にカラムが追加されており、default trueとか書いてあったのでinsert文の該当カラムにtrueを追記しておきました。

そして、それらテーブル名とカラムの追加を行ったinsert文をh2-1.4.199.jarではなくGitBucketの管理コンソールの「Database viewer」なる機能から流し込んでみたところ、見た目は復旧出来たっぽいのでもう終わりにします。

H2公式ツールを使わなかった理由は、二つあります。

いくら公式だからってh2-1.4.199で読めてh2-1.4.200で読めなくなるようないい加減なツールなんかおっかなくて使いたくないし、GitBucket自身が何を使ってんのか知らないのでこのプログラム自身が使ってるライブラリでDBをいじらないとまた七面倒なことが起きそうだと思った次第です

ま。こんな感じです。

更に次回、やっぱり惰性で使い続けて似たようなことが起きた場合に備えて忘備録としたいと思い記録しました。なお、cronでバックアップする元をリポジトリ以外にGitBucketの設定定義体も念のため加えておきました。GitBucketを廃止したらこれを忘れずに除去しなくてはならないのが今からおっくうです。

こんな戯言にお付き合いいただき、誠にありがとうございました。

2021年11月17日水曜日

今更 No Man's Sky をやってみた。パーマネント・デスの序盤の行動や金策など編。

表題のゲーム、ノーマルモードである程度経験を積んだので、パーマネント・デスモードで遊んでみることにしました。

記事を長々と書く前に、まだチュートリアルすら終わっていない段階でとりあえず星系をいくつかはしごしただけで以下のような成果物を得られますという具体例をお示しします。
また、私しか知らない星系なので、という意味もあります。

銀河は(当然)ユークリッド銀河です。

まず宇宙船です。
アーリネズブ星系の宇宙ステーションで遭遇しました。
宇宙ステーションに3台目に到着しますので待つ必要がありません。
見た目とポータルアドレスは以下の通りです。

性能と名前は以下の通りです。

幸運なことに20スロットすべてが解放されていましたが、これは飛来順と異なってランダムな気がします。

お次はマルチツールです。
Aクラスならそこかしこで見つかりますので特記する必要はないと思いますが、今回はSクラスが見つかってしまったので、本来は具体例から外れてしまっているのですが、私しか知らない星系なのでここに記録したいと思います。

星系名オマルクフの宇宙ステーションで、見た目とポータルアドレスは以下です。

性能は以下の通りです。

なお、同一星系にあるオトフォルドという惑星ででセーブ/ロードをして宇宙ステーションに戻ってくると、実験的10/15となります。

性能は以下の通りです。

さすがに実験的マルチツールのスキャン性能は圧倒的です。
これで24スロット版だったら申し分はなかったのですが、Sクラスの24スロットライフルというだけでも十分貴重です。

というわけで、ここから先は本題ではありますがほかの方にとってはチラシの裏です。
以上、お読みいただいてありがとうございました。

さて、第一回目のセーブデータでは、宇宙船にたどり着けないまま、ソジウムも一休みするための洞窟も見つからないままにあえなく死亡しました。

第二回目のセーブデータでは、無事に宇宙船にたどり着け、それ以来まだ死んでいません。

まだ死んでいない、というより、宇宙船にたどり着いてしまえば、死のうと思って行動しない限り、もう死ぬことはまずありませんから、本当に最序盤は単なる運ゲーです。身もふたもないです。

無事に最初の基地を設置したら、次に行うのは金策かと思います。
とりあえずインベントリを実用程度に開放できて、扱いやすい船を購入できるだけの額を得るのが仮の目標となるでしょう。

ラディアント・ピラーをじっくりアップグレードするのも乙なものなので、その方向でプレイしてもいいと思いますが、結構な資金やナノマシンが必要となりますので、差し当たって当座の運用を行う宇宙船は別に確保してもいいでしょう。

最初期の金策の目標額としては、宇宙船は外来種でいいなら、後述する貿易用資金と合わせても具体的な額としてはとりあえず20,000,000ユニットもあれば十分でしょう。

このプレイ段階でこのゼロが並んだ数を見るととても高額に見えますが、ノーマルモードで一度経験を積んだおかげで、実際にはそれほど時間がかからずに稼げてしまえます。

外来種の宇宙船は宇宙ステーションをいくつかはしごするだけで見つかるので序盤から見つけやすいうえに高性能です。
むしろ、序盤なんだからポータルアドレスだなんだかんだとか言われたって、何の意味もありゃしません。自力で見つける必要がありますが、その労力は労力といえないほど楽なもんです。
価格に関して言えば、最も高額な20スロット解放済みの船でも12,000,000ユニットで購入できます。
スロットなんかどうでもいい場合は、5,000,000ユニットで購入できたりもします。遺棄された貨物船の所在地情報を買う1回分でしかありません。どうでもいいといったって、これでも15スロットは解放済みです。

いずれにせよ序盤で入手しておけばラディアント・ピラーに比べると雲泥の性能差なので、スペースレスキューやアルテミスミッションなどの遂行が大変楽になります。将来買い替えるつもりでもまずは一隻所有して置いて損はないと思います。

宇宙船全体に言えますが、宇宙ステーションに限れば一度発見してしまえば、その場ではユニットが不足していても、その宇宙ステーションに必ず来ることはわかっているわけですから、ゆっくり金策して買えば済みます。

さて、その金策ですが私の場合は、初手での金策は、自然の墓の墓荒らし発掘調査が好みです。

気候もセンチネルも穏やかな星に古代の残骸が見つかれば何の危険もなく多額の初期資金を手にすることができます。

お骨一つで高ければ1,000,000を超えるので、20か所も荒らせば供養すれば立派な小金持ちです。

墓巡りと並行して同じく地下から回収できる「回収データ」もある程度揃えておけば、次の段階の金策のためのテクノロジの解放に役立ちます。

どうしても理想的な古代の残骸がある星が見つけられない場合や、骨が大嫌い、生臭そう、という場合は、手間いらずな金策として、貿易があります。

貿易は、できれば初期費用として10,000,000ユニット程度あれば楽に資産を増やせるので、私自身はある程度の元手を得たら移行していますが、背に腹は代えられない場合でも、購入・運搬できる分だけでもこまめに売買を繰り返せば十分に小金持ちになれます。

しかも、宇宙ステーションをテレポートで行き来するだけです。
宇宙ステーションの反対側の島に渡る必要すらありません。

なお、売り払う場合は、貿易ターミナルではなく、地図製作者に売り払うと、より高額で引き取ってくれます。
地図製作者の属する相場情報はおそらく惑星上の相場とリンクしているんだろうと思います。

買い取る場合も実際には宇宙ステーションではなく惑星上の貿易ターミナルから購入したほうが廉価で仕入れることができるのですが、面倒だけど高額な金策手段ならほかにもいろいろありますから、貿易まで面倒にするには及ばないと思います。

なお、早めに船に経済スキャナを搭載しておいたほうがいいと思います。
ワープ前に経済レベルを知ることによるメリットは以下の通りです。

  • 星系をワープで経めぐっているうちに必ずスペースレスキューが発生してしまうため、より良い貨物船をより高い確率で得るためには経済レベルが高の星系でないと不利です。
  • 貿易ターミナルでの物資取扱量が貿易品を含めて種類も量も増えるために当然のことながら一度に購入できる貿易品の種類と量も増え、貿易効率が高まります。

私の場合は、古代の残骸漁りに飽きたら貿易に移行しています。
貿易には宇宙ステーションの数がものをいうので、手を広げている間に使い勝手のいい船やマルチツールも同時に探しておくと効果的に序盤をこなせると思います。

金策と並行して、インベントリのアイテムスロットの解放も行うといいです。

最初のうちは小銭でアイテムスロットを拡張できますから、お骨を数個を売り払っただけで宇宙ステーションやスペースアノマリーで相当数のスロットを解放をするには十分な額となります。
無論、そのためには1星系あたり1スロット、チュートリアルを進めると2スロットしか開けられませんので、ワープで星系を渡り歩く必要がありますが、これは貿易での金策およびもっと扱いやすい宇宙船やマルチツール探しのために役立ちますので損はありません。

ユニットでスロットを解放しない場合は、投下ポッドに頼ることになります。

この場合、次の問題点があります。

  • 投下ポッド座標データは頼るには高額すぎますし、案内も不安定です。
  • 従って、実用的には
    1. エクソクラフト
    2. エクソクラフトに搭載するエクソクラフト信号ブースター
    3. 同 エクソクラフト信号ブースターアップグレード シグマ
    以上を搭載したエクソクラフトでスキャンすることになります。
  • 従って、それらのテクノロジやアップグレードを入手するために、スペースアノマリーが呼び出せる段階までチュートリアルを進めなくてはなりません。
  • スペースアノマリーで技術を購入するための回収データがそれなりに必要になります。
  • エクソクラフトだけでは投下ポッド間の移動に時間がかかりすぎるため、宇宙船での移動が実用的ですが、初期段階では2回離陸すると燃料切れとなるため、発射エンジン用のアップグレードの設置がないとつらいです。
  • 投下ポッドで修理を行うための資材は事前に必要数を購入または生産しておかない場合、入手性が割合ネックとなります。
    ソジウム硝酸は精製機が必要ですし、カーボンナノチューブは取り扱っていない場合が多いです。反物質格納容器は途中で見つけた小規模な開拓地でそこそこ入手できます。
上記の理由で、ユニットで拡張する手段に比べると初期投資の手間が段違いに多いので、チュートリアルミッションを終わらせるほどでもありませんが、ややゲームを進めてからの手段になるかと思います。
大容量スロットの解放は高額となりますので、それを解放する必要性を感じる段階に達したら投下ポッド巡りを開始するとよいと思います。
そこそこの規模の惑星ならば、大量にあるアイテムスロットをすべて開放してもなお余りある投下ポッドが配置されていますが、ある程度開放を進めるとすでに使用済みの投下ポッドに再度案内される場合が多くなることがあります。
その際は別の惑星に移ったほうが精神衛生上よろしいかと思います。

もう一つ、これは自発的に行うというより必ず序盤に発生してしまうのですが、貨物船の入手です。

しかも1隻目なら無料、かつ未強化のラディアント・ピラーでも十分撃退できる程度の海賊しか襲ってきませんので、早めに手に入れておきますと、さらに次の金策や遊び方に何かと便利だと思います。

無論、別に無理に所有する必要はありませんが、貨物船さえ入手してしまえば、貿易だけでの金策でも貨物船のフリゲートもCクラスであれば一隻2,000,000ユニット以下で譲ってもらえるので1回の貿易で1~2隻は揃えられます。所詮フリゲートは最大でも30隻しか所有できませんから、結果としてすぐ定員いっぱいまでそろってしまいます。

フリゲートがそろえば寝ているだけでお金が増えます。

貨物船そのものはできれば大型が望ましいと思います。
というのは、大型貨物船は最初から解放されているアイテムスロット数が格段に多いためです。

アイテムスロットの拡張には遺棄された貨物船の探索で得られる資材が必要ですが、危険度がそこそこ高いイベントです。
パーマネント・デスモードでは君子危うきに近寄らず、ということで避けられるなら避けたいところです。

また、クラスは無論、初めての貨物船をSクラスを引くまで粘ってもいいですが、Aクラスで妥協しても実用上は何の問題もありません。Aクラスなら入手性が比較的高いという点も見逃せません。

むしろ、最初でイライラしながらSクラスを目指すより、序盤を脱出して、銀河を超えて、それでもなおそのセーブデータでやる気なら、改めてSクラスの貨物船を求めてもちっとも遲いことなんかありません。
このゲームはやれることは確かに多いかもしれませんが、深みも何にもない単純作業ばかりの寄せ集めゲーなので意識しない限りすぐマンネリ化するため、その頃にはむしろ「やることが増えてうれしい」と思うかもしれません。
特に必要はないけど「いつかはSクラス」と思いながら、たまたまワープアウトした先での遭遇戦だけで目指すプレイというのも結構乙なもんです。

私の場合はノーマルモードでは大型のAクラスを運用していますが何の不満もありません(隔壁の拡張すらしていません)が、どうしたことかパーマネント・デスモードでは大型のSクラスを引くことができたのでラッキーでした。
無論、燦然と輝くSのロゴは気分はいいですが、裏を返せば、言うまでもなく所詮それだけの事です。
マルチツールと違って、Sだからといって実用性が大きく変化するわけでもありません。

余談が過ぎましたが、貨物船の序盤での入手で何が便利かといえば、具体的には軌道エクソクラフト具現化装置だけでも十分に便利です。これは回収データだけで設置できますので序盤で十分に設置可能です。

惑星上ではセンチネルにねちっこくからまれやすく、劣悪な気候によるダメージ量も多いゲームモードなので、ノーマルモードよりも有用性が高いと思います。

また、物質転送ビームが必要なため、それが設置できる状況はもはや序盤とは言えませんが、持ち歩く必要があるほどではないが、必要なときには必要となる資源、例えばエメリルやコバルトといった物資、または逆に頻繁に必要となる炭素や酸素を備蓄できるのは便利です。また、埋蔵資源を貯蔵するための基地の作成にはむやみに金属プレートが必要ですが、これを貨物船で保管しておくと基地の設営が楽です。

これだけやれば、チュートリアルが終わらないうちにも、もはや序盤は卒業でしょう。

あとは銀河の中心に向かって進んで銀河を超えて実績を解放しておしまいです。そのまま(このゲームそのものを含めて)続けるかどうかは気分次第です。

このような戯言をここまでお読みいただいて、まことにありがとうございました。

2021年11月8日月曜日

今更 No Man's Sky をやってみた。球形外来種宇宙船あれこれ@Eissentam編。

銀河の中心に向かう途次に必ず宇宙ステーションに立ち寄っていたわけですが、ゲームを始めた頃は珍しいのだと思っていた球形の外来種の宇宙船は、実はそんなに珍しくもないということが分かってきました。

星系にワープアウトして、宇宙ステーションに着陸してから、マルチツールをチェックして出発するだけ、という短時間なのに、何度も出会いました。
これじゃあ珍しいなんて言えません。
珍しいのはイカ型の宇宙機だけを指すのでしょうね。

まあ、せっかくですので、特に記録していたわけではなかったので網羅するというわけにもいきませんが、現時点で私しか知らない星系に飛来して、すぐに手に入る球形の外来種の宇宙船を、2,3ご紹介します。
なお、すべてEissentam銀河です。

まずは「たまくる  ターミナル」宇宙ステーションに飛来してくる機体です。

これは特に手に入れやすいです。
なんせ、宇宙ステーションでロードした場合、一番最初に到着することが確定している機体だからです。
この宇宙ステーションでその日の探索を終了したために、次回起動時に発見できたという幸運に恵まれて出会えました。
宇宙ステーションの色が混じっちゃっていてテールが赤っぽく見えてしまっていますが、機体色は黄色です。
名称と性能はこんな感じです。
着陸時は推進ノズルを隠すという、奥ゆかしい逸品です。

さて、お次は「ギホウグツホリ XII ステーション アルフ」宇宙ステーションで見かけた機体です。
背景に探査船が写り込んでしまっていて申し訳ございません。
こちらは宇宙ステーションに飛来するまで2,3分待つ必要があります(もうちょっとかな?でも5分も10分もかかるわけではありませんのでご安心を)。
機体色は上記機体と同じく黄色ですが、このタイプの機体の特徴の、機体前方のなんかよくわからない槍みたいなギミックは、上記機体と異なり、健在です。
名前と性能は以下の通りです。
縦に長すぎて全景が入ってません。

まあ、いくつもご紹介してもしょうがないので、次を最後にしたいと思います。
「ラジノル・イルバグ ステーション オメガ」宇宙ステーションで出会いました。
こちらも宇宙ステーションに飛来するまで数分待つ必要があります。
ノズルは隠れないタイプですが、前方に槍がついておらず、テールになんだかよくわからない長い板だか棒だかが突き出しているタイプです。
名前と性能は以下の通りです。
まあ、とりあえずざっと見かけただけでもすぐにこんな記事が書けるほどですから、この辺で終わりにしたいと思います。

実は、これまで見かけても、ロードすれば必ず同じ順番、同じ型で宇宙機が宇宙ステーションに飛来するということを知りませんでした。
以前、まだ外来種全般が珍しいと思い込んでいたころ、あるステーションで出会った際に、出会いに再現性があるのかな、と思って、テレポータを行き来してみましたが、再度出会えませんでした。これによって、出会いは一期一会だと勝手に思い込んでいたのはとてもお恥ずかしい話です。
今回、ロードすれば再現性が得られるという知見を学んだので、それも動機となって記事にした次第です。

以上、ここまでお読みいただきまして、誠にありがとうございました。

2021年11月6日土曜日

今更 No Man's Sky をやってみた。Sクラス実験的24スロットマルチツール探索編。(S級ライフル型MT売り場情報のおまけつき)

別銀河へ向かう途中でSクラスの実験的の24スロットを持つマルチツールを見つけたので記事にしたいと思います。

プレイ環境は難易度ノーマルのPC(Steam)版です。

売り場がある星がある銀河はアイセンタムです。Eissentamです。
ユークリッド銀河ではありません
ご注意ください。

なお、宇宙ステーションで一度ロードしてから宇宙機で次に示すポータルアドレスの星に向かってください。ワープなどで以下にお示ししている売り場に行ってしまうと別のタイプのMTが売られていることになりますのでご注意ください。

MT売り場がある星のポータルアドレスはこちらです。

(実はポータルアドレスとは何なのかよくわかってないのですが、これでSクラスMT売り場がある惑星に来れるようなので一応)

星系の名称はデスノイエ・ムンヂィフ。MT売り場がある星の名はエルダ XIV。ワサク 61/T9の月です。
基地をアップロードしてあるので必要はないとは思いますが、MT売り場がある小規模な開拓地のある惑星上の座標は(-7.01, -89.83)です。

マルチツールの外見はこんな感じです。
なお、この星系の宇宙ステーションでは、宇宙ステーションに滞在中の旅行者さんからAクラスの「ベクター フォーカサー ML 9/O」が選択肢次第でもらえました
Sクラスと同名の、スペックダウン品です。
更に言えば、宇宙ステーションで売られているのと同クラス、同名、同形式、同デザインですが、解放済みスロット数は異なっており、宇宙ステーションで売られているほうは24/24ですが、頂戴品は23/24でした。
偶然にしてはできすぎなので何らかの意味はありそうですが、Sクラス売り場が判明した今となっては、どうでもいい話かもしれませんので深追いはしません。

くれたのはこんな人でした。

彼曰く、昔の私に貰ったんだそうです。
その割に、貰い物のMTの通例通り、ボコボコにブっ壊れていました。普通、返すときは直したりしておくものと思いますので、考えようによっては大変失礼なお方ですが、そこはこの世界に生まれ落ちたときは墜落船の横で記憶を失って突っ立ってたという引け目もあり、にこやかに受け取っておきました。

まあ、誰でももらえるのはわかりませんが、そういうことがありましたということで。

なお、頂戴したA級のほうは修理して武装を1つインストールしちゃったので参考にならないかもしれませんが、S級との比較はこんな具合でした。
とりあえず以上です。

おまけ情報:
銀河の中心に向かう途中で見つけた大型ライフル(24スロット)のS型売り場がある宇宙ステーションがある星系にある惑星のポータルアドレスをお示しします。
なお、これもアイセンタム銀河にある星系ですのでご注意ください。
この星でロードしてから宇宙ステーションでMTを購入してください。
ちなみに星系名はイパムン・ボセム、惑星名はセットレポです。Toxのextremeな星です。
直接宇宙ステーションに行ってしまうと24スロットではない別のタイプになりますのでご注意ください。
ライフルの見た目はこんな感じです。
以上、おまけ情報でした。

以下はチラシの裏です。
ワープとブラックホールで次の銀河へ向かう旅の途次、毎回宇宙ステーションに立ち寄ってマルチツール売り場を冷やかすようにしていました。
実はそれで大型ライフル型(24スロット)のSクラスマルチツール売り場を発見したことがあったので、今度は異星人か実験的のMTが見つかるといいなぁ、という下心から、マルチツール売り場を覗きながら旅を続けていました。

すると、この星系の宇宙ステーションのMT売り場で実験的のAタイプで24スロットが売られていました。
巷の噂ではAクラスで売られているMTはSクラスでも売られているそうです。
どうせやることもないし、加えて、Aクラス版は色使いもシンプルで私好みだったので、せっかくなので試しにSクラスのMT売り場を探して、これのSクラス版があるのかを実際に確かめてみることにしました。


探索の方針としては、先日の共同探検#4で学んだことですが、ナビゲーションデータを商用の星系図に交換してもらって、それを使用して探索する方法しか思いつきませんでした。

結果から言うと、消費した星系図は実に280枚を超えました(スロットの関係で1回につき40枚づつ購入していました)。
少なくとも280か所以上で離着陸を繰り返したということになります。
常識から言えば、とてもバカみたいです。
効率だけで言えば、既にナノマシンは10万以上あるので、タダで譲っていただいたAクラスをアップグレードしたほうがよっぽどマシです。

一週間を費やしてまでやるほどの事だったのか、常識を疑うレベルです。

加えて、星系図を使用して教えてもらえる地点は、すでに訪問済みであっても問答無用に再発見してくれますので(誰も未発見の地点を教えてくれるなどと書いてもいないので、異存があるわけではもちろんありません)、発見数が増えてくるにしたがってすでに訪れたことのある小規模な開拓地に離着陸するケースが増えてきます。
なぜ以前に来たことがあるかわかるのかというと、小規模な開拓地には必ずセーブできる棒が突っ立っていて、必ずそこでセーブする習慣だからです。
一度セーブするとその棒にその地点の名前が刻まれるため、一度来たかどうかが分かるというわけです。

特に月は物理的に小さいので、配置される施設数がそもそも少ないのでしょう。そのために6連続、7連続と、すでに発見済みの小規模な開拓地に案内されるというようなことが頻繁に発生するようになってくるにつれ、いくらのんびりやるといっても、さすがにへこみました。
一度星系図に行き先を示されてしまうと、その案内された地点に行って到着扱いにしないと、次の地点を教えてもらえません。
従って、仮にすでに訪れたことがある場所が案内されたとわかったとしても、そこに向かわなければなりません。
そのため、案内された地点が既訪地点かどうかわからない仕様でかえってヨカッタのかもしれません。
事前に無駄だとわかっていることをやることほどやる気が阻喪することはなかなかありませんから。

結局、星系内の6つの惑星/月のうち、小規模な開拓地が存在するのは系内最大の惑星と、その月の2つの星だけだったようで、私の理解があっているなら、着陸した地点が新しい場所ならマーカー数が1つ増えると理解しています。
従って、今、ディスカバリーのページで各星に記録されたマーカー数を見てみると、惑星のほうに記録されたマーカー数が162か所、月のほうが58か所で合計220か所が記録されていました。
これは即ち、ユニークな(重複していない)小規模な開拓地が220か所で、買った星系図との差分は、ほぼすべて重複した小規模な開拓地だったというわけです。ほぼ、というのは、小規模な開拓地の場所だけを知りたいため、巨大なアーカイブなどの位置を教えてもらっても訪問せずに放置してある数を含むためです。

我ながら馬鹿だなぁといわざるを得ません。

おかげで、Aクラス売り場なら掃いて捨てるほど見つかりましたが、SクラスのMT売り場の希少性たるや際立って高いということが身に染みて実感できました。

もし仮に、
「もうすでに重複しまくりだし、この星系にはSクラス売り場なんかないに違いない、このままではサンクコスト効果そのものだっ!コンコルドの誤謬の再現ではないかっっ!!ここで埋没費用効果に惑わされては正しい経営判断とは言えぬは!!!」
なーんて使い慣れぬ横文字でカッコつけてあきらめていたとしたら、それこそただのバカでした。最初は何でも愚直にやってみるもんなのかもしれませんですね。

それにしても、月のほうは後半は重複しまくった案内ばかりで精神的にきつかったですが、S級売り場が見つかったのは、結果としては月のほうでした。
もし重複にめげて、比較的重複する率が低かった惑星のほうだけを探索してたら、現時点で162ユニーク地点を探しても見つからない現状を鑑みるに、200ユニーク地点を超えても見つかる気がしません。
確かに運が悪いと、惑星上でも3連続で既訪の小規模な開拓地を指示されるケースもしばしばありましたが、それでも新しい地点が見つかる率はまだまだ高く、この惑星上には、一体いくつの小規模な開拓地が存在しているのか見当もつきません。

もはやSクラスの実験的MTを探すという目的を果たしたので、これ以上はこの星系では小規模な開拓地を探索する気はありませんが、星系図の指示先が単純に疑似乱数で選ばれているとしたら、重複率から言って、惑星のほうには、なお膨大な数の小規模な開拓地が残されていることになります。
これを考えると、いくら暇だからゲームをしているとはいえ、本当に恐ろしいことになりかねなかったのかもしれません。280か所で済んでヨカッタと思ったほうがよさそうです。

ところで、この星系では宇宙ステーションでロードしてからのMT売り場巡りでは、
  • Sクラス
    24スロットの実験的型
  • Aクラス
    Sクラスと同名、同型の実験的型(性能劣化版)
  • Bクラス(以下3種からの抽選)
    Sクラスと同名、同型の実験的型(性能劣化版)
    中サイズのライフル型
    Cクラスと同名、同型のエイリアン型(220地点中1か所のみ)
  • Cクラス(以下2種からの抽選)
    小サイズのライフル型
    20/24スロットのエイリアン型
となっていました。
注目したいのはBクラスで、Bクラス独自の抽選元が中サイズのライフルで、それに加えてAクラスの抽選元から実験的ツールが下りてくるというように見えるケースがほとんどでしたが、たった一か所だけCクラス用抽選元にある異星人型が配置されたケースがあったことです(これも月のMT売り場でした)。
先ほども再度見に行ってきましたが、やはり依然としてCクラスにある異星人型がBクラスとして配置されていますので、バグなどではないようです。

まあ、Bクラスの異星人型なんて珍しくも何ともないでしょうが、一応売り場のある月の名前はエルダXIV、月上の座標は(-16.21, +103.56)でした。

上級または下級のどちらの抽選元と連携しているのか強い相関関係はあるようですが、その逆もありうる、但しそれはごくまれである、ということが言えるのかもしれません。

だから何だといわれても困るのですが、まあ、そういうこともありました。

---
ところで、ここまで書いてから、ほかの人はどうしてるんだろう?と気になったので、googleさんにno man's sky how to find s class multitoolと聞いてみました。
すると、redditで恐るべき記事を見つけました。
検索キーワードですぐ出てくる記事なので特にリンクはしませんが、なんと、経済レベルが低い星系には、SクラスのMT売り場なんざねぇよ(ほぼ間違いなく)って書いてあったのです(意訳です)
その方の記事には具体的な試行回数や手法も記載されており、信頼性は高いと判断できます。
今回私が発見したSクラスMT売り場のある星系は経済レベルが中でしたから辛くも発見できただけで、もし低であったら、いまだに売り場を求めて彷徨っていたかとおもうと、結構グッとくるものがあります。

それにしてもその記事、多くても140か所程度でSクラスMT売り場が見つかってるという記事やコメントばかりでしたが、私のように220か所目でやっと見つかるなんて言うのは、もしかして珍しい例なのかしら・・・

それと、その方がまとめていた小規模な開拓地の探し方の記事もスゴイ。
なんと、緯線または経線に沿って宇宙機で飛行しながら、目視で探しているそうです。
そして、星を一周して出発地点に戻ったら、今度は緯度(または経度)をずらして、また星の地表を目視で小規模な開拓地を探しながら一周するということを、S,A,B,Cの各売り場が見つかるまで繰り返すんだそうです。
それで一惑星につき下手をすると100を超える小規模な開拓地を見つけ出すというのです。
もうここまでくると偉人としか言えません。恐ろしいまでの集中力と根気です。

本当に、世の中には恐ろしい人がいる。
ありきたりな感想ですが、背筋が凍る思いで、そう思いました。

色々書き連ねておいてなんですが、なんだかんだ言って、自分が見つけた星系内からレアMTを自力で探索し得たことは、ちょっとうれしい週末になりました。

ともあれ、これで、一週間ぶりに銀河の中心に向けて旅を再開することができます。
この星系からだと、残り111,394光年となっていました。
来週までには新しい銀河を見出すことができるかもしれません。

以上、本当に駄文を書き連ねて誠に申し訳ございません。
ここまでお読みいただいて、まことにありがとうございました。

2021年10月28日木曜日

今更 No Man's Sky をやってみた。まだまだ知らないことだらけ編。

共同探検#3を終えて、元のセーブデータに戻ってプレイ再開です。

共同探検#3では外来種という宇宙船を駆って宇宙を飛び回っていたはずなのですが、元のセーブデータのラディアント・ピラーBC1に戻っても、全然違いを感じないのは戦闘機という種別だからでしょうか。

操縦性能がいいし、機体がコンパクトで取り回しがいいのが何より重宝します。

いつかはいい船を手に入れるつもりなので宇宙機の倉庫やグレードなどのアップグレードは一切しない方針でプレイしましたが、ちっとも苦になりません。

戻ってきた後もチュートリアルを進めることはせず、多少分かったようなふりをして、一番最初に私が放り出された星系内の惑星の探索やらをちょこちょこと行っていると、あるとき、たまたま訪れた施設で出会ったばいきーんのおっさん?お姉さん?から、ライフル型の大きなマルチツールをプレゼントされました。
ランクはCでしたが、早いうちにたくさんのアップグレードをインストールできるマルチツールをもらえたことは大変幸運だと思いました。

いまとなっては、このゲーム、最初のうちは資源の獲得方法が分からないので、ひたすらマルチツールで必死に資源の収集をしていましたが、そのうち、店で買ったり、埋蔵資源を自動で抽出したりと、いろいろ横着できる方法が分かるにつれて、マルチツールなんかどうでもよくなりました。
そのため、序盤でスロット数が多いマルチツールを得られたことはなお幸運だったと思います。

そうやって遊んでいるうちに、週末にはイベントがあるということを知りました。

週末ミッションというそうです。

早速参加してみましたが、これは共同探検などとは違って、数時間程度もあれば終わるもののようでした。

と、いうよりも、なんと、一度開始をすると、ゲームを中断することができませんでした。
ゲームを中断すると、ミッションそのものが取り消しとなるのです。

思わず、「なんてこった、こんな雑なセッション管理をしているのかこのゲーム会社!」と感銘を受けてしまいました。

開催期間の管理やセーブデータの形式変更やら、いろいろとセーブデータにこのミッションの状況を保存するのが面倒だったんでしょうね。お察しします。

あと、ポータブル精製機以外でも精製機があることを知りました。

燃料いらずで稼働できるので、さっそくそれを基地に設置しました。惜しむらくは設置数に制限があるようです。また、ものや量によっては数十分単位の作業時間が必要となるみたいです。

それは構わないのですが、驚いたことに、機械に材料を入れて作業させたまま、星系を離れたりするような遠出をしてしまうと、中身が消失してしまうという雑っぷり。

すげえ、ほんとにすげえ。

おそらく、星系を離れるとfreeされるメモリかなんかに保存してある情報なんでしょうね。で、それはそのままで直さない。すげえ雑。その一方で、移動さえしなければ、機械を作動させたままセーブしてゲームを終了する分には消失しないという超半端な扱いがこのゲーム会社らしいと思いました。

セーブデータに保存するコードはかけても、星系をまたぐコードは書けないのが興味深いところです。

もしかして、と思って食品加工機械みたいなのも同じかと思ったら、こっちはもっとひどかったです。こっちは星系どころか、ある一定の距離を離れただけで中身が消失しました。

これには思わず笑ってしまいました。

いずれにせよ、機械が作業している場合は傍らから動いちゃいけないみたいです。この会社の面目躍如という感じがします。

こんな事象が起きたら、一般的に言えば理不尽だと非難されると思うのですが、それでも神ゲーだというのです。まだまだ探索の余地があります。

また、人工衛星みたいな呼び出せる星に行くと、なんだか知りませんが売値が50,000,000もするAIナントカというのを押し付けられてしまいました。

その時の私の所持金はおよそ12,000,000くらいだったので、すごい嫌な気分になりました。

しかも、抗議の仕方が分からないので、仕方がなく、黙って立ち去りました。
この辺は、オンラインゲームならではとも言えますが、受け取りの諾否を与える機能がないってのは、やっぱりこの会社らしい雑なつくりで、ブレがないことには感心します。

その後、やっぱり気分が悪いので捨ててしまった後、当初は中断できないのでやる気はなかったものの、気分転換になるかと思って、私にとって2回目の週末イベントを開始しました。

そのイベントで飛ばされた先の宇宙ステーションで、ふと見ると、外来種の宇宙船が停泊しているのを見つけました。

しかも、私の好み通り、小型で、装飾もシンプルで、色使いは白系であっさり。

あとから知りましたが、球形コクピット型といわれているそうです。
一目で気に入ったので急いで近づいて価格を尋ねてみると、11,000,000そこそこで売ってくれるとのことだったので、早速購入しました。

もしかして、週末イベントはこういう星系が選ばれたりするんでしょうか。
その週の人工衛星は同じような宇宙船が多数停泊していたのが印象的でした。

非常についてました。

もし、AIナントカを捨ててしまった後、所持金が足りずに購入できなかったとしたら。
厚顔にも、捨ててしまったことを後悔したかもしれません。
そんなことにならずに、むしろ、この船に出会える機会を与えてくれる結果となりました。本当に良かったと思います。返す返す「ついていた」と思いました。まるで塞翁が馬のようです。感謝しなければなりません。

余談ながら、うかつにも、この球形コクピット型の外来種を見て、「あ、ゴテゴテ装飾がついていたけど、共同探検#3の機体ってこれがベースだったのかな」と今更ながらに思い至った次第でした。

まあ、そんなこんなで、チュートリアルの続きもせず、エクソスーツのスロットの拡張だとか、ちょっとした工作をするときに不足しがちな資源の売り場探しが面倒なので資源の自力調達をすべく、いくつか地下資源や凝縮ガスを収集する基地やらを設置したり、あれこれつまみ食いをしながら遊んでいるうちに、共同探検#4が始まったので早速参加してみました。

今回は画面が揺れたりすごく鬱陶しかったのですぐ終わらせようと思ったせいもあるかもしれませんが、これまで学んできたことは無駄ではなかったと見えて、#3では通算24時間以上かかってクリアしたものが、今回はあっさり無事に終わらせることができました。

終わったあとで、冒険を振り返ろうかとWikiを参照してみると、まだこの共同探検の記事は作成中とのことでしたので、これまで学んだ成果がいかせたのかな、と思います。

今回の#4のプレイ中、人工衛星みたいなところでエクソスーツ拡張用のアイテムを大量に押し付けてくる人がいましたが、このセーブデータも完了次第に捨てるつもりなのでお礼も言わず抗議もせず、ただひたすら無視して捨てました。

なんか知らないけどやたらと私の周りを付きまとってきたので、推察するにお礼かなにか欲しかったのかもしれませんが、そんなことはしません。

渡しているほうは親切のつもりなのかもしれませんが、変に対応すると面倒なことになりそうですし。

やがてあきらめたのか、ほかの人にさらに大量に押しつけてました。

今回の#4は何がごみで何が必要なものなのかさっぱりわからないまま進めたので、アイテム欄が大変厳しかったのは事実ですが、フェイズを踏むごとに3つづつ増えていく構成でしたし、そもそもエクソスーツのアイテム欄の拡張なんぞ、大した手間でも何でもないことがこの時には学習できていましたので、恵んでもらっても面白くも何ともありません。

ところで、DUNEの日本語翻訳版って絶版になってた気がしますが、今回の映画に合わせて復刻したりするのかな。
はるか昔に読んだあの小説はなかなか面白かったですが、今はもうどこにあるやら・・・

それはどうでもいいとして、#4でも今までやったことがなかった貨物船の探検とかの経験ができてまた新たな要素の学習ができたので参加してよかったと思います。

そういえば、この記事を書く際に、どんな内容だったかな、と思って、Wikiの#4の記事ができていたのを幸いに読んでみたのですが、ちょっと不思議に思ったのが、「MPK」という言葉でした。

このゲームでは、ゲーム内で拾えと言われているアイテムを拾おうとするとモンスターが出てくるのが当然のところで当然の行動をとってる人を捕まえてMPK呼ばわりするもんなんですかねえ。とても奇妙に思えました。

MPKというのははっきりとした悪意を持った行為を指すものと思います。

知らない人向けに記述するとしたら「幼生コアを得るには囁く卵を攻撃する必要がありますが、その卵は攻撃を受けると周りにモンスターが生成されて周りにいる人を攻撃するので注意してください。よくわからない場合はネットワークオプションからマルチプレイを無効にしてから近づいてください」と書けば済む話です。

もしかしたら、自分の幼生コアにするつもりが先にとられて、単純にかなりカリカリしている人が執筆したのかもしれません。

マルチプレイヤーゲームである以上、当たり前すぎるほど当たり前だし、簡単にシングルプレイヤーモードに切り替えられるのにMPK呼ばわりというのは本当によくわかりませんでした。
もしかしたら私が主にプレイしていた時代とは言葉の定義が変わっているのかもしれませんね。勉強になります。

まあ、そんなこんなで共同探検#4も無事終えて、再度元のセーブデータに戻ってきたのですが、特にコレ、という目的もないので、今まで放置してきたチュートリアルの続きを始めてみました。

まあ、こういったミッションだかクエストだかがあると、とりあえずプレイの目標とはなるので、徐々に進めました。

進めるうちに知らないこともさらに学べましたし、ある程度は楽しめました。

テキストが表示域内に収まらないので読めないとか、クリアしたはずのミッションがログに残り続けるとか、基地を立てると配置によっては床から土が湧いてきたりとか、そういう雑さはしっかりしていてブレがないですね。

ただ、20回近くワープした挙句にわけのわからん絵文字にエネルギーを与えることに何の意味があるのかが分からないままで終わってしまったのと、潜水艦のミッションが壮絶に鬱陶しいことが印象に残る体験でした。
ただ、潜水艦のミッションで分かったことは、水面はどんな嵐でも常に水平を保ったまま(凪いだまま)荒れないということです。
これは基地を設置するのにとても便利だと思ったので、さっそく水上に植物園みたいなガラスドームみたいな基地を大量に並べて、使う当てなんかまったくないにもかかわらず、全種類の植物の栽培を開始してみました。
なかなかきれいな見栄えに仕上げることができました。
また、水中でも水上でも凝縮ガスや電力や埋蔵資源はお構いなしに収集する建造物が設置できることも学習できました。

それと、なんか居留地を作れみたいなミッションがあったのですが、これだけは見た瞬間、拒否しました。どうしてもFallout4のアレを思い出すからです。あんなもん、もうやりたくないです。もし違ったとしても、やっぱりやらないと思います。
「監督官」なんて言う言葉はどうせろくな意味じゃないに決まってますもの。

まあ、それやこれやでミッションをこなしていきましたが、相当もったいぶったストーリー展開の挙句、一通りミッションが終わると別の銀河におっぽり出されてしまいました。(ところでこの「記憶」って拡張、なんなんですかね・・・?)

ところが、これがまた壮絶に「今までの銀河」との違いがまったく分かりません。

ゲックとかバイキーンとかという種族はそのまんまですし、宇宙ステーションも地上構造物も何もかも、デザインも全く同一、機能も同一。

なにこれ、という感じで唖然としてしまいました。

しかも、ワープ?テレポート?であっさり元の銀河に帰ってこれるとか、ますます意味が分かりません。
最初からワープして別の銀河でもどこでも行けばいいじゃん。

あまりにも新銀河といえども「どうでもいい感」が強いのでどうしたものかと不思議になって、スポイラーだらけと警戒してあまり読んでいないWikiで思わず調べてしまいました。

すると、以前は一度別の銀河にたたき出されると、帰ってくる手段がなかったようでした。正確には帰ってこれるんだけど、銀河を256回超えて初めて帰ってこれるというような仕様だったようです。

なるほど、それならこの勿体ぶりもやむを得ないな、と妙に納得しました。

しかし、現在の私がプレイしている時間軸では、銀河を移動するということに何の意味もありません。つまり、今の私は、ほんとにヌルい世界の宇宙の住人だったのでした。

現在では別銀河に行く理由がそもそもないということが分かってしまったこともそうですが、20回くらいのワープで簡単に別銀河に飛べちゃったので、ほんとに全然納得感というか面白くも何ともありません。
おまけになんか象形文字をやたらとチャージさせられたのですが、その説明もなんもないときてはもうなんともはや。

なんかほんとにザンネン感がひどいため、仕方がないので、それを補うべく、今は、別の銀河からさらに別の銀河に移動すべく、ちまちまとワープとブラックホールでもって銀河の中心を目指しています。

いまはやっと、銀河の中心まで450,000(単位は何だったかな)まで近づいてきました。

さすがに思った通り、馬鹿みたいに単純な作業が続くので、宇宙の広さを実感することができます。一番最初に銀河をこえた「ちょちょいのちょい」のワープ回数とは比較にならない作業量です。


ついでに、ただ中心を目指すだけでは面白くないので、ワープアウトするたびに宇宙ステーションに立ち寄って、マルチツールを眺めています。

CとかBクラスなら実験的とか異星人とかが結構見つかるもんなんですね。

いつかはSの大型ライフル型の実験的マルチツールが見つかるのかな。
なくても全然かまわないので、ほんとに気楽に旅ができます。

そういえば、unsigned long long intな18,446,744,073,709,551,616もの星があるのが売り文句だそうですが、こんなものただのこけおどしですね。

こけおどしには違いありませんが、この数値には大変夢があることは確かです。

まあ、実際問題として、宇宙ステーションのワープ?テレポート?先のリストはすぐあふれてしまうし、どうせこの分だと自分の基地だって一定数作ればもうアクセス不能になるに決まってることがありありと想像ができます。

まあ、なんか座標とかメモっておいて自力でエクセルとかで管理表を作って、宇宙船でワープしていったりすれば帰れるんでしょうけど、そんなことしますかねえ。
ま、私は絶対しません。

それにそもそも、セーブデータはちゃんと18,446,744,073,709,551,616もの星を、しかも256もある銀河の、データを、きちんと正しく保存できるのでしょうか。
せめて、「訪れたことがある星系」リストだけでも正しく表示できるのでしょうか。

この会社の雑具合から考えると、できないと思います。
そもそも、signed char (8bit) の範囲だってまったくできるとは思えません。

加えて、家庭用ゲーム機向けが主要顧客のようですから、「やる気になればマシンスペック次第でどうにでもできる」という状況でもなさそうですからね。

18,446,744,073,709,551,616という数値は夢がある。ただそれだけでいいじゃないか、という具合にとらえておくことにしておきたいと思います。

今日もワープを数回繰り返して終了しました。惰性でやるにはちょうどいい塩梅です。

ま、起動時間がかなり長いので、いつまで続くのかは謎ですが、どうせ元の銀河の基地には戻ってこれるので、何かほかに思いつくことがあればやってみたいと思います。

今のところ、まだ神ゲーといわれるような要素には出会えていません。
週末イベントは中断できないので最近はやってません。その辺も神ゲー要素に出会えない所以なのでしょうか。

もしも、私が似たようなキャッチをつけるとしたら。
そう、当然「雑ゲー」になると思います。

しかし、きっとどこかに神ゲー要素があるからこそ神ゲーといわれているはずです。

いつの日か出会える日が楽しみでなりません。

今更 No Man's Sky をやってみた。共同探検#3編。

チュートリアルもそこそこに、さっそく実践編とばかりに共同探検#3を開始してみました。

終わってみて振り返ってみると、これが私にとってこのゲームの実際のチュートリアルとして大変役に立ちましたので、ゲームを開始した時期で言えば、大変ついていたと思います。

その理由は、宇宙船が壊れていて、その宇宙船を修理することが大きな目標になっていたため、様々な素材を調達したり、エクソスーツ内で加工したりといった作業を最初のチュートリアルよりも学習できたことと、「フェーズ(普通は段階を追うとか、順を追う場合に使うと思うんだけど)」と書いてあっても無視して前後して作業してもよいという、このゲームの雑さ具合は言葉の定義そのものを変えてくるということが学習できたことです。

また、マルチプレイモード?だと足がかかりとしての自分の基地を作ろうとしても作れない、ということも学びました。

この点で面白いと思ったのはマルチプレイとシングルプレイをゲーム内の設定で切り替えることができることでした。状況に応じて切り替えをするという発想そのものが珍しいように思います。

ところで、今にして思うと、この共同探検での自分の宇宙機は外来種だったような気がします。

当時は宇宙機の違いなんかさっぱり分からないので、ちっとも気づきませんでしたが、かなり貴重な機体なんだそうです。もし知っていたら、イベント終了後もそのセーブデータを消さないで遊んでいたかもしれません。知らぬが仏とはこのことだと思いました。

その他、工場の使い方とかも学びましたが、エクソクラフトなる乗り物についてもここで学習しました。

しかし、ミノタウロス・エクソクラフトという機械を作るように指示されて作ったのですが、とにかくEキー長押しで設置できる、すべてのアップグレードをつけなくてはならないものと思い込んで、何かを間違って、「酸」が必要な拡張を設置してしまったため、ミノタウロスを一歩も動かせなくなってしまいました。

なにかBクラスのアップグレードだったと思います。

これを動かすには「酸」とやらを手に入れて、拡張の設置を完了させなくてはならないようですが、その「酸」はどうやって作るのか、あるいは買うのか、共同探検を完了した後まで、さっぱりわかりませんでした。

後日、スペースアノマリーでレシピを買って、自作するもんだということが分かりましたが、後の祭りです。その当時は本当にわかりませんでした。

まあ、なんか見た目も超ウゼェロボだし、どうでもいいやと思って放置していましたが、フェイズ4の「クロスカントリー」という課題で、「エクソクラフトで15,000u移動」という内容があるので困ってしまいました。

このまま「やり直しをするか、全部の課題をこなすのは諦めるべきか?」という考えが頭をよぎりました。

ただ、よく読むと、「エクソクラフトで」としか書かれておらず、「ミノタウロスで」とは書いてありません。

ま、どうせ雑な会社だから自分で作らせておいたミノタウロスじゃなくても、エクソクラフトなら何でもいいんだろ、と推察して、実際にホバークラフト型のナントカというエクソクラフトを作って乗って移動するとちゃんと移動距離が計上されたので一安心です。

いや。この場合は文言に忠実だ、というべきでしょうね。訂正します。

さて、そんなこんなで、数日かかったものの(通算24時間以上)、無事すべての課題をこなすことができました。
これで心置きなく元のセーブデータに戻ることができます。

大変学ぶことが多いイベントでした。

ところで、まだどの辺が神ゲーなのか、この段階でも、まだよく見えていません。

元のデータに戻って、さらにプレイを続けたいと思います。

今更 No Man's Sky をやってみた。チュートリアル編。

さて、起動してみてまず驚いたのは、音声までも日本語化されていることでした。

大変立派だと思います。

無論、プレイをしているうちに日本語化もかなり雑なことは表示域に収まらない文章や意味不明な「xx動作。停止。」とかいう掛け声ですぐわかりましたが、インストール時で雑なことはよくわかったのでちっとも気になりません。

日本語の入力もできませんがまるで平気です。

とにかく母国語でゲームができることは大変に有り難いです。これだけでも大したもんです。

私がゲームを開始したころ、ちょうど「共同探検#3」という期間限定イベントをやっているようでした。残り1週間とありました。

そこで、共同探検#3に参加してみようと思い、チュートリアルをどの程度進めればいいのか、先達に教わるべくGoogle検索さんに聞いてみました。

すると、このゲームは立派なWikiがあることが分かりました。
どうも家庭用ゲーム機が主体のゲームのようですが、やることは特に変わらないだろうと、さっそくWikiに記述されている先輩諸氏の意見を拝聴すると、大変親切なことに、「目覚め」というシナリオを一通りやっておくと良いようでした。

ただ、かなり充実したWikiの様子でしたので、これは一から十まで全部スポイルされているな、という気がしたので、それ以降はあまり目を通さないようにして早速開始しました。

故障しているものの、なかなかカッコいい宇宙船が私の船のようです。

とにかく環境が悪いのでとっとと修理してこの惑星から逃げ出さなければならないようです。
チュートリアルで指示された通りにあれやこれやで修理の方法や、修理のための素材集めの方法を一通り学びながら進めていくと、所有している宇宙機とは別に、ぼこぼこに壊れた墜落した宇宙機が手に入りました。

これは最初に所有していた宇宙機よりもランクは高いようですが、見てくれがかっこ悪い上に、どう直せばいいんだか手のつけようがないほどの壊れようなので、とりあえずその墜落現場に基地を据えて、放っておくことにしました。

とりあえず、この辺で共同探検#3を開始してみようかと思い、いったんこのセーブデータから離れました。

余談ですが後日、宇宙機を売り払うことができることが分かったので、売り払って懐を温めてくれました。

ところで、基地を設置したことが役に立ちました。
なんでか知りませんが、基地の撤去のために再度訪問したところ、売り払ったはずの同じ宇宙機が再び墜落していたのです。

おお、なんて雑なんだ・・・!

ほんとに雑な会社だ、徹底的に雑なんだ、と念を押してくるこのゲーム会社は本当にすごいと思いました。
早速、再度入手して売り払いました。
このことがあったので、調子に乗って墜落現場を発見したら基地を設置しておくようになりました。4か所くらいでしたでしょうか。

やっぱりそういた現場も二度も三度も同型機が墜落し続けています。

ほんとにインストール時に雑な会社が作ったゲームだとわかっていなかったら、あまりのばかばかしさに幻滅して辞めちゃってたと思います。
あの洗礼は本当に役に立ちました。

でもしばらくして、やっぱりなんだか不正を働いている気分が重くなっちゃって来たので、今ではもうそういった基地は設置していません。

まあ、ともあれ、せっかくの期間限定イベントらしい共同探検#3に参加するには、新規に開始する必要があるそうです。
現在のゲームデータはチュートリアルもやり終えてないし、どうせ右も左もわからないまま失敗続きになることは目に見えているので、共同探検#3のデータはやるだけやったら消すつもりで開始しました。

今のところ、神ゲーという要素は日本語化くらいしか見当たりませんでした。
きっと続けていくうちにわかるに違いないという期待にワクワクします。

長くなったので続きます。

今更 No Man's Sky をやってみた。起動編。

本当に今更ですが、ただいま積みゲー消化の真っ最中のゲームがこれです。

なんだか「神ゲーになった」とかあちこちで言われているのを見かけて、ちょっと気になってSteamを見るとちょうど半額セールだったのですが、それ以前に所有していたようです。
いつ入手したのも全く覚えていません。

まあ、せっかくなのでやってみようと思い、インストールして起動してみました。
すると、いきなりエラーダイアログが表示され、
"NVIDIA DLSS cannot be loaded due to outdated driver."
ですって。ただし、そのダイアログにはOKボタンしかついておらず、そのOKボタンを押下するとゲーム自体は開始することができました。

それにしても、DLSSをサポートするVGAなんてGeForce RTXシリーズだけなのに、こいつ何言ってんだ?と思って、Steamの動作要件欄を確認したところ、
グラフィック: nVidia GTX 480, AMD Radeon 7870
と明記されています。
無論、GTXにはDLSSなんて代物はありません。

初っ端からこの調子なので、ああ、こういう雑な仕事をする会社なのね・・・と、バグ山盛りな予感を最初から持てたのは良かったのかもしれません。
実際バグ山盛りでしたので、ある程度の覚悟を得たことについては、この警告は役に立ったといえましょう。

ちなみに、VGAドライバを最新のものに入れ替えると、エラーダイアログは出なくなりました。
もとに出ていたダイアログの文言から推察するに、「DLSSクラスをロード出来て、その結果DLSSが使えないことが分かるようになったからエラーとは処理しないよ」ってことなんだろうと思います。
エラーダイアログを見るのはプログラマじゃないんだから、最初から「(DLSSなんぞ関係なく)ドライバをバージョンxx以上にしろ」といえばいいだけなのに、エラーメッセージそのものがプログラマに寄り添い過ぎて、ユーザ向けとしては雑だったという落ちまでつけてくれました。
そんな雑な会社の作る作品が神ゲーだともっぱらの評判なので、とにかく期待を以てプレイを開始すべく、難易度ノーマルでさっそく開始してみました。

何をやっているのか知りませんが、起動までに分単位で時間がかかるのにはある程度仕方がない?としても、いざ処理が終了して起動されてみると、2016年リリースのゲームなのに、GTX660だとしょっちゅうFPSが1ケタ台をたたき出すという、まったく最適化していない描画コード。
それなのにGPUの温度は全然上がりません。ちゃんと仕事をさせているのかな。

同じ時期にリリースされた作品で言うと、Fallout4は2015年発売なのに余裕で30FPS出るんですよね。

これじゃあ、ほんとにGTX480で動くのかなんだか怪しいなあ、と思う一方、しかし、さすがに80番台なので、実はすごいのかな、とも思えたりします。
確か480と660って同等程度の性能のはずだから同じような具合に動くことは動くのかな。
まあ、下手に怪しむほうがけしからんかもしれませんね。ごめんなさい。

まあ、私はカックカクでも何でもプレイさえできれば、余程FPSが重要なゲーム以外は全くどうでもいいので、さっそくチュートリアルから開始してみたいと思います。

とおもったのですが、このゲームは破壊的にUIが雑というかデタラメですね。
決定キーだけでもFキーだったりEキー長押しだったり、左クリックだったり、数字キーだったりてんでバラバラ。
キャンセルも同様に右クリックだったりエスケープキーだったり、この統一感のなさは数人で勝手に別々に独自仕様で作ったゲーム部位を単純に張り付け合わせただけとしか思えません。もし一人でこんなUIを設計したのだとしたら、むしろ大天才なのかもしれません。天才の言うことはほかの人にはわからないそうですから。
さらに言うなら、メニュー構造が異常に深い、Xキーで呼び出す機能の位置が状況によってころころ変わるなど、もう本気で意味不明です。
これにはさすがに驚きを禁じえませんでした。
スゴイ。

たったこれだけしかしていないのに結構長くなってしまったので次回に続きます。
プレイを開始するまでで面白いイベントに出会えて、このゲームにも興味津々です。

しかし、いつ買ったんだろう・・・?

積みゲー消化メモ

チラシの裏です。読む価値はありません。

積みゲーが3ケタを超えて久しく、まだ増える一方の現状に鑑み、いくらか消化しようと試みてみました。
しかし、試みてはみたというものの、数か月かかっても大して手を付けられず、しかも途中で放り出すものばかりという体たらくでげっそりです。

その中から、ある程度やったゲームの所感を記録として残しておこうと思います。

まずTropico5はそれなりに楽しめました。まだDLC版のシナリオに加えて、さらにTropico6が残っていますが当分はおなかがいっぱいで当面は見向きもしないと思います。
思えばTropico4のころはSteamもドル建てだったことを思い出しました。もっと前は日本語版だからか大変お高かったけど、初代Tropicoの日本語版の声優さんの演技がとても素晴らしかったことが思い出されます。そして、その初代のゲーム性のままパーツだけ豪華になっているという稀有な作品(「あの」Kalypso mediaに権利が移り、加えて「あの」スクウェア・エニックスと手を組んで聳え立つ**のような組み合わせが実現してしまったものの、時を経てスクウェア・エニックスがどっか行ってくれて本当にヨカッタ)なのも、長くお付き合いできている理由かもしれません。

The Long Darkは最初は面白かったものの、生活が安定すると、あとはすでに用意されているマップの観光をするくらいしかやることがなくなって終了。自分で縛りを入れたりといった遊び方がいいんでしょうが、3ケタもあるゲームが待っているのにそこまでする価値は見出せませんでした。
ただ、たとえシステム的に絶対に逃れられなくても、どんどん南下していつかはアメリカにたどり着くべく努力をしている「つもり」にさせてくれたり、何かこう、ただその場を死なずに生き残るというだけでなく、観光以外の何か希望が持てる感覚を味わえていたら、ちょっとづつ続けられるゲームになったと思います。
当然、シナリオ?ストーリー?は手つかずのままです。

Fallout4はそれなりに楽しめました。レベル40半ばくらいまでは惰性プレイとなりつつもプレイできました。まだメインシナリオも終えていませんが、いつの日かまた起動するかは未知数です。
また、いくら古いゲームとはいえ、GeForceGTX660で快適なプレイが可能だったのには感心しました。
思えばFallout3のころもSteamもドル建て(年寄はクドい)

Oxygen Not Includeedは最初はものすごく楽しめました。
ただ、だんだん仕組みが分かってくると、やることが単調すぎて、せっかくの複製人間のかわいらしいしぐさをもってしても飽きてしまいました。ロケットはひとつも作りませんでした。とは言え、600時間を超えていたのでもう十分やり切った気もします。
これも自分で縛りを入れればまた楽しみ方も変わってくることと思いますが、やはり3ケタもある積みゲーの前には力及ばず、DLCも買っていません。

Civ6は・・・良くも悪くも、ただの「Civilizationの最新版」でした。
このシリーズはCiv3かCiv4で完成しきっちゃった感をひしひしと感じ、あの頃のワクワク感がまるで感じられなかったので、国王で開始して初回プレイで勝ってしまったので、すぐ削除してしまいました(ついでにHDDの肥やしとなっていたCiv5も削除できてすっきりです)。Tropicoも初代から変わり映えしていないのに割合プレイできたのに対して、なんでCivシリーズはつまらないのか、我ながら謎です。

また、積みゲーではないのですが、無料ゲームのIndustry Idleというゲームにも手を出してみました。放置ゲームの一種らしいのですが、抽象化の度合いが面白く、これはかなりいけます。
1回のプレイが短時間で済むので、今でも数日に数分起動して売り上げの回収だけはしています。

そのほかにもいくつかやっていると思うのですが、パッと思い出せないので、とりあえずこんな程度でメモとします。

こんなチラシの裏を公開して申し訳ございません。

2021年3月13日土曜日

S.M.A.R.T.値などで異常を示したST3000DM008で遊んでみよう

新規購入したHDDの初期不良のチェックやRAIDアレイの再構成が一段落ついたので、 先日故障が発覚したHDD(Seagate Barracuda 3.5, ST3000DM008-2DM166)で遊んでみたいと思います。

とにかくドライブのサイズがそれなりに大きいので、一つのコマンドの結果が返ってくるまでに5時間など当たり前なので、一日一コマンドづつしか入力できないのがもどかしいのですが、まあ折角ですので、これまで何度もやっているとはいえ、訓練を重ねることは悪いことではありません。
今回はまず、不良セクタを何とかしたいと思います。


今回の状況としては、/dev/sddとして接続し、ext4の単体ドライブとしてmkfs.ext4をしなおしたうえでrsyncコマンドで元のRAIDの内容をコピーしてある状況を作りました。

まずは異常セクタの特定から行いたいのですが、前回書いた通り、smartctl -t longテストでは異常なしとか平気で言い放つ始末で手に負えません。

実際には以下のパラメータが48まで上昇しているにもかかわらず、です。

・197 Current_Pending_Sector
・198 Offline_Uncorrectable

もはやHDDの自己テスト機能がダメになっているのかもしれません。

そこで、badblocksコマンドを用いて異常セクタを検出したいと思います。

まあ、念のため、再度ブロックサイズを確認します。

1
2
# tune2fs -l /dev/sdd1|grep -i "block size"
Block size:               4096

このパラメータをbadblocksに与えて検査させます。
1
2
3
4
# nohup badblocks -b 4096 -vs -o badblocks.txt /dev/sdd1&
tail -f nohup.out
Checking blocks 0 to 732566271
100.00% done, 5:23:20 elapsed. (139/0/0 errors)
ということで、五時間半かかって、139セクタもの不良セクタが検出されてしまいました。

この段階でのsmart値は以下の通りです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   097   093   006    Pre-fail  Always       -       40328485
  3 Spin_Up_Time            0x0003   096   096   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       6
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       8
  7 Seek_Error_Rate         0x000f   076   060   030    Pre-fail  Always       -       49566908
  9 Power_On_Hours          0x0032   063   063   000    Old_age   Always       -       32571
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       6
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   001   001   000    Old_age   Always       -       262
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0 0 0
189 High_Fly_Writes         0x003a   099   099   000    Old_age   Always       -       1
190 Airflow_Temperature_Cel 0x0022   076   060   045    Old_age   Always       -       24 (Min/Max 20/26)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       4
193 Load_Cycle_Count        0x0032   073   073   000    Old_age   Always       -       55928
194 Temperature_Celsius     0x0022   024   040   000    Old_age   Always       -       24 (0 13 0 0 0)
197 Current_Pending_Sector  0x0012   094   094   000    Old_age   Always       -       1112
198 Offline_Uncorrectable   0x0010   094   094   000    Old_age   Offline      -       1112
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       32556h+15m+05.395s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       25786278431
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       1151768457351

いやあ、すげえ。Current_Pending_Sector  とOffline_Uncorrectable   が1112にまで上昇してしまいました。
これから試す方法の挙動が楽しみです。

さて、まずは実際にbadblocksコマンドで得たセクタ番号がHDD自身から聞けるかどうか、smartctl -t shortで尋ねてみました。

1
2
# 1  Short offline       Completed: read failure       90%     32571         -
# 2  Extended offline    Completed without error       00%     32452         -


全然教えてくれる気はないようです。

しかし、前回、異常が発生しているにもかかわらずエラーなし(#2です)で正常終了していたのが、read failureで異常終了(#1です)しているのはせめてもの事でした。

異常なしっていう時点でおかしいですもの。


まあ、HDDが異常セクタを教えてくれないとのことですので、それならばbadblocksで検出した139の異常セクタをどうにかすればsmart値はどうなるのかを見ていきたいと思います。


その前に、異常セクタにあるファイルを削除するため、先ほどのbadblocksコマンドで生成された badblocks.txt に記録されているセクタ番号をもとに、debugfsコマンドでセクタ番号から使用されているinode番号を取得して、そのinode番号をもとにファイル名を特定します。


無論、すぐに廃棄する予定のHDDでここまでする必要はないのですが、せっかくの演習ですから壊れても惜しくない大容量HDD(いや、もう壊れているのですが)、有効活用してみたいと思います。


まずは指定したセクタに何らかのデータが記録されているかを調べるには以下です。

セクタ番号が524726232として、icheck <セクタ番号>で調査します。

1
2
3
4
# debugfs -R "icheck 524726232" /dev/sdd1
debugfs 1.42.9 (28-Dec-2013)
Block   Inode number
524726232       117966080

ばっちり使われています。

使われていない場合は次のような表示になります。
1
2
3
4
# debugfs -R "icheck 620236906" /dev/sdd1
debugfs 1.42.9 (28-Dec-2013)
Block Inode number
620236906 <block not found>

これを139セクタ分繰り返します。

ファイル名を得るには
1
#  debugfs -R "ncheck 117966080" /dev/sdd1
というように、"ncheck inode番号" を実行しますと、ファイル名が表示されます。
inode番号は重複する場合がありますので、sortしてuniqしたほうがいいと思います。
数が数ですので、awkなりperlなりpythonなり、スクリプトを書いたほうが安全かと思います。

さて、今回のケースではファイル数に換算すると46ファイルでした。
でかいファイルが配置されていたセクタが多かったようです。

早速それらをunlinkして、smart値を見てみますと、特に意味がある変化は見られません。
当たり前といえば当たり前ですが。

お次はddコマンドで0を書き込んでセクタを代替させる作業を行います。
139セクタすべてを0で埋めますが、その前に1セクタだけやって、smart値がどう変化するかを見てみたいと思います。

1
2
3
4
5
6
7
8
9
10
11
12
13
# dd if=/dev/zero of=/dev/sdd1 bs=4096 count=1 seek=524726232
1+0 レコード入力
1+0 レコード出力
4096 バイト (4.1 kB) コピーされました、 0.00141101 秒、 2.9 MB/秒
# sync
# smartctl -a /dev/sdd1
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
 (略)
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       8
 (略)
197 Current_Pending_Sector  0x0012   094   094   000    Old_age   Always       -       1104
198 Offline_Uncorrectable   0x0010   094   094   000    Old_age   Offline      -       1104
 (略)

おやおや、Reallocated_Sector_Ct   の値は変化がありませんが、Current_Pending_Sector  とOffline_Uncorrectable   の値が2ポイント増えてしまいました。なかなか興味深い事象なので後で遊ぶとして、あと138セクタあるので、残りは一括してスクリプトを組んでゼロで埋めてしまいます。

その結果、
1
2
3
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       8
197 Current_Pending_Sector  0x0012   100   094   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   094   000    Old_age   Offline      -       0
Current_Pending_Sector  とOffline_Uncorrectable   の値がゼロになり、代替されたセクタが増えていません。
これ、書き込みが成功した場合は代替しないっていうHDDがあることは知っていましたが、このHDDもその一味なのでしょうか。

念のため、これらのセクタを下手に使ってしまわないようにファイルシステムに"コイツはダメだ"と記録しておきます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# fsck.ext4 -l badblocks.txt /dev/sdd1
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdd1: Updating bad block inode.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #18928 (23698, counted=23699).
Fix<y>? yes
Free blocks count wrong for group #19312 (24543, counted=24544).
Fix<y>? yes
Free blocks count wrong for group #20416 (24543, counted=24544).
Fix<y>? yes
Free blocks count wrong for group #22000 (24543, counted=24544).
Fix<y>? yes
Free blocks count wrong for group #22032 (24542, counted=24544).
Fix<y>? yes
Free blocks count wrong (63487139, counted=63487145).
Fix<y>? yes
/dev/sdd1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdd1: 97313/183148544 files (1.5% non-contiguous), 669079127/732566272 blocks

ま、結果は信用できませんが、仕上げに自己テストを行わせます。
1
# smartctl -t long /dev/sdd
結果は後日のお楽しみです。(どうせwithout errorでしょうねぇ)

それにしても、3TBという容量が容量なので、こんな危なっかしいHDDをだましだまし使うということは難しい感じです。
廃棄以外にちょっと考えられません。

6TBとか8TBとかがボリュームゾーンになってきている様子ですが、今後ますますトラブル発生即交換・廃棄という運用じゃないととてもやっていけませんねえ。
貧乏性にはつらい選択です。

結果として、頓死しないでずるずる生き延びる、なんだかおもしろい機材が手に入ってしまったので、今後も時間があれば何らかのネタを仕込んでみたい気もしますが、まずは来月あたりにもう一度badblocksコマンドで総なめしてみて、何か面白いことが起きるかどうかですかねえ。

まずは今回はこんなところでしょうか。

ここまでお読みいただき、ありがとうございました。

2021年3月11日木曜日

3年6か月目にST3000DM008に異常発生、WD40EZRZ-RT2購入

一昨日、自宅サーバにて二台のST3000DM008でRAID1を構成していた一台に異常が発生していることが発覚しました。
ペアを組んでいるもう一台のST3000DM008は何の問題もなく元気に稼働しています。

異常は毎週のraid-checkで検出されていました。
よくよく調べてみると、先月のsyslogにすでに異常が報告されていることが分かりました。
smartctlからもmdadmからもメールが来なかったのですっかり油断していました。

2017年6月に運用を開始して以来、メーカーが保証していない24時間365日な自宅サーバ上での使用でこれだけの期間、頑張ってくれたことに感謝です。

実際のところ、ST3000DM001の型番だけ変更品なんじゃないかという疑念が付きまとっていた本製品だけに、一層感謝の念が深まります。


障害の内容は、syslogによるとアクセス不能なセクタが発見されていました。
1
2
3
4
5
6
7
8
9
10
11
12
13
Mar  7 05:57:53 ***** kernel: ata3.00: exception Emask 0x0 SAct 0x100000 SErr 0x0 action 0x0
Mar  7 05:57:53 ***** kernel: ata3.00: irq_stat 0x40000008
Mar  7 05:57:53 ***** kernel: ata3.00: failed command: READ FPDMA QUEUED
Mar  7 05:57:53 ***** kernel: ata3.00: cmd 60/00:a0:00:17:46/01:00:45:01:00/40 tag 20 ncq 131072 in#012         res 41/40:00:38:17:46/00:01:45:01:00/00 Emask 0x409 (media error) &lt;f&gt;
Mar  7 05:57:53 ***** kernel: ata3.00: status: { DRDY ERR }
Mar  7 05:57:53 ***** kernel: ata3.00: error: { UNC }
Mar  7 05:57:53 ***** kernel: ata3.00: configured for UDMA/133
Mar  7 05:57:53 ***** kernel: sd 2:0:0:0: [sdc] tag#20 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=3s
Mar  7 05:57:53 ***** kernel: sd 2:0:0:0: [sdc] tag#20 Sense Key : Medium Error [current] [descriptor]
Mar  7 05:57:53 ***** kernel: sd 2:0:0:0: [sdc] tag#20 Add. Sense: Unrecovered read error - auto reallocate failed
Mar  7 05:57:53 ***** kernel: sd 2:0:0:0: [sdc] tag#20 CDB: Read(16) 88 00 00 00 00 01 45 46 17 00 00 00 01 00 00 00
Mar  7 05:57:53 ***** kernel: blk_update_request: I/O error, dev sdc, sector 5457188664
Mar  7 05:57:53 ***** kernel: ata3: EH complete
驚いてsmartctlで確認したところ、SMART Error Log Version: 1には既に109件もエラーが記録されており、かつ、Reallocated_Sector_Ctの値が8になっていました。

SMART Error Logはこんな感じでした。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
SMART Error Log Version: 1
ATA Error Count: 109 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
 
Error 109 occurred at disk power-on lifetime: 32432 hours (1351 days + 8 hours)
  When the command that caused the error occurred, the device was active or idle.
 
  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455
 
  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 00 ff ff ff 4f 00  19d+18:25:46.787  READ FPDMA QUEUED
  60 00 00 ff ff ff 4f 00  19d+18:25:46.754  READ FPDMA QUEUED
  60 00 00 ff ff ff 4f 00  19d+18:25:46.143  READ FPDMA QUEUED
  60 00 00 ff ff ff 4f 00  19d+18:25:46.015  READ FPDMA QUEUED
  60 00 00 ff ff ff 4f 00  19d+18:25:46.014  READ FPDMA QUEUED

しかしながら、
1
SMART overall-health self-assessment test result: PASSED
なのでsmartctlはメールを飛ばさなかったようです。
ついでにセルフテストを行ってみましたが、こちらも
1
1  Extended offline    Completed without error       00%     32452         -
といわれてしまい、成功終了してしまいました。

兎にも角にも、RAIDが縮退運転に入る前に気づけたことは幸いでした。
早速、気づいたその日にすぐに代替用HDDの選定に入りましたが、最近の手ごろな価格のHDDってほとんどが瓦磁気記録方式(以下SMR)なのでびっくりしました。
確かに、SMRの普及が進んでいるとは噂程度には聞き及んでいたのですが、ちょっと考えてしまいました。

SMRと一言で言っても、大抵はHDDの外周部分をCMRとして使って、あとでゆっくりSMR方式の内周部分に移動する方式が主流のようです。
そのため、毎週テラバイト単位(ベアドライブ単位で丸ごとだから)でのバックアップの処理のパフォーマンスが極端に低下する(CMRとして記録できる領域を超えてしまうため)懸念を抱きました。
また、CMRとして利用するシリンダを酷使することによる耐久性はどうなのかというのも、もう少々、できれば数年、様子を見たいところです。
また、gitでのソース管理などでも、細かいファイルが大量に発生してしまうのですが、これの処理のパフォーマンスも気になります。

まあ、所詮は自宅サーバですし、あまり気にしても仕方がないのですが、面倒になったのでとにかくCMRの製品にしようと思って探してみました。

もともと3TBのHDDだったので3TB近辺で探すと、現在は4TBがお安いようですね。
そのため、1TBはRAIDとしては使えませんが4TBのHDDを探してみると、あっさりWD40EZRZ-RT2という製品が見つかりました。これはCMRなんだそうです。
お値段は8千円。SMR方式の同容量のHDDと比べても最大でも千円前後しか価格差はないようです。

今回異常を示したHDDの先々代がWDでしたが、二年も持たず故障したので、若干気がかりですが、これは我ながら難癖でしょう。
結局のところこういうのはどのメーカでも同じことですし、そもそもメーカが保証しない連続運用が前提な使い方をする以上、すべては自己責任です。
さっそく注文して取り寄せました。

とりあえず例によってmdadmでraid1アレイから故障したHDDをfailさせてremoveします。
(たとえばこんな感じです。sdcが今回壊れたHDDです)。
1
2
mdadm --manage /dev/md0 --fail /dev/sdc1
mdadm --manage /dev/md0 --remove /dev/sdc1
その後、障害が発生したHDDをサーバから物理的に抜去するか、そのまま接続するなら別RAIDに仮参加させるなど元のRAIDアレイに戻らないように工夫した後、 新規購入したHDDのパーティションを元のRAIDアレイのサイズと同じサイズで切って追加します。


パーティションを切る際、partedで開始位置と終了位置をセクタ単位で指定したい場合はセクタ番号の後ろにsをつければ問題ありません。partedでprintコマンドでセクタ単位で表示させたい場合は、
(parted) unit s
とすると表示できます。
もっとも、fdisk -l で事前に見ておいたほうが楽だと思います。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart
パーティションの名前?  []? SDC1-WD4T
ファイルシステムの種類?  [ext2]? xfs
開始? 2048s
終了? 5860532223s
(parted) set 1 raid on
(parted) p
モデル: ATA WDC WD40EZRZ-22G (scsi)
ディスク /dev/sdc: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:
 
番号  開始    終了    サイズ  ファイルシステム  名前       フラグ
 1    1049kB  3001GB  3001GB                    SDC1-WD4T  raid

その後、partedで余った1TBのパーティションも追加します。
これは正確な数値である必要はないので、開始位置をサイズ、終了位置を100%といったようなアバウトな指定で十分です。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(parted) mkpart
パーティションの名前?  []? SDC2-WD4T
ファイルシステムの種類?  [ext2]? xfs
開始? 3001GB
終了? 100%
(parted) p
モデル: ATA WDC WD40EZRZ-22G (scsi)
ディスク /dev/sdc: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:
 
番号  開始    終了    サイズ  ファイルシステム  名前       フラグ
 1    1049kB  3001GB  3001GB                    SDC1-WD4T  raid
 2    3001GB  4001GB  1000GB                    SDC2-WD4T

余談ですが、もちろん、こんなアバウトな指定のしかたでも、きっちりパーティション2はパーティション1の次のセクタから確保されています(unit sしてprintすればわかります)。
こういった地味だけどとても便利で親切なコマンドを作る気配りというのは、下手をすると余計なお世話になってしまうために目には見えないけれど実際には相当負担が大きいのですが、それをあえてするプログラマの心意気に頭が下がります。

そして、上記で生成したパーティションをアレイに追加すればリカバリが始まります。
1
# mdadm --add /dev/md0 /dev/sdc1

今回のリカバリは夜の20時30分に開始して翌未明02時16分に完了しました。
六時間弱、かあ。するとリカバリ速度は約141,963KB/秒ですね。

ただ・・・容量違いのHDDでRAID1を組むと、新しくて、しかも大きい容量のHDDのほうが先に壊れた経験があるので、今回は先例通りにならないことを願うばかりです。

余談ですが、容量が大きいHDDが先に死んでしまったときに生き残ったHDD(ST31000528AS)は2009/04/24から現在まで元気に活躍していました。
彼の初代の相棒はWD10EADS-00L5B1(2009/04/24運用開始、2011/03/吉日死亡)、次の相棒がST2000DL003(2011/3/22運用開始、2017/06/21死亡)でした。
その後、二代目の相棒の死亡を機にRAIDアレイを引退。
余生をPCクライアントのバックアップ置き場として活躍するものの、2021年3月10日、容量の小ささと古さから廃棄処分となりました。
こちらも、本当によく働いてくれました。
ご苦労様でした。ありがとうございました。

あとは自己診断の結果待ちですが、45,180秒かかるそうなので、初期不良の判定はもうちょっと先になりそうです。
さらに故障が判明してから停止していたrsyncによるraidアレイのバックアップ先との同期やらがあるので当分先の話になりますが、hdparmやddコマンドを用いての単体のHDDの転送速度の実測とか負荷がかかる試験をいろいろ試したいのですが、徐々に進めたいと思います。

ネタのつもりで買ったST3000DM008がここまでしてくれたので、ちょっとうれしくて思わずこのような駄文をひねくってしまいました。
お読みいただきありがとうございました。

---
2021/03/11 追記
異常が発生したST3000DM008をmkfsしなおして、rsyncコマンドでraid1の中身を全コピーしてみたところ、何の異常もなく終了してしまいました。結果は以下の通りです。
1
2
sent 2.80T bytes  received 1.69M bytes  139.56M bytes/sec
total size is 2.81T  speedup is 1.00

RAID1のリカバリ時間とほぼ同等ですかね。おおよそ五時間半かかりました。
それにしても、何の異常もなく正常終了してしまうのには困りました・・・
dmesgにもmessagesにもsmartdctl -aの結果にも、まるで何も記録されていません。
RAIDのアレイ構成員としては恐ろしいのでスペアに指定することなんか想像もできませんが、それはさておいて、3TBもの領域でどう遊んでいいやら。
貧乏性の悩みは尽きませんが、かといって、なんらかのネタを思いつければいいのですが・・・