メモ的ななにか

@Maleic1618

サークルの雀荘ルール

ルールまとめ

4人打ち

基本的に天鳳の赤あり東南戦ルール

オンライン対戦麻雀 天鳳 / マニュアル

で行うが一部修正がある.(赤字で書いた)

  • 25000点持ちの30000点返し
  • ウマ5-10
  • 喰い替えなし
  • 喰いタンあり
  • 赤は1枚ずつ、計3枚
  • ノーテン親流れ、聴牌連荘
  • 西入時は西4局まで終わるか、誰かが30000点以上になった時点で終了.ただし点数は和了者が親として計算する.
  • 飛び終了あり。点数がマイナスで飛び終了、マイナス点数も集計
  • ラス親トップの自動和了り止め、自動聴牌止めあり
  • 終了時の得点は1000点未満を五捨六入
  • 終了時の供託はトップ取り
  • 終了時に同点の場合は東1局の風順で順位を決定
  • 風牌は4符
  • 嶺上ツモも2符加算
  • 2飜縛りなし/常に1飜縛り
  • 途中流局(九種九牌/四家立直/三家和了/四槓散了/四風連打)あり。すべて連荘
  • 九種九牌はポン/カン/チー/暗槓のない第1ツモで幺九牌が9種以上
  • 流し満貫あり。聴牌清算を満貫清算に代替。親の聴牌で連荘。
  • 流し満貫は、自分の河が鳴かれていない場合に成立。自分が鳴いた場合でも成立。
  • ダブロンあり。積み棒/供託は上家取り。
  • ダブロンは親が含まれれば連荘
  • 大三元/大四喜のパオあり。複合役満を含む得点を、ツモ=全額・ロン=折半で支払う。積み棒は包。
  • 四槓子のパオなし
  • 形式聴牌あり。5枚目を待つ聴牌あり(手牌=純手牌+副露手牌として純手牌で4枚使用していなければ成立)
  • リーチ宣言は得点が1000点以上でツモ巡がある場合に可能
  • リーチ宣言牌で放銃した場合は供託料は発生しない
  • 振聴リーチあり
  • リーチ後の当たり牌見逃しは以降振聴
  • リーチ後の縛りをクリアしない和了型になる牌は常に見逃し以降振聴(二飜以上縛り時)
  • リーチ後の暗槓は待ちが変わらない場合のみ。送り槓不可、牌姿や役の増減は不問。
  • オープンリーチはリーチ者以外の放銃は役満扱い
  • カンドラ/カン裏あり
  • カンドラは、暗槓は即乗り、明槓/加槓は後めくり(打牌または続く嶺上の直前)
  • 純正巡消しは発声&和了打診後(加槓のみ)、嶺上ツモの前(連続する加槓の2回目には一発は付かない)
  • 同一巡内の選択ロン和了なし(加槓牌を含む)
  • 同巡振聴の解消は打牌時、逆巡副露では解消しない。
  • 海底牌は鳴けない
  • 三連刻/一色三順/十三不塔/…なし
  • 追いつき有利は不採用

役一覧

▼=食い下がりあり / ★=門前のみ

IPアドレス関連で勉強したこと

前の記事でも書いたがgatewayあたりで混乱したので勉強しなおした. メモを残しておく.

とりあえずこれの後半をすべて読んだ.

最低限 UNIX(Linux) III - ネットワークの仕組み

資料に書いてあることまとめ

/etc/network/interfacesで設定していた項目についてコメントを入れていく.

  • address

    ネットワーク毎に割り当てられる住所.DHCPサーバーが割り当ててくれる.

  • netmask

    サブネットマスクIPアドレスのうち,どこまでがネットワーク内で共通のものなのかを表す.255.255.255.0しか見たことがない.IPアドレスの後に/24と書いて表される.

    XXX.XXX.XXX.XXX/24とYYY.YYY.YYY.YYY/24が同一ネットワークのものかを判断するときはそれぞれを255.255.255.0と論理積をとったものが一致しているかをチェックする.

  • network

    IPアドレスサブネットマスク論理積を取ったもの.いわゆるIPアドレスのネットワーク部と呼ばれるもの.残った部分はホスト部といわれる.

  • broadcast

    ネットワーク全体に発信するときに使うIPアドレス.詳しくは上の記事を参照してください.

  • gateway

    ネットワークをまとめている管理者(=ゲートウェイ)のアドレス.ネットワークの内側と外側で違う値を持つ.

ホスト部のすべてのbitが0のものと1のものは予約されているので割り当てには使えないとのこと.(特に1のものはbroadcast用らしい)

IPアドレス固定関連の設定

LAN側は大体納得がいったので設定ファイルを書いてみる.WAN側はわからなかったので Raspberry PIで無線AP+ルーターを作ってみた – XYZPlus Blog をパクった.

/etc/network/interfaces

#loopback
auto lo
iface lo inet loopback

