投稿者: manualmaton Page 120 of 261

ソロとAI。(日曜日の『宝石の煌めき』)

「ほどほどの時間でしっかりと考えるボードゲームを行いたい」

ということで、これを選びました。

『宝石の煌めき』ソロバリアント

場を見て、「オニキスの5点カードが軸になりそうだ」と戦略を立てます。

これにより、無駄なカード取得を極力抑えました。

また、ボットの思考を利用して、得点源をカット。これが功を奏して

  • 貴族タイルの訪問で15点
  • 返しでボットも1点取られたものの、発展カードのタイブレークで勝利

と、実に濃密なゲームを楽しめました。

デジタル版AI対戦

2年ほど前にバンドルで購入していたSteam版『宝石の煌めき』をプレイ。

貴族カードがばらけているため、カードの素点で稼いでいく戦略が大当たり。AIと差をつけての決着となりました。

おぼろげなコツ

  • 「貴族を狙うか」と「カードで稼ぐか」は最初に決め打った方が無駄なカードを購入せずに済む。
  • 手数よりも効率。
  • Lv.3のカードを購入する最短手順を頭に入れる。

で、幾分か勝率が上がってきました。

rsyncdとlsyncdによるリアルタイム同期。

自宅サーバのredmineの耐障害性を高めるため、

flowchart LR Redmine -- rsyncによる転送--> Backup

を仕込みました。

環境

  • バックアップ元(Linux Mint 20.03)
  • バックアップ先(Kubuntu 20.04)

共にrsyncdはインストールされています。

参考:
https://www.server-world.info/query?os=Ubuntu_18.04&p=rsync
https://www.server-world.info/query?os=Ubuntu_18.04&p=lsync

バックアップ先の設定:

vi /etc/rsyncd.conf
ファイル内容
[backup]
path = /home/backup/redmine
hosts allow = [バックアップ元のIPアドレス]
hosts deny = *
list = true
uid = www-data
gid = www-data
read only = false

バックアップディレクトリ作成

mkdir /home/backup/redmine
chown -R www-data:www-data /home/backup/redmine

systemctl restart rsync.service

バックアップ元の設定:

rsyncのテストを行う。

rsync -avz --delete /home/hoge/test.txt バックアップ先::backup

バックアップ先にtest.txtが格納されることを確認しました。

lsyncdのインストール

aptitude install lsyncd
mkdir /etc/lsyncd
vi /etc/lsyncd/lsyncd.conf.lua

ファイル内容

settings{
    logfile="/var/log/lsyncd/lsyncd.log",
    statusFile = "/tmp/lsyncd.stat",
    statusInterval = 1,
}
sync{
    default.rsync,
    source="/var/lib/redmine/",
    # redmine配下をまるごとバックアップします。
    target="[バックアップ先]::backup",
}

lsyncdのログ設定

