2025年6月11日水曜日

Raspberry pi でLilithPortのサーバを建てよう

Raspberry pi でLilithPortのサーバを建てることができたのでやり方をまとめてみました。 



0.回線サービスがポート開放可能かを確認

 プロバイダからグローバルIPアドレスが割り当てされていない回線はユーザ側でポート開放できないです。デフォルトゲートウェイのIPアドレスをブラウザに入力してもログイン可能なルータがない、アクセス権がない場合はポート開放ができない可能性が高いです。
 もしわからない場合は、プロバイダから提供された契約資料やサポートに問い合わせるのが確実かと思われます。

 使用している回線サービスがポート開放できないけど何が何でも鯖立てしたい人は、回線を新規で契約するか「マイIP・マイIP ソフトイーサ版」みたいなサービスを利用すればできるかも?

1.前準備

前記事『Raspberry pi 5でヴァンガードプリンセス(格ツク2nd)を遊んでみよう』のNET Framework 3.5 の導入まで設定してください。

2.Raspberry pi のポートを開放する

[1]ファイアウォールをインストールする

下記のコマンドでファイアウォールをインストールしてください。
sudo apt install ufw

[2]ファイアウォールの有効化

下記のコマンドでファイアウォールを有効にしてください。
sudo ufw enable

[3]開放ポートの設定

下記のコマンドで開放したいポート番号を指定してください。(例:90番ポートの場合)
sudo ufw allow 90

[4]ステータスの確認

下記のコマンドで指定したポートが開放されているか確認できます。
sudo ufw status

[5]設定を適用

下記のコマンドで設定を再読込して適用します。
sudo ufw reload

[その他コマンド]

・ファイアウォールの無効化
 sudo ufw disable
・ファイアウォールをリセットして無効化
 ⇒設定間違ったとき用
sudo ufw reset
・ポートの閉鎖
sudo ufw delete allow 90

2.Raspberry pi のMACアドレスとIPアドレスを確認

下記のコマンドでMACアドレスを表示させます。有線LANの場合は、「eth0:  link/ether」のあとに、無線LANの場合は「wlan0:  link/ether」のあとに表示されます。ルータ側で設定する際の端末識別で使用するのでメモしてください。
ip a

下記のコマンドでIPアドレスを表示させます。有線LANと無線LANを同時に繋いでいる場合は2つIPアドレスがでてきます。ルータ側の設定で使用するのでメモしてください。

hostname -I

3.ルーター側の設定

DHCPサーバ機能の設定

DHCPサーバー機能を使用して、該当のMACアドレスをもつRaspberry piに常に同じIPアドレスを割り振るようにします。画像はとあるルータの設定画面になりますが、「IPアドレス」「MACアドレス」の欄に先ほどメモしたアドレスを入力して保存してください。


ポート変換設定

ルータによって設定画面等が異なります。プロトコルの場所に「UDP」「使用するポート番号」を入力してください。IPアドレスの箇所は、「Raspberry piのIPアドレス」を入力してください。


その他

今回、ルータ側でラズパイのMACアドレスでIPアドレスを付与していますが、ラズパイのIPアドレスを固定すればDHCPサーバの設定が不要になります。

完了

これで外部からサーバにアクセスできるようになったと思います。もしできない場合は、回線環境(2重ルータ問題など)や設定を見直してみてください。

ラズパイでLilithPortサーバを建てるメリット・デメリット

最後にラズパイで鯖立てして感じたメリットとか

メリット

・軽量でコンパクト

 ⇒手のひらサイズなので置き場所に困らないです。

・運用コストが低い

 ⇒自宅のインターネット代とラズパイの電気代しかかからないです。
仮にRaspberry piを常にスペック限界まで稼働させた状態の消費電力を計算すると
「(5V×5A) / 1000 ×24H×30Day×31円 = 558円」となります。
自分はサーバ屋さんのWindows ServerのリモートデスクトップサービスでLilithPortのサーバを運用していますが月々の料金と比較するとかなり格安に感じます。

・外出先でも操作ができる

 ⇒Raspberry Pi Connectというサービスを使用すれば外出先から端末の操作をすることができます。出先でサーバが落ちてしまったときや設定を変更したいときに便利です。

・拡張性やアクセサリーが豊富

 ⇒SSD取付キットやカメラモジュールキットとかオーディオキットとか色々なものがあります。個人的にはケースの種類が豊富なのが嬉しい。

・インターネットに情報がたくさんある

 ⇒インターネットをみるとメールサーバやマイクラサーバやNAS化したりとか色々な使い方があるのでやりたいことや困ったことがあっても調べればなんとかなります。

デメリット

・火事のリスク

 ⇒24時間365日連続稼働させるとなると多少のリスクはあるかも

・セキュリティ問題

 ⇒レンタルサーバであればサーバ屋さんがある程度のサイバー攻撃の対策をしてくれますが、自宅サーバの場合は自分で対策をしないといけません。普段使いの回線でゲームサーバを運用した場合、ゲームサーバ向けのDDos攻撃があると速度低下等の被害が発生します。対策はできますが実施するのに知識が必要になります。




2025年6月7日土曜日

格ツク対戦サーバ@Raspberry piについて

