清水理史の「イニシャルB」
「マインクラフト自宅サーバー」も数クリックで起動! 「TrueNAS SCALE」は最高のゲームサーバーでもあった!
7DTD、Factorio、Valheimにも対応
2023年2月27日 06:00
TrueNAS SCALEは、初めての自宅サーバーにうってつけの環境だ。NASとして使えるのはもちろんだが、コミュニティ主導のアプリカタログ「TrueCharts」を利用することで、なんと700以上の豊富なアプリを活用できてしまう。
ゲームサーバーも豊富に用意されており、数クリックでゲームサーバーとしても構成できる面白い存在だ。
TrueNAS SCALEでTrueChartsを使う
TrueNAS SCALEは、LinuxベースのNAS用OSだ。本筋のNASとして使うための詳細は、前回の記事「3.5インチベイ×5搭載のPCケース『JONSBO N1』と『TrueNAS SCALE』を使ってNASを自作する」を参照してもらうとして、今回は、より楽しむためのアプリの活用方法を紹介する。
もはやQNAPやSynologyのNASでもアプリを利用できる上、Dockerの知識があればNASで任意のアプリを活用することはさほど難しくないが、TrueNAS SCALEでは非常に数が多く、しかもゲームサーバーなども含めた多彩なアプリを利用できるのが特徴だ。
特にゲームサーバーのラインアップは多く、50本近くのタイトルをアプリとして数クリックで導入可能だ。TrueNAS SCALE自体のインストールにストレージが最低3本必要なので、そのハードルさえ乗り越えてしまえば、自宅ゲームサーバーとしても活用できる。
と言っても、標準で利用できるアプリは十数種類と少ないので、コミュニティ主導で開発が進められているTrueChartsという外部のアプリカタログを利用する。
利用方法は簡単だ。実際に利用する際は、必ずドキュメントも参照してほしいが、基本的にはTrueNAS SCALEの[Apps]の[Manage Catalogs]にカタログを追加すればいい。
カタログ名として「TrueCharts」、レポジトリに「https://github.com/truecharts/catalog」、参照先のカタログとして標準の「Stable」に加えて、「enterprise」を指定し、ブランチに「main」を指定すればいい。
TrueChartsでは、「stable」「dependency」「incubator」「enterprise」の4つのカテゴリでアプリを分類しているため、今回は、このうちの「stable」と「incubator」「enterprise」を参照する設定としている。
ビジネス用途での利用であれば「stable」と「enterprise」のみで十分だが、今回はゲームサーバーとしての可能性を検証するため、開発中を含め、より多くのアプリを利用できる「incubator」も含めることにした。たとえば、ゲームの「ARK: Survival Evolved」や「Factorio」などのサーバーなどは、本稿執筆時点(2023年2月)ではIncubatorに含まれている。
設定後、カタログの読み込みに時間がかかるので画面が自動的に切り替わるまで放置すると(右上の「Jobs」で進捗を確認可能)、追加されたカタログのアプリを利用可能になる。ただし、incubatorを追加すると、かなりアプリの一覧画面が重くなるので、必要な場合のみ追加することをおすすめする。
ゲームサーバーを動かす
それでは、実際にゲームサーバーを稼働させてみよう。と言っても、筆者はゲームにさほど詳しくないので、メジャーどころをピックアップして紹介する。Minecraft、7 Days to Die(7DTD)、Factorio、Valheimまでは、実際にサーバーとして稼働させ、LAN上のPCからマルチプレイで参加できることを確認した。
Minecraft
Minecraft関連は、java版、Bedrock(統合版)のサーバーはもちろんのこと、Minecraft用のプロキシーサーバーとなる「BungeeCord」(バージョン違いで2つ)、Minecraftサーバーを管理するための「mineos」、さらにMinecraftライクな別のゲームとなる「minetest」が利用可能だ。
これらを利用してもかまわないが、筆者が試した限りでは「crafty-4」を利用した方が簡単だった。
Java版、Bedrock版のどちらのサーバーも立てられる上、サーバータイプで「moded」を選択したり、サーバーで「forge」を選択したり、任意のバージョンを選択したりと、カスタマイズすることが簡単にできる。
ユーザー管理(管理者指定やban)も可能な上、スケジュール設定でさまざまな操作ができたり、バックアップが可能だったりと、かなり高度な設定が可能だ。Minecraft関連なら、これを利用するのがおすすめだ。
modに関しては、ファイル管理画面を利用する。「Files」を開くと、フォルダ構造が表示されるので、「mods」を右クリックしてファイルをアップロードすればmodを利用可能となる。
7 Days to Die
7 Days to Dieのマルチサーバーは、インストールすると標準設定で自動的にサーバーが稼働するシンプルな仕様となっている。標準設定のままで、とりあえずプレイするのであれば、クライアントのゲームからTrueNASのIPアドレスを指定して参加すればいい。
ゲームの内容や管理画面を利用するには、kubernetesのpodにアクセスして設定ファイルを直接変更する必要がある。
インストールしたアプリのメニューから「シェル」を選択してpodにアクセスするのだが、TrueNASの標準の管理者アカウント(adminなど)ではpodにアクセスする権限がないため、root権限でアクセスする必要がある。
セキュリティに注意して利用する必要があるが、もっとも簡単なのは、TrueNAS SCALEの「Credentials」でrootユーザーを有効化して、rootで管理画面からシェルにアクセスする方法だ。
シェルにアクセス後、「apt update」「apt install nano」などでエディタをインストールしておき、「/serverdate/serverfiles/serverconfig.xml」を編集すれば、ゲーム内容の変更や管理ウェブの有効化などが可能になる。
Factorio
Incubatorでインストール可能なパッケージ。WebUIによるサーバー管理が可能となっている。とりあえずゲームからサーバーを指定してマルチプレイを開始できることまでは確認できた。
incubatorで利用可能なゲーム
このほか、incubatorではかなり多くのゲームサーバーが用意されている。一応、紹介はするが、筆者は実際に稼働を確認していない上、ゲームもプレイしていないので、リストに存在することのみを紹介する。
- Alienswarm-reactivedrop
- americasarmy-pg
- arksurvivalevolved
- arma3
- arma3exilemod
- assettocorsa
- avorion
- barotrauma
- chivalry-medievalwarfare
- citadel-forgedwithfire
- colonysurvival
- conanexiles
- core-keeper-dedicated-server
- corekeeper
- counterstrike2d
- craftopia
- csgo
- cssource
- cstrike1-6
- cstrikeconditionzero
- dayofdefeatsource
- daysofwar
- dayz
- dontstarvetogether
- eco
- factorioservermanager
- factorio
- fistfuloffrags
- garrysmod
- halflife2deathmatch
- hurtworld
- insurgencysandstorm
- lastoasis
- left4dead
- longvinter
- memories-of-mars
- mordhau
- necesse
- neverwinternights-ee
- pavlovvr
- pixark
- postscriptum
- pvk-ii
- rust
- stationeers
- survivethenights
- terraria-tshock
- theforest
- unturned
- urban-terror
- valheim
- v-rising
問題は外部のアクセスを受け入れるための設定
以上、TrueNAS SCALEでTrueChartsを利用し、ゲームサーバーを稼働させる方法を紹介した。非常に多くのゲームサーバーが存在するため、正直、把握しきれていないが、Minecraftなどは、Crafty Controllerを利用することでかなり簡単にサーバーを構築できるので、家族や友人とプレイするのに活用するといいだろう。
ただし、これらはLAN内で利用する分には問題ないが、インターネットからのアクセスを受け付けられるようにするには課題が多い。簡単なのはルーターのポートを開放することだが、セキュリティ上の問題があるので、安易に開放することはおすすめできない。特にMinecraftサーバーは、昨年末に報道された「MCCrash」などDDoS攻撃の標的になりやすい。
また、IPoE IPv6系のサービスでは、IPv4で利用可能なポートが限られるため、サーバー自体を公開することが難しい。IPv6でつなぐか、ngrokなどを使う手もあるが、こちらもポートが解放されることは同じなので、セキュリティには注意が必要となる。
HTTPやHTTPS接続であればcloudflareを使うのがセキュアで手軽だが、ゲームの場合、任意のTCPポートで公開してもアクセスできないケースが多いうえ、WARPクライアントでPrivate Networkアクセスする際にゲームの認証で失敗するケースがある(特にMinecraftのXboxアカウントサインイン)。
このあたりは工夫が必要そうなので、現在、筆者もいい方法がないかを探している最中だ。いずれにせよ、TrueNAS SCALEは、かなり簡単にゲームサーバーとして利用できるが、実際の運用は慎重にすべきだろう。