mkdir /var/log/lsyncd
vi /etc/logrotate.d/lsyncd
ローテーションファイルの内容
/var/log/lsyncd/*.log {
        missingok
        notifempty
        copytruncate
        compress
}

サービス反映

systemctl restart lsyncd
systemctl status lsyncd
systemctl enable lsyncd

リアルタイムの設定確認

tail -f /var/log/lsyncd/lsyncdlog
#別ウィンドウで開きます
cd /var/lib/redmine
touch test.txt

ファイル追加後、ログに以下を確認。

Fri Apr 15 20:38:41 2022 Normal: Calling rsync with filter-list of new/modified files/dirskup/ finished.
/test.txt
/
Fri Apr 15 20:38:41 2022 Normal: Finished a list after exitcode: 0
rm test.txt

ファイル削除後、ログに以下を確認しました。

Fri Apr 15 20:39:51 2022 Normal: Calling rsync with filter-list of new/modified files/dirs
/test.txt
/
Fri Apr 15 20:39:52 2022 Normal: Finished a list after exitcode: 0

まとめ

により、要のDBのバックアップとリストアができたことは確認済み。

後は復旧できるかどうかを試してみます。

ローカルredmineのSSL化。-ローカル証明書のインストールと常時SSL化-

この記事の続きです。

ここでは、mkcertで作成したローカル証明書をredmineサーバに入れておきます。

また、

  • httpを強制的にhttpsにリダイレクト
  • http://ip or DNS名 のアクセスをhttps://ip or DNS名/redmineへとリダイレクトする

設定も同時に入れ込みます。

redmineサーバ上での設定

必要なモジュールの有効化

a2enmod ssl
a2enmod rewrite
systemctl restart apache2
ss -lntp
# 443ポートがLISTENされていることを確認します

証明書ペアの格納

mkdir /etc/certs/
mkdir /etc/private/

その後、

/etc/certs → SSL証明書

  • corn.wall.crt.202204

/etc/private/ → 秘密鍵

  • corn.wall.key.202204

をそれぞれ格納します。

証明書ペアのシンボリックリンク化

後々のメンテナンスを考えて、証明書をシンボリックリンク化します。

cd /etc/certs/
ln -s corn.wall.crt.202204  corn.wall.crt
cd /etc/private/
ln -s corn.wall.key.202204 corn.wall.key

Virtualファイル記載

cd /etc/apahce2/site-available/
cp -pi redmine.conf /path/to/backup/redmine.conf.org
vi redmine.conf
redmine.confの内容
<VirtualHost _default_:80>
 RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
        #http通信を強制的にhttpsにリダイレクト
</VirtualHost>

<VirtualHost _default_:443>
  SSLEngine on
    SSLProtocol All -SSLv2 -SSLv3  -TLSv1
    SSLCertificateFile /etc/certs/corn.wall.crt
    # 証明書
    SSLCertificateKeyFile /etc/private/corn.wall.key
    # 秘密鍵

        RewriteEngine On
        RewriteCond %{HTTP_HOST} ^penzance\.corn\.wall
        RewriteRule ^/$ https://penzance.corn.wall/redmine/ [R]
        # https://penzance.corn.wallへのアクセスをhttps://penzance.corn.wall/redmine/にリダイレクト

Alias /redmine /var/lib/redmine/public
CustomLog /var/log/redmine/access.log combined
ErrorLog /var/log/redmine/error.log
<Location /redmine>
PassengerBaseURI /redmine
PassengerAppRoot /var/lib/redmine
Require all granted
</Location>

</VirtualHost>

設定反映

apache2ctl configtest
# SyntaxOKを確認
systemctl restart apache2

再起動後、

  • redmineの通信がhttpsで行えること
  • ホスト名でアクセスしても/redmine/に移動すること

を確認しました。

補足とまとめ

  • セキュリティソフトによっては、このローカル認証局を「信頼できない」としてブロックする場合があります。その時はその設定を解除します。
  • また、mkcertsは開発用途なので外に出ていけないローカル環境での運用が前提です。
  • そのためか証明書の有効期限は3ヶ月。この運用をもっと楽にするのが今後の目標です

ローカルredmineのSSL化。-mkcertのインストール-

また、やりたいことに一歩近づきました。

  • 外に出ていけないローカルドメインでもSSL通信はしたい
  • 自己証明書と違った形でSSLを発行したい

という希望を求めていたら、「mkcert」なるものを発見したので、導入してみました。

redmineのSSL化

homebrewのインストール(検証機で実施する)

参考:
https://tdomy.com/2021/12/how-to-install-homebrew-on-ubuntu/

必要パッケージ取得

rootでは実行しないこと

sudo aptitude install libnss3-tools git curl

homebrewインストール

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
test -r ~/.bash_profile && echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >>~/.bash_profile
echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >>~/.profile
brew --version
brew install hello
hello
brew uninstall hello

mkcertインストール

https://www.hivelocity.co.jp/blog/46149/

brew install mkcert
mkcert -install
mkcert -CAROOT
# ~/.local/share/mkcert配下にルート証明書とルート秘密鍵を確認
cd ~/.local/share/mkcert

mkcertで証明書発行

ここでは、自宅redmineに用いている

penzance.corn.wall

の証明書を発行します。

mkcert -key-file corn.wall.key.202204 -cert-file corn.wall.crt.202204 corn.wall penzance.corn.wall "*.corn.wall" 
openssl x509 -text -noout -in ./corn.wall.crt.202204 |grep DNS
# DNS:corn.wall, DNS:penzance.corn.wall, DNS:*.corn.wall と、入力したDNS名があることを確認します

次のエントリーでは、redmineにSSLを入れ込んでいきます。

redmineのアクセスログを統合。

Redmineのログ表示プラグインを導入しているのだから、ここにapacheのアクセスログを一緒にしました。

環境

  • Linux Mint 20.03(Ubuntu 20.04)
  • Redmine 4.2
  • Apache/2.4.41

前提

こちらの記事にある

  • redmineのログ管理プラグイン導入
  • redmineのログローテート設定

設定は行っているものとします。

また、redmineのproduction.logは/var/log/redmine配下に移動。(本来のログのところにシンボリックリンクを張っています)

手順

全てアクセス権限で行っています。

ログ設定

cd /etc/apache2/sites-available/
vi redmine.conf
追記内容
CustomLog /var/log/redmine/access.log combined
ErrorLog /var/log/redmine/error.log

システムへの反映

systemctl restart apache2

ログ確認(サーバ)

tail -f /var/log/redmine/access.log

を流しながら該当のredmineにアクセスし、ログが出ることを確認しました。

ログ確認(redmine)

  1. 管理者権限でログイン
  2. 管理>ログに移動
  3. /var/lib/redmine/log/access.logをクリック

しましたが、ここで404エラー。

サーバ側で

chown www-data:www-data /var/lib/redmine/log/access.log

を設定後、再度redmineのログを確認し、表示されていることを確認です。

昼下がりのボードゲームソロプレイと壁紙の撮り直し。

アグリコラ ソロプレイ

2つ目の『アグリコラ(リバイズド)』を手に入れたことで、早速、ソロプレイを行いました。

今回は拡張Cデッキを用いています。

盤面と特典

アクションスペース「日雇い労働」を資源取得スペースに変える「金物屋」のおかげで建材がたまり、59点で終わりました。

拡張によるリプレイ性はやはり魅力です。

壁紙の撮り直し

一通りのゲームプレイが終わり、収納を済ませたので「普段のPC壁紙を取り直してみよう」思いました。

「農家の娘」という設定のため、『アグリコラ』はイメージ的にもぴったりです

後はこれをPC画面上下に分割します。

左が旧画像、右が撮り直しとなります。

  • アイレベル
  • 構図
  • 光源

を見直すことができました。

週末朝のボードゲームソロプレイ。(『ガイアプロジェクト』テーブルトップ)

ボードゲーム熱が高まったので、土曜日の夜、寝る前にボードゲームをセットアップしていました。

ガイアプロジェクト

セットアップ

諸々の公平を期すため、研究タイルは裏返しにしてシャッフルしたあとで並べました。マジョリティが

  • 施設数
  • 同盟に含まれる施設数

だったのでダー・シュワームを選択。AIはジオデンです。

そして翌朝に備えました。

ゲームプレイの概要

宙域が寄っていたので陣取り合戦は熾烈。特に第1RでAI特有の「ガイア計画なしに次元横断星に入植」が決まり、序盤から計画修正を余儀なくされます。

そして、AIが研究をトントン拍子に進めて惑星改造のゴールをカットされる憂き目にも遭いました。

終了図

最終的な盤面はこちら。

経済で得た鉱石で惑星改造を続けてなんとか勝てたという次第。

156点と許容できる得点となりました。

対人と違うゲームでもしっかりインタラクションできているのはいいものです。

週末夜のボードゲームソロプレイ。(ヌースフィヨルド)

自宅サーバの構築も運用フェイズに移行。

時間が取れたのでボードゲームのソロプレイを行うことにしました。

ヌースフィヨルド

自分のお気に入りの一つ、漁業と林業を軸にしたワーカープレースメント『ヌースフィヨルド』です。

セットアップの割に手応えしっかり。それでいて支払いもなくリプレイ性の塊。

そこで、ちょっと面白い盤面がありました。

終了図

船を一隻も造っていないという盤面。

  • 漁獲高を森林タイルと同じにする建物
  • ゲーム終了時、ストックにある船の数だけ勝利点

の建物コンボが見事に決まりました。

この多彩な展開もまた本ゲームの魅力です。

2つの『アグリコラ』。2つのオーガナイザー。

お気に入りのボードゲームを「冗長化」させました。

『アグリコラ リバイズドエディション』

更に再販されるという話は聞いたものの、どこも予約は終了。そんな中で「残り一つ在庫が残っていた」ので、ここぞとばかりに購入です。

開封

内容物はわかりきっておりますが、袋に入れられている状態は新鮮です。

早速、分類していきます。

カード類

大きな進歩とラウンドはハードスリーブ、職業と小さな死のはソフトスリーブに入れて区別をつけています。

トークン類

トークン系は分類します。(欲を言えばこの1.5倍は欲しいところです)

収納

そんなこんなで、Tower Rexのオーガナイザーと差し替えていたために余っていたThe Dicetroyerのオーガナイザーに収納することができました。

2つのオーガナイザー比較

カード入れや資源系の収納方法に違いが見られるものの「プレイヤーごとに使うワーカー/柵/厩」が独立しているのは一緒。

また、「オーガナイザーのためにボードゲームを複数購入する」例が増えました。

室内サーバ増強計画:第一段階完了。(そしてUbuntu Studioインストール)

ここ2週間の私的プロジェクト、ようやく決着です。

これまでの経緯

元々は「自分のミスにより検証機として用いていたredmineをクラッシュさせた」ことが発端。

ToDo / 進捗 / メモを管理・保管するツールとしてredmineは検証から本番へと格上げする必要がありました。

そこで、

  • 安価
  • 小型
  • 省電力

の三拍子が揃ったChuwi Heroboxに白羽の矢を立ててサーバの構築を行いました。

このサーバが思ったよりも快適だった&冗長化構成を取りたいためにもう一台購入したのが先週。

サーバの役割

現時点で、2つのサーバの役割は以下のとおりです。

サーバ1:Penzance

こちらはredmine専用。今後、自分の記録の核とするために他の機能は省こうと思います。(先代をクラッシュさせたのも、『他の機能を追加した』からでした

サーバ2:Paddington

こっちは

  • ローカルDNS
  • Zabbix
  • Knowledge(redmineの設定記録)
  • Lychee(フォトアルバム)

など、ネットワークの補助やredmineが苦手とする「写真の一覧」を収めるサーバになりました。

Linux Studio

サーバを2台構成にしたことで、今までredmineその他を入れていたPCが浮くことになりました。

これを活用するために、原点回帰です。検証機としての機能を有し、かつ、各種コンテンツの利用に耐えるLinuxとして選んだのがUbuntu Studio

使い慣れたKDEデスクトップが選択の決め手となりました。

好き勝手できる環境が一つあるというのは精神的な助けにも繋がります。

Page 120 of 261

Powered by WordPress & Theme by Anders Norén