#WAN side
auto eth0
iface eth0 inet dhcp

#LAN side
auto eth1
iface eth1 inet static
address 192.168.122.1
netmask 255.255.255.0
network 192.168.122.0
broadcast 192.168.122.255
gateway 192.168.122.1

確かに言われてみればWAN側のIPアドレスは別に固定じゃなくても大丈夫そうだよね.

DNSの設定

ネットワーク内のアクセスについてはDHCPサーバー(=Raspberry Pi)が処理する. 一方でネットワーク外のものも扱うので設定ファイルには2つ書く必要があるっぽい.

/etc/resolv.conf

nameserver 192.168.122.1 #DHCPサーバーのアドレス
nameserver 8.8.8.8 #Google DNS Server

ちなみにここには3つまでしか書けない.

あと見直すべきはdnsmasqとiptablesのマスカレード,NATの設定かな.次回へ.

Raspberry Piをルーター&DHCPサーバーにしようとしてできなかった話

自分用のログなので悪しからず.

事の発端

今まで使っていたBuffalo製のルーターが壊れたので新しいものを買うことになったのですが,違う会社のルーターも使ってみるかということでNEC製のルーターを買いました.

これが大外れでPPTPサーバーの機能はないしログ出力もない.というわけでこれはブリッジ専用機にしてRaspberry Piルーター&DHCPサーバーにすることにしました.こうすればWebサーバーにするときも楽そうだしPPTPサーバーも簡単に追加できそうですからね.

とりあえず以下のような構成にしたい.

(the Internet)
      |
      |
(Raspberry Pi)
      |
      |
(ゴミルーター)←ブリッジモード
      |
      |←無線
(PC, iPad, etc..)

…というわけでRaspberry Piのデータを全部消してあれこれやったのですがうまくいってません.以下そのログ.

初期設定

Raspbianの公式サイトにOSのイメージファイルがそのまま置いてあるのでこれをSDカードに展開します. SSHを使ってusername:pi password:raspberry でログインできるはず. SoftPerfect Wi-Fi Guardとかを使えばRaspberry PiのIPはわかる.

rootのパスを変更し,さらにユーザーを追加.visudo で追加した一般ユーザーがsudo出来るようにする.その後piは削除.SSHではrootにはアクセスできないので注意.

$ sudo passwd root
$ sudo adduser [username]
$ visudo

(new userに切り替えて)

$ sudo userdel -r pi

アップデートと必要なソフトだけインストールする.DHCPサーバーはdnsmasqを使う予定.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt install vim dnsmasq dnsutils netfilter-persistent

あれこれの設定

IPは次のようにしたい.(よくわかってない)

  • Raspberry Piのthe Internet側のIPは192.168.122.1,LAN側のIPは192.168.122.2

  • DHCPの割り当て範囲は192.168.122.10-30

とりあえずRaspberry PiのIP固定をする.

/etc/network/interface

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.122.1
network 192.168.122.0
netmask 255.255.255.0
broadcast 192.168.122.255
gateway 192.168.0.1

auto eth1
iface eth1 inet static
address 192.168.122.2
netmask 255.255.255.0
gateway 0.0.0.0

eth0がthe Internet側,eth1がLAN側(ゆくゆくはブリッジモードのルーターにつなぐ側) gatewayがよくわかってないのでここがなんか問題な気がする.要見直し.

次にiptablesの設定.

$ sudo iptables -A FORWARD -i eth1 -s 192.168.122.0/24 -m conntrack --ctstate NEW -j ACCEPT
$ sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$ sudo iptables -t nat -A POSTROUTING -s 192.168.122.0/24 -j MASQUERADE
$ sudo iptables-save
$ sudo /etc/init.d/netfilter-persistent save
$ sudo /etc/init.d/netfilter-persistent restart

dnsmasqの設定.とりあえずデフォルトの設定ファイルが長いので別のファイルも設定ファイルにするように設定.

/etc/dnsmasq.conf

conf-file=/etc/dnsmasq.more.conf

/etc/dnsmasq.more.conf

interface=eth1
dhcp-range=192.168.122.10,192.168.122.30,12h
dhcp-option=option:dns-server,192.168.122.2,8.8.8.8
dhcp-option=option:router,192.168.0.1
dhcp-leasefile=/var/lib/misc/dnsmasq.leases
log-dhcp

これ大丈夫なんですかね.logは/var/log/syslogに出るはず. 最後に起動時にdnsmasqをロードするように設定

$ sudo systemctl dnsmasq enable

参考:

dnsmasq - ArchWiki

ここまでやって再起動. eth0とthe Internet,eth1を適当なPCにつないだけどダメっぽかった. ログは読んだけどよくわからなかった.

とりあえずここまで.

LXCコンテナのネットワーク設定

友人に教えてもらいながらあれこれいじったらつながったので,やり方をまとめておきます.

