Diarkis サーバーを Windows 環境で起動する
はじめに
Diarkis サーバーを Windows バイナリとしてビルドして動かすこともできます。
これにより、Windows マシン上で開発するクライアントエンジニアが WSL なしで Diarkis サーバーを動作させることが可能となり、開発作業の効率化に役立てる事ができます。
ただし、本番環境での利用は想定していないので、ローカル環境や開発環境での利用にとどめてください。
動作環境
2025-07-17 現在、以下の環境での動作を想定しております。
Windows 10/11
Go 1.24 以上
(git でリポジトリを close する場合は git)
手順
必要なツールのインストール
Go 1.22 以上をインストールします。https://go.dev/doc/install
scoop などのパッケージマネージャーを使ってインストールすることも可能です。
> scoop install goDiarkis Server Template のインストール
リポジトリをクローンする場合
https://github.com/Diarkis/diarkis-server-template をクローンします。
アセットをダウンロードする場合
https://github.com/Diarkis/diarkis-server-template/releases を開き、最新バージョンの Assets をダウンロードし、解凍して利用します。
プロジェクトの生成
PowerShell から以下のコマンドを実行して、プロジェクトを生成します。
project_id: 弊社が発行したプロジェクトIDbuilder_token: 弊社が発行したBuilder Tokenoutput: 生成したプロジェクトの出力先。ここでは../server_binとして説明します
プロジェクトの初期化
プロジェクトを出力したディレクトリに移動し、以下のコマンドを実行します。
ビルド
以下のコマンドを実行して、Diarkis のサーバーバイナリをビルドします。
ビルドが終了すると、 remote_bin ディレクトリにバイナリが出力されます。
実行
mars, http, udp をそれぞれ起動します。それぞれ別の PowerShell のウィンドウで起動します。
動作確認
Go のテストクライアントを使って疎通確認ができます。
HTTP address: Diarkis HTTP サーバーのアドレス
client user ID: 認証するユーザーの ID。
client Key: クライアントキー。開発環境では、
keyを指定しますpuffer enabled: Diarkis Puffer モジュールの利用可否。ここでは false を指定します
正常に認証できると、以下のような表示になり、コマンド待ち受け状態となります。
接続後、 Room の作成をする場合は以下のコマンドを実行して作成することができます。
補足
サンプルプロジェクト
./run-mage.bat init で生成されるプロジェクトは Diarkis の基本的な機能を一通り確認できる基本セットです。その他にも様々なサンプルプロジェクトがあります。詳しくは Diarkis Server Template リポジトリの examples ページを参照してください。
🔗 https://github.com/Diarkis/diarkis-server-template/tree/develop/examples
テストクライアント
テストクライアントでは room create コマンド以外にも様々なビルトインコマンドを実行して確認することができます。詳細はヘルプセンターの以下ページをご確認ください。
magefile
magefile.¥run-mage.bat は内部で magefile という Go のツールを利用しています。
make/rake などのようなビルドツールで、Go でビルドフローなどを記載することで、プラットフォームに依存しない管理ができるようになります。
他のターゲットを確認する場合は、以下のように引数なしで実行することで確認できます。
fakesignal
diarkis は SIGUSR1 や SIGUSR2 などのUNIX signal を用いてログレベルの切り替えや、デバッグ機能のON/OFFといった機能を提供しているが、windows においては SIGUSR1 などのシグナルは存在しない。
そこで、fakesignal というツールをdiarkis-server-template に同梱させていただいており、windows 上でもテストを行えるようにしている。
最終更新
役に立ちましたか?

