回線の調子が悪いので,久々に少しゲームを遊んでみようかと思いLinux版Steamを起動して「Life is Strange 2」の冒頭を遊んでみましたが,「Life is Strange – Episode 1」も無料のようなのでこれを先に遊んだほうがいいかな?と起動すると2で使えていた日本語が選べないようです.
Winows版の言語パックはあるようなのでどうにかならないかなと試してみました.
タグ: steam
SteamのOSごとのアプリケーション数を確認してみる
あるPodcastでSteamのLinuxアプリは1割位ではという話があったのですが,そんなに少なくないだろうでもどのくらいだろう?と実際のところ知らなかったので確認してみました.
確認にはSteam検索の検索結果を使いました.
https://store.steampowered.com/search/
こんな感じのscriptを用意して,
#!/bin/bash
# Steam検索
# https://store.steampowered.com/search/
# ignore_preferences=1 個人設定に基づいたタイトルの除外の無効化
# https://store.steampowered.com/search/?ignore_preferences=1
# Windowsの検索
# https://store.steampowered.com/search/?ignore_preferences=1&os=win
# Mac OS Xの検索
# https://store.steampowered.com/search/?ignore_preferences=1&os=mac
# SteamOS + Linuxの検索
# https://store.steampowered.com/search/?ignore_preferences=1&os=linux
SERCH="https://store.steampowered.com/search/?ignore_preferences=1&os="
OSTYPE=("all" "win" "mac" "linux")
MATCH="results match your search."
declare -A COUNT
for OS in "${OSTYPE[@]}"
do
COUNT[$OS]=$(LC_ALL=en_US.UTF-8 w3m -dump "$SERCH$OS" | grep "$MATCH" | cut -f1 -d' ' | tr -d ,)
echo $OS,${COUNT[$OS]},$(awk "BEGIN { print ${COUNT[$OS]}/${COUNT[all]}*100 }")%
done
実行します.
$ bash ~/src/steamcount.bash
all,79831,100%
win,79654,99.7783%
mac,25443,31.8711%
linux,15673,19.6327%
Linuxの検索結果は15673本で,全体の19.6%でした.もっと多いと思いましたが案外少ないですね.
恐らく検索する範囲を近年にしたり,Windows用のアプリケーションをLinux環境で動かすProtonに対応したアプリケーションも入れるともっと多くなるのではないかと思うのですが,Steam検索ではその検索方法がわかりませんでした.
ちなみに以下は2015年3月の記事ですが,この記事によると2013年には50本,2014年に500本,(恐らく)2015年3月には1004本.このときに比べると現在の15673本というのはすごく増えている感じです.
SteamがこのLinuxベースのゲームOSをローンチしたのは2013年で、そのときはわずか50のゲームがあり、1年後には500タイトルに達した。今現在、ゲーム数は1004で、DLCなどのダウンロードするコンテンツや拡張パックも含めると1835になる。
新しいゲームならLinux対応が多いと思いリリースが新しい順にソートしてみるとWindowsのみ対応のアプリが多いですね.今見ると最新から14本はWindowsのみ対応.15本目にやっとWindows/Mac/Linuxに対応したゲームがでてきました.
Windows専用アプリケーションでもLinux版SteamのProtonで動かせたり,Protonで動かないのもでも別途Wine経由で動かせるものもあります(Lutrisを使うと便利).
関連記事
KeePassXC の Steam TOTP を試す
Steam ガードというスマートフォンアプリを使ったValve独自TOTPな多要素認証があります.これは通常のTOTP(rfc6238)と違い独自実装で数字だけではなくアルファベットも利用しているのでOATH ToolkitやGoogle Authenticatorでは認証できません.
Steam ガードのTOTPはValve独自ですが一応いくつかの実装はあります.(未検証)
KeepassXC にも TOTP(KeePassXC 2.2.0以降)と Steam ガードの TOTP(KeePassXC 2.3.0以降)がサポートされています.今回これを試してみました.
a generator for time-based one-time passwords (TOTP)
Add support for Steam one-time passwords [#1206]
しかし,これらを試すにはSteam Guard Mobile Authenticatorを設定したスマートフォンの中からTOTPの秘密鍵を入手する必要があります.以前のAndroidではadb backup するだけで鍵の書かれたファイルが入手できていたらしいのですが現在は暗号化されていてこの手順では入手できないようです.
GitHubにAPKにpatchするscriptが公開されていたのでまずはこれを試してみました.
これがうまく行けば以前のようにadb backupが出来るようになるはずです.しかし,バージョンの問題か失敗しました.
別の方法としてAndroidのroot取得済み端末にSteam Guard Mobile Authenticatorを導入してこちらの端末を有効にして秘密鍵を取得しました.
$ adb shell #Android shellを起動してファイル名を確認 1|shell@MK16i:/ $ su root@MK16i:/ # ls -l /data/data/com.valvesoftware.android.steam.community/files/ -rw-rw---- u0_a59 u0_a59 448 2018-08-31 22:25 Steamguard-76561198085918260 root@MK16i:/ # exit root@MK16i:/ $ exit #AndroidからexitしてPCに戻る $ adb root #rootになる $ adb pull /data/data/com.valvesoftware.android.steam.community/files/Steamguard-76561198085918260 #ファイル取得 $ adb kill-server #adb server終了 $ file Steamguard-76561198085918260 Steamguard-76561198085918260: ASCII text, with very long lines, with no line terminators $ lv Steamguard-76561198085918260 $ jq .uri Steamguard-76561198085918260 | sed -e 's/^.*=\(.*\)&.*$/\1/' #鍵表示 OXYBZQLEOB7KKFAPERMN8EGNOLJWEDYZ $ shred -uz Steamguard-76561198085918260 #ファイル消去
取得した鍵をKeePassXCに登録してみます.
Steamの設定上で右クリック,「タイムベースワンタイムパスワード」→「TOTP の設定…」から「キー」に設定します.
登録した後Steamの設定上で右クリック,「タイムベースワンタイムパスワード」→「TOTP を表示」でトークンが表示できます.
Androidスマートフォンアプリと見比べてみると同じトークンが表示され,Steamにもloginできます :)
Steam Guard Mobile Authenticatorは同時に1端末しか登録できず,2台目を設定すると1台目の端末の鍵が無効にされます.なのでKeePassXCを利用する場合はroot端末と併用するか,root端末から消してKeePassXCのみで運用するしかなさそうです.
いいえ、ひとつのアカウントで一度に有効化できる認証機器はひとつだけです。
もう一つ問題が.KeePassXCにはcli版が同梱されているのですが,バージョン2.3.4時点ではTOTPのオプションが見当たりません.GUIのみの利用となりそうです.
$ keepassxc-cli -h Usage: keepassxc-cli [options] command KeePassXC command line interface. Available commands: add Add a new entry to a database. clip Copy an entry's password to the clipboard. diceware Generate a new random diceware passphrase. edit Edit an entry. estimate Estimate the entropy of a password. extract Extract and print the content of a database. generate Generate a new random password. locate Find entries quickly. ls List database entries. merge Merge two databases. rm Remove an entry from the database. show Show an entry's information. Options: -h, --help Displays this help. -v, --version Displays version information. Arguments: command Name of the command to execute. $ keepassxc-cli -v 2.3.4
$ dpkg-query -W keepassxc keepassxc 2.3.4+dfsg.1-1 $ lsb_release -d Description: Debian GNU/Linux unstable (sid) $ uname -m x86_64
SteamにWineの機能が加わったらしいので少し試す
ゲーミングプラットホームのSteamにLinux版のクライアントもあります.これにWindows版のゲームが遊べるようになる機能がベータ版に加わったらしいです.これはWindows互換レイヤーのWineにSteamを作っているValveSoftwareがゲーム向けの機能に手を加えたProtonというものを組み込んで実現しているようです.
今の所Wineで動作するものという括りではなく,Valveが指定したタイトルだけが動作するようです.
#設定で全てのゲームで有効にすることが可能だった.
動作するゲームのリストは以下のアナウンスページで確認できます.今の所27タイトルのようです.(これを知っていれば先日のセールでDOOMを……)
ということでベータを有効にして試してみました.
ベータへの参加を有効にします.
Steamの再起動を行います.
ベータ版がダウンロードされ,起動します.
対応のDOOMのデモ版を試してみようと思いましたが,デモの方はまだ対応していないようで駄目でした.
対応リストの中の「Doki Doki Literature Club!」は無料のようなのでこれで試してみます.
ページを開くとアイコン上はWindows/Macのみの対応ですが,「ゲームをプレイ」ボタンが有効になっています.そのまま通常の導入手順でダウンロードとインストールが始まり正常終了しました.
ライブラリに登録されました.見た目はネイティブのものと同じです.
そして普通に起動します.
起動中のプロセスを確認すると特にwineやprotonと名前の付いたプロセスは見当たらずSteamに組み込まれているように見えます.
追記)
「Doki Doki Literature Clug!」にはもともと`~/.steam/steam/steamapps/common/Doki\ Doki\ Literature\ Club/DDLC.sh`というshell scriptがあり,Steam Play を通さなくてもLinuxで動作するようです.
「FSteam:Fallout Shelter」で試すと,以下のようにそれらしいプロセス経由で動作しています.(うまく起動しないけど)$ pstree -n 31976 bash─┬─bash───steam─┬─22*[{steam}] │ ├─steam───sh───steamwebhelper.───steamwebhelper─┬─21*[{steamwebhelper}] │ │ ├─steamwebhelper─┬─steamwebhelper───13*[{steamwebhelper}] │ │ │ └─steamwebhelper───12*[{steamwebhelper}] │ │ └─steamwebhelper───6*[{steamwebhelper}] │ └─SteamChildMonit───sh───python2.7───wineserver └─tee $ ps aux| grep -i wine matoken 1842 0.0 0.0 4240 940 pts/5 S+ 15:25 0:00 grep -i wine matoken 3005 0.2 0.0 55596 13052 ? Ss 14:53 0:04 /home/matoken/.local/share/Steam/steamapps/common/Proton 3.7/dist/bin/wineserver matoken 3012 0.0 0.2 2078348 37364 ? Sl 14:53 0:00 C:\windows\system32\winedevice.exe matoken 3028 0.3 0.2 2144476 39268 ? Sl 14:53 0:06 C:\windows\system32\winedevice.exe matoken 9450 0.0 0.2 1947276 35808 ? Sl 14:30 0:00 C:\windows\system32\winedevice.exe matoken 9464 0.3 0.2 2013404 37772 ? Sl 14:30 0:10 C:\windows\system32\winedevice.exe matoken 22254 0.0 0.2 2078348 38144 ? Sl 14:40 0:00 C:\windows\system32\winedevice.exe matoken 22270 0.3 0.2 2144476 39424 ? Sl 14:40 0:08 C:\windows\system32\winedevice.exe matoken 32709 0.0 0.1 45432 25808 ? S 15:23 0:00 /home/matoken/.local/share/Steam/steamapps/common/Proton 3.7/dist/bin//wineserver -w $ ps aux| grep -i proton matoken 1916 0.0 0.0 4240 936 pts/5 S+ 15:25 0:00 grep -i proton matoken 3005 0.2 0.0 55596 13052 ? Ss 14:53 0:04 /home/matoken/.local/share/Steam/steamapps/common/Proton 3.7/dist/bin/wineserver matoken 32707 0.0 0.1 41048 24736 ? S 15:23 0:00 /bin/sh -c '/home/matoken/.local/share/Steam/steamapps/common/Proton 3.7'/proton waitforexitandrun '/home/matoken/.local/share/Steam/steamapps/common/Fallout Shelter/FalloutShelter.exe' matoken 32708 0.0 0.0 52044 14352 ? S 15:23 0:00 python2.7 /home/matoken/.local/share/Steam/steamapps/common/Proton 3.7/proton waitforexitandrun /home/matoken/.local/share/Steam/steamapps/common/Fallout Shelter/FalloutShelter.exe matoken 32709 0.0 0.1 45432 25808 ? S 15:23 0:00 /home/matoken/.local/share/Steam/steamapps/common/Proton 3.7/dist/bin//wineserver -w
少し遊んだ感じでは特に違和感なく遊べています.(が,1時間ほどしか遊んでいないところでSSDが壊れてそれ以上は試せていません><)
なお,「Doki Doki Literature Clug!」は英語版しかありませんが,有志による日本語化パッチが提供されているので日本語化して遊んでも良さそうです.
追記)
以下の「Enable Steam Play for all titles」でWindows用のタイトルが全てProtonで起動できるようにできました.ただし実際に動作するかどうかはゲーム次第です.いくつか試してみましたが,Lutris経由のWine Steamで遊べるゲームでも動かなかったりしました.(Montaroとか)
今回のSteamベータで対応していないものでWineで動作するゲームはLitrisでWine Steamを使うのもお手軽でおすすめです.
Mountainから山が消えて困る
Steamは今日からサマーセールですが,なんとなく久々にSteamのMountainを起動すると山が居ません.
本来なら宇宙の中にこの靄に囲まれた山があるはずなんですが居ません.キーを叩くとピアノが弾けるはずなのですがこれも無反応..
で山の意思は聞こえます.
コミニュティガイドを見ながら以下のあたりを試そうとするもピアノが弾けないせいか反応がありません.
リセット : SBN,ASSSS
山を作り直す。(今の山は消滅する。)隠しメニュー : FS,N,SFS,N,S,
山の年齢や木の数などが見られる。
LOADで事前にセーブした時点の山まで戻ることができる。
REGENは山を作り直す。
多分データがおかしくなったのだろうとアンインストールしてインストールし直しても駄目です.Windows/Macでは以下のような情報が.
データの初期化方法
山がバグってどうしようもなくなった人が居たので(山を破壊するコマンドも無意味だった)データ初期化の方法を記しておきます。Windows: C:\Users\USERNAME\AppData\LocalLow\Trash\Mountain
Mac: Users\Library\Caches\Unity.Trash.Mountainにあるファイルを削除すれば初期化することができます。
find
コマンドの-mmin
で~/.steam
, ~/.config
辺りを探してみるとそれらしいディレクトリを発見.
'~/.config/unity3d/David OReilly'
このディレクトリを退避してみましたが変化はありません.
SteamのMountainのプロパティを見てみると,「アップデート」タブに「Steam クラウド」という項目がありました.
このチェックを外して,'~/.config/unity3d/David OReilly'
を削除してみたところ初期状態になりました!
そして新しい山が作れました :)
てことで山を眺めることが出来るようになりました.
Mountainが気になる人は7/6迄サマーセール49% offで50円なので気になる方は買ってみてはどうでしょう.操作はコミニュティガイドの日本語を読むと良いです.Linux版もあるのでWineSteamとかを挟まなくても遊べます.
SteamのアプリがAndroidでリモートプレイが出来るSteam Linkを試す
AndroidでSteamのホームストリーミングで遊べるSteam Link
というアプリが公開されていたのでちょっと試してみました.
先ずはPCのSteamでホームストリーミングを有効にしておきます.
firewallはこの辺りを参考に空けておきます.
ホームストリーミングだけならこの辺?
UDP 27031 and 27036 (incoming, for In-Home Streaming)
TCP 27036 and 27037 (incoming, for In-Home Streaming)
PCでSteamを起動した状態でAndroidのSteam Link
を起動したらPCが見つかりました.しかしネットワークテストがいまいち.Wi-Fiが2.4GHz 11gの54MbpsでHostのPCもClientのAndroidも同じAPなのでこのままでは無理がありますね…….
とりあえず強行してみるとHostPC側では動いていますが,Androidでは表示が崩れてこんな感じ.
ちなみにHostPCはCore2DuoかつGPUもCPUのものなのでかなりスペック低いのでそのせいもありそうです.
近いうちに回線は有線1GHz+Wi-Fi 300Mbpsの環境で試してみようと思います.
このアプリケーションはPCのHost側もゲーム画面を表示してそれをAndroidに転送して動いているのでPCで別の作業をするという向けには使いづらい感じです.もし併用するなら仮想画面や別モニタに別のXを動かすとかしないといけないと思います.
とはいえAndroidでSteamゲームが遊べるのは便利そう.それにまだBETAなのでもっと良くなるでしょう.
iOS版はblockされたようです(◞‸◟)
Debian の Steam が起動しなくなったので調べる
Debian stretch testing amd64 で steam:i386
パッケージで導入した Steam が起動しなくなっていました.
端末で直に叩くとこんな感じで怒られていました.
PATH から ~/usr/local/bin
を抜くとOK
PATH を /home/user/usr/local/bin
としてもOK
てことで ~/.profile の ~ を $HOME に書き換えました.
とりあえずこれで動くようになりました.
Steam では最近は Unturned とかで遊んでいます.最近は Linux で動くゲームも増えて嬉しいです :)