使っているのはDebian jessieです.

コンテナは既に作成できているとして進めます.

ブリッジを作成する

nm-connection-editorを使いました.

(MATEの場合はパネルのシステム-設定-ネットワークの設定でもOK)

追加ボタンからブリッジを作成し,編集でIPv4のセッティングを開き,方式を手動に変更. アドレスを追加して以下のように設定.

アドレス:192.168.122.1

ネットマスク:255.255.255.0

ゲートウェイ:0.0.0.0

コンテナ側のネットワーク設定

/var/lib/lxc/myjessie/下の以下のファイルをいじります.

  • config
  • rootfs/etc/network/interfaces
  • rootfs/etc/resolv.conf

以下を追加. config:

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.ipv4 = 192.168.122.2/24
lxc.network.ipv4.gateway = 192.168.122.1

/rootfs/etc/network/interfaces:

auto eth0
# iface eth0 inet dhcp
  iface eth0 inet static
  address 192.168.122.2
  netmask 255.255.255.0
  network 192.168.122.0
  broadcast 192.168.122.255
  gateway 192.168.122.1

/rootfs/etc/resolv.conf:

nameserver 8.8.8.8

*1

ホスト側の設定

ここまでやればホストとコンテナはつながっているので*2,コンテナが外にアクセスできるようにします.

まずetc/sysctl.confの次の行のコメントアウトを削除.

#net.ipv4.ip_forward=1

その後,iptablesでNATを以下のように設定. 予めnetfilter-persistentをインストールしておくこと.

% sudo iptables -A FORWARD -i br0 -s 192.168.122.2/24 -m conntrack --ctstate NEW -j ACCEPT
% sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
% sudo iptables -t nat -A POSTROUTING -s 192.168.122.2/24 -j MASQUERADE
% sudo iptables-save
% sudo /etc/init.d/netfilter-persistent save
% sudo /etc/init.d/netfilter-persistent restart

これでコンテナから外にアクセスできると思います.

参考

以下の記事を参考にさせていただきました.ありがとうございます.

NetworkManager で仮想環境用に bridge を作成

おまけ:コンテナにpingをインストール

コンテナにpingがインストールされてなくて,困っている方も多いのではないでしょうか.コンテナのネットワークが設定できていなくても,chrootを使えばインストールできます.*3

% sudo chroot /var/lib/lxc/myjessie/rootfs
% apt-get install iputils-ping

*1:8.8.8.8はGoogleDNSサーバーです.

*2:pingを飛ばす場合はホスト→コンテナは192.168.122.2へ,コンテナ→ホストは192.168.122.1(=gateway)へ飛ばして確認します.

*3:chrootはネットワーク設定を変えないことを利用して,ホストのネットワーク設定を使ってインストールしています.

セミナー予習のやり方

なんとなく書く.参考になれば.

  1. とりあえず予習するつもりの範囲をさーっと読む.定理の証明は追わずに主張だけをみてどういう流れで何を示すのかを把握する.
  2. もう一回最初から証明も含めて読む.読んで詰まるところは?マークをつけて飛ばす.
  3. ?マークの場所を考える.1つだけに時間をかけるのではなくまんべんなく.
  4. ノートの清書とかをする.

全体の流れを掴んでから考えるほうが行間も埋まりやすくなる場合もあるし,補題や定理を考える意味がわかりやすくなって発表時の構成が考えやすいのでよいと思います.

発表時は以下の2点に気をつけてます.

  1. 最初にどういう流れで何を示すのかを説明する.聞く人は発表範囲を読んでいるのでざっくりとした説明でOK.
  2. 発表内容は基本的に全て暗記する.たまにノートを見るのはしょうがないけどずっとノート見ながら板書するのとかは避ける.
  3. 分からなかった場所をはっきりと聞く.聞くは一時のなんちゃらってやつです.

ヒーローシューターの紹介

今回は昔やっていたFPSスプラトゥーンの話をしようと思います.

自分はしばらく前にやめてしまったのですが,先日友人の家に行った時に彼のWiiUでプレイさせてもらう機会がありました.その際,自分のお気に入り武器のヒーローシューター(無印スプラシューター)が全然使われてなかったのでこの記事を書くことにしました.

元々動画を作ろうと思っていて内容は貯めてたので,それを元に書いていこうと思います.

続きを読む

pythonのパッケージのインストール

まず,Pythonのパッケージ管理システムpipをインストールする.pythonが入っていればそれを使ってインストール出来るらしい.適当な場所にhttps://bootstrap.pypa.io/get-pip.pyをダウンロード.linuxであれば

wget https://bootstrap.pypa.io/get-pip.py

でOK.

これをpythonで実行すればインストールされる.sudo権限が必要なので忘れずに.

パッケージインストールは

sudo pip install [パッケージ名]

でOK.昔はeasy_installとかなんとかやってたけど今は必要ないらしい.便利になったなあ.