ラズパイ環境で稼働テスト中 


格ツク対戦サーバ@Raspberry pi(LilithPort v1.08)

    Address: MzUwOTc3MTI=:7500


配信:https://www.youtube.com/@itomo1357/streams

    



2025年5月29日木曜日

Raspberry pi 5でヴァンガードプリンセス(格ツク2nd)を遊んでみよう

 Raspberry pi 5でヴァンガードプリンセス(格闘ゲームツクール2nd)を動かしてみました。



準備するもの

・Raspberry pi 5
・マイクロSD(速度求めるならSSD+取付キット)
・TYPE-C電源(5V3A)
・MicroHDMI
・マウス,キーボード

SDカードにOSをインストール

マイクロSDへOSを書き込むのに「Raspberry Pi Imager」を使用します。公式サイトでプログラムが配布されているのでインストールしてください。今回自分は、「Raspberry pi OS」を選択しました。


【関連リンク】

SDカードをRaspberry piに差し込み起動

OSを書き込んだSDカードをRaspberry piに入れて起動すると自動でOSが立ち上がります。
初期設定をいろいろやってデスクトップ画面にいってください。

Pi Appsのインストール

Windowsアプリを動かすために「Wine」「Box86」をインストールしますが手順が面倒なので「Pi Apps」経由でこの2つをインストールさせます。
まずはじめに、Pi Appsをインストールします。サイトにある「Install Now」をクリックするとインストールコマンドが表示されるのでこのコマンドを実行してください。

wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash

【関連サイト】

WineとBox86のインストール

Pi Appsを起動し、検索窓で「Wine」と検索しでてきたら「Install」をクリック。途中で「4K PageSize karnelと16K PageSize karnel」について聞かれるので「Yes」をクリック。
Box86も同様の方法でインストールしてください。

ジョイスティックを使えるようにする

下記のコマンドでjoystickのインストールをします。
sudo apt-get install joystick
動作の確認をするには下記のコマンドで動作確認用のGUIをインストールします。
sudo apt-get install jstest-gtk

日本語フォントの導入

Wineのインストールが完了すると「Winetricks」も一緒にインストールされていると思います。今の状態だと日本語のフォントがないためWinetricksを使用して、CJKフォントをインストールします。インストールが完了したらWineまたはRaspberry piを再起動してください。
winetricks cjkfonts

Fcitx、Mozcのインストール

日本語入力ができないので下記のコマンドでインストールし再起動。

sudo apt update
sudo apt install fcitx-mozc -y

Visual C++ ランタイムのインストール

「Wine Program Maneger」を起動するとランタイムなどの一覧がでてきます。その際に「Visual C++ 2008」がなければ下記のコマンドでインストールする必要があります。インストールしたら再起動してください。
winetricks vcrun2008

Wineでゲームを起動

「Wine Program Maneger」を起動して「インストール」を押すとファイルエクスプローラーが表示されます。ファイルの種類を「プログラム(.exe)」にしてゲーム実行ファイルを選択するとゲームが起動します。

-とりあえずここまでで設定すれば格ツクは動きます。LilithPortを動かす人は下記の設定も


NET Framework 3.5 ランタイムをインストール

3つのランタイム「.NET Framework 3.5(dotnet35)」「.NET Framework 4.0(dotnet40)」
「.NET Framework 4.8(dotnet48)」がありますがLilithPortで使用するのが「3.5」なので下記のコマンドでインストールしてください。インストール失敗がでますが、「Wine Program Maneger」を起動すると「2.0と3.0」が追加されていることが確認できます。
winetricks dotnet35
pic.接続成功

LilithPortでサーバを建てる

ポート開放等の手順があるので別記事の「Raspberry pi でLilithPortのサーバを建てよう」をみてください。

問題点とか対策とか

~格ツク2nd起動時の問題と対策~
・CPUやメモリに余裕があるのにウインドウモードだと画面がかくついてしまう

⇒FullScreen→Window Size 1×1→ウインドウをマウスで小さくする→Window Size 1×1 にすると画面のかくつきがなくなって快適に遊べる。

・フルスクリーンモードにすると画面端に1×1サイズで表示されてしまう。
⇒解決方法不明。画面のかくつきなく遊べるのでフルスクリーンできれいに表示できれば最高。

筆者は、モニタの解像度を800×600に下げてゲーム画面を大きくしてプレイしています。

pic.筆者のプレイ環境

~LilithPort使用時の問題と対策~
・文字化けが発生してしまう
⇒日本語フォントを導入別の方法で設定すれば直るかも?

pic.LilithPortの文字化け
pic.LilithPortの文字化け

感想

Raspberry pi 5で格ツクを実行してみたけど、CPUとメモリには余裕があるのに互換性?の問題で工夫しないと画面にかくつきが発生してしまうのが惜しいところ。ユーザ側の設定やソフトのアップデートやRaspberry pi自体の性能の向上で解決しそうだと思いました。

ウインドウモードのかくつきは「FullScreen→Window Size 1×1→ウインドウをマウスで小さくする→Window Size 1×1」 にするという手順を踏めば解決します。ひと手間必要だけどゲームは快適に動くので個人的には現段階で十分に遊べるレベルにはなっていると思いました。