サークルの雀荘ルール
ルールまとめ
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アドレス.詳しくは上の記事を参照してください.
-
ネットワークをまとめている管理者(=ゲートウェイ)のアドレス.ネットワークの内側と外側で違う値を持つ.
ホスト部のすべての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
参考:
ここまでやって再起動. 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
ホスト側の設定
ここまでやればホストとコンテナはつながっているので*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つだけに時間をかけるのではなくまんべんなく.
- ノートの清書とかをする.
全体の流れを掴んでから考えるほうが行間も埋まりやすくなる場合もあるし,補題や定理を考える意味がわかりやすくなって発表時の構成が考えやすいのでよいと思います.
発表時は以下の2点に気をつけてます.
- 最初にどういう流れで何を示すのかを説明する.聞く人は発表範囲を読んでいるのでざっくりとした説明でOK.
- 発表内容は基本的に全て暗記する.たまにノートを見るのはしょうがないけどずっとノート見ながら板書するのとかは避ける.
- 分からなかった場所をはっきりと聞く.聞くは一時のなんちゃらってやつです.
pythonのパッケージのインストール
まず,Pythonのパッケージ管理システムpipをインストールする.pythonが入っていればそれを使ってインストール出来るらしい.適当な場所にhttps://bootstrap.pypa.io/get-pip.pyをダウンロード.linuxであれば
でOK.
これをpythonで実行すればインストールされる.sudo権限が必要なので忘れずに.
パッケージインストールは
sudo pip install [パッケージ名]
でOK.昔はeasy_installとかなんとかやってたけど今は必要ないらしい.便利になったなあ.