SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|

2025-04-29(Tue) デスクトップでF1ごっこ

  先日、急にF1活動(?)を再開したのだが、だいぶブランクがあったので、いろいろと驚きがあった。

  なにしろ以前よりも競技のシビアさが増している。格段に予選のタイム差が小さくなっているのは、マシンの差が少ないからだ。ひとつには空力が洗練されすぎているためであり、だから追い抜きが難しくなって減ってしまっている。信頼性が上がっていることもあり、リタイアもわずか。決勝は50ウン周のフォーメーションラップとは言い得て妙。以前は半数くらいがリタイアで、その半数くらいが周回遅れだったもんだが。

  一方で、ネットで容易に多くのニュースに触れられるようになった。生中継を観た後、おさらいついでに追加のエピソードが得られるのが興味深い。そこから各ドライバーのキャラクタが伝わってくるので面白さも増している。以前は下位チーム、下位ドライバなんて、ほとんど興味の外だったからね。注目の角田も存在感を発揮できていて番組の見ごたえも増えている。

  んが、早速バーレーンGPで問題発生。鈴鹿では一瞬の中継映像から、概ねドコを走っているかがわかったのに、それがサッパリわからない。殺風景なペッタンコサーキットなせいもあるが、以前は中東のサーキットなんてなかったからねぇ。ヨーロッパのサーキットの多くはゲームを通じた走行体験で土地勘(?)があったのもある……ん? 走行体験? それならそれにうってつけの自作のゲーム(開発中)があるではないか。

  というわけで「TopDrivin'」を久々に取り出した……のだが、あれ? 地図がうまく取れない。キャッシュに載っていない部分を新たに取得できない状況にみえる。コースの描画に使う地図タイルはグーグル様からリアルタイムに拝借する仕組みなのだが、重複するアクセスを減らし、取得速度を上げるために、キャッシュを行う自作のCGIを噛ませてある。そいつがうまく動いていない。httpd(Apache)のエラーログを見ると、file systemがRead-onlyだとかで、EROFSなどというエロいエラーが出ていて、けしからん状態のようだ。

Read-only file system @ rb_sysopen - gmcache/lyrs=s&x=921992&y=415895&z=20 (Errno::EROFS), referer: http://localhost/~mitsu/topdrivin/?course=suzuka

  前に動作させたのは6月ごろで、その後OSアップデートをしたからその影響かもな、と思いつつも、他にやりたいことが山積みで後回しにしていたら、サウジアラビアGPが始まってしまって、ドコを走っているかサッパリわからない状態アゲインだ。いかん、早めに対処しなくては。

  つうわけで、ちょっと調べてみたら、原因はhttpdではなくsystemdらしい。デーモンの起動時にアクセス制限を課すようになったとのこと。うーむ、そういうのってどうなんだよ、と思いつつ、シブシブ対処をする。

raven.itline.jp: /root # export EDITOR=vi
raven.itline.jp: /root # systemctl edit httpd
 
  1 ### Editing /etc/systemd/system/httpd.service.d/override.conf
  2 ### Anything between here and the comment below will become the contents of the drop-in file
  3 
  4 [Service]
  5 ProtectHome=false
  6 
  7 ### Edits below this comment will be discarded
  8 
  9 
 10 ### /usr/lib/systemd/system/httpd.service
 11 # # See httpd.service(8) for more information on using the httpd service.
 
raven.itline.jp: /root # systemctl daemon-reload
raven.itline.jp: /root # systemctl restart httpd

  ProtectHomeはどういう仕組みなのか、AIに訊いたら答えが返ってきた。mount namespace機能を使って、httpプロセスのみmount状態をRead-onlyにスゲ替えているらしい。いまや外からなんでもできちまうんやなぁ。

raven.itline.jp: /root # pgrep httpd | sed 's/^/cat \/proc\//' | sed 's/$/\/mountinfo/' | sh | grep home
1149 903 253:0 / /home ro,relatime shared:665 master:1008 - ext4 /dev/mapper/luks-home rw
 ↓
1149 903 253:0 / /home rw,relatime shared:661 master:1008 - ext4 /dev/mapper/luks-home rw

  さて、これで元通り動くようになった。新たにサーキットを追加しよう。座標を入れるだけでサーキットデータが追加できてしまうのが、TopDrivin'のスゲェ(?)ところ。

    when 'sakhir'
        lng_d1 =  50.5104474; lat_d1 =   26.032294; v =  66 # サヒール(バーレーン)
    when 'jeddah'
        lng_d1 =  39.1046184; lat_d1 =   21.632434; v =  51 # ジェッダ(サウジアラビア)
    when 'miami'
        lng_d1 = -80.2375267; lat_d1 =   25.959218; v = 151 # マイアミ

  以下は、バーレーンのサヒールサーキットサウジアラビアのジェッダサーキットのスターティンググリッドだ。地図が旧いので色が違うが、ジェッダの1コーナーでフェルスタッペンごっこをすることもできる。

  画像の説明 画像の説明 画像の説明

  続いて、次回のマイアミサーキットのスターティンググリッド……のつもりだったのだが、路面にグリッドが書かれてない。時期によってはそういうこともあるようだ。早速、コースを辿ってみると……なんだか、コース上がカフェテリアになっとるがな……ちょっとソコ失礼してF1カー通りますよ。時期によってはそういうこともあるようだ。

  画像の説明 画像の説明

  つうわけで、擬似的にではあるがコースの走行体験ができるようになったのだが、土地勘を得るためにはもう少し視界が広いほうがいいかも。そして、やっぱりもう少しゲーム性もほしいな。ギアシフトによる速度の変更とラップタイムの計測。うまくすれば無二の特徴を持つゲームに仕上がりそうな気もするのだが。