Windows10を自宅サーバーにしてQuoridorn コリドーンを動かす

自分のパソコンをサーバーにして起動してるときだけセッションしたい。というかローカルで遊びたいだけ。
以下の記事を目指します。
Quoridorn Mark2 を自宅サーバーに設置(Ubuntu + Nginx)

Windows10でUbuntsを動かす

よくわかんないけどUbuntsはLinuxのようなのでまずこちらの記事を参照にしました。
【Windows10】WSL2(Windows Subsystem for Linux Version2)で「Ubuntu 20.04 LTS」を使う

再起動後にスタートメニューからUbuntsのアイコンクリックで起こします。初回起動は結構長いので気長に待つ。
英語で新規ユーザー名を求められるので適当にユーザー名いれてエンター、適当にパスワード決めて入れてエンター、パスワードもう一度入れてエンター。ユーザー名とパスワードはどっか適当に控えておきます。

WSLのUbuntu環境を日本語化する
に従って日本語化。
viとかいうエディタがちょくちょく出てくるよ。使い方→viの基本操作



Quoridorn Server を設置

Quoridorn Mark2 を自宅サーバーに設置(Ubuntu + Nginx)
Quoridorn-mark2の雑な導入手順
Quoridorn-mark2の雑な導入手順(a80~差分)
公式とここらへんの指示に従います。
Win10のUbuntsは右クリックで文字をペーストできるみたいです。
上手くいかないと頭に赤いEがついた行が出ます。エラーだ!

下準備

Mongodbインストール。

Ubuntu 20.04にMongoDBをインストールする
mongo と打って「Welcome to the MongoDB shell.」が含まれる文字列が出たら多分インストールできてます。exitするとbyeと返ってくるはず。
ダメなときは
UbuntuからmongoDBをアンインストールする
でやり直し。
1個のターミナルで起動してもう1個新規ターミナルで操作する感じ。

Nodejsをインストール。

Ubuntuに最新のNode.jsを難なくインストールする
とか参考。エラーが出たら
【備忘録】npm -g install に失敗する
とか
npm installでエラーが出た時にとりあえずやってみること
を見る。
あと
npm install -g @vue/cli n
しとく。

nginxをインストール。


Nginx : インストール

Dockerというのが必要らしい。
Ubuntu20.04にdockerをインストールする
とか
【WSL2】systemctlが動かない問題をきちんと解決する
make install動かなかったからsudo apt-get install geany)とか
Ubuntu に .NET Core SDK または .NET Core ランタイムをインストールする
あたり。
Ubuntu19.04でdocker-ceのインストールでつまづくときのメモ(2019年の5月時点)
とか
Ubuntu 用 Docker CE の入手
とかも。

こちらはポートの話。
WSL2をインストールしてWindowsでUbuntuを使う方法-WSL2の設定
Ubuntu ファイアウォールの設定と確認の仕方(初心者向け)

sudo service docker start」「sudo docker run -ti --rm -p 80:80 nginx」するとブラウザでhttp://localhostが反応する。
WSL2上のサーバーに外部からアクセスする

WSL2+MongoDB+Nginxをするには
①WSL2で
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=0.0.0.0
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=172.x.xx.xxx
②Ubuntuで
sudo service docker start
sudo docker run -ti --rm -p 80:80 nginx

③Ubuntuをもう一個ひらいて
新しい窓でmongod
サーバー止めるには②と③についてCtrl+C



minioをインストール

Ubuntu 16.04でMinioを使用してオブジェクトストレージ 
よく分からないけどsystemdが動かないよー。
WSL2のUbuntuでsystemdとsnapdとLXDとdockerを動かしてみた
Windows 10 ローカルに AWS S3 のクローン(minio)を手軽につくる
MinIOでローカルにS3みたいなものを作って開発する
動いたー。
起動はsudo ./minio server /root/minio_data


本題

Quoridorn-Server をインストール


公式をよく読もう。
エラーがでるようならnpmに権限ないよって怒られてるらしいので sudo npm install -g と打って解決。なにこれこわい。
npm installでError:EACCESがでたら

sudo つけてconfig/server.yamlを編集。
sudo npm install bcryptする。
sudo npm run node-serverしてQuoridorn Server is Ready. がでた!
バックグラウンドでサーバー立ち上げることもできるらしいけどとりあえず疲れたのでそこは保留。



Quoridorn Mark2 を設置

公式をよく読もう。
buildの時にpython2が入ってないよっていうっぽいエラー。
なので、sudo apt install -y python2した。それからsudo npm install --save-dev node-sassする。あとこれも追加。sudo npm install style-loader css-loader --save-devも追加。node-sassがうまく入らなかったので
Ubuntuにnode-sassを入れようとしたらつまづいた話
を参考に。

あと
「E: ロック /var/lib/apt/lists/lock が取得できませんでした 」
とか言われたらsudo -rf rm /var/lib/apt/lists/locksudo -rf rm /var/lib/dpkg/lockする。
[Ubuntu][apt] /var/lib/apt/lists/lockが不正な状態になった場合の対応メモ
出来なかったらsudo chown (ユーザー名) (ディレクトリ名)sudo chmod 777 (ディレクトリ名)を先にしてみる。(777はやりすぎ??)

起動する

http://localhost/
chrome→背景色だけ出てきて動かない
Edge→ちょっとボックス?がみょーんってなるけど動く!ぺんぎんかわいい
その他のブラウザ→未検証
localhostじゃなくて同卓者を招待する→どこかのサーバー借りて建てるなりポート開放するなりしよう。疲れた…。長かった。満足。



…で、結局どうやって遊ぶの?


①WSL2で
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=0.0.0.0 (エラー出ても気にしなくていい)
ipconfigしてイーサネットアダプターのIP04アドレスを見つける
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=172.x.xx.xxx(見つけたIPアドレス)
②Ubuntuで
sudo service docker start
sudo docker run -ti --rm -p 80:80 nginx

③Ubuntuをもう一個ひらいて
新しい窓でmongo
④Ubuntuをもう一個ひらいて
sudo ./minio server なんか相応しいディレクトリ名
⑤Ubuntuをさらにもう一個ひらいて
新しい窓でquoridorn-serverディレクトリに行って
sudo npm run node-server
⑥ブラウザにIPアドレスを入れる。
http://localhost/




トラベラーという昔のSFRPGのソロジャーナル化を頑張っています。印刷代の足しにしてやるぜ!という嬉しい方がいましたらメンバーシップ入って頂けると喜びます。