LogoLogo
日本語
日本語
  • Diarkis ヘルプセンター
  • Diarkis の概要
  • 始めよう
    • Diarkis サーバーテンプレート
    • Diarkis クライアント SDK
    • チュートリアル
      • 1. Diarkis サーバーをローカル環境で起動する
      • 2. テストクライアントで疎通確認する
      • 3. カスタムコマンドを実装する
      • Diarkis クライアントからサーバに接続する
    • サンプル
  • Diarkis のモジュール
    • Room モジュール
      • Room モジュールをサーバーでセットアップする
      • Room サンプル
        • room_broadcast
      • Room モジュールをクライアントから利用する
      • Room のその他の機能
    • MatchMaker モジュール
      • MatchMaker モジュールをサーバーでセットアップする
    • Field モジュール
      • Field モジュールをサーバーでセットアップする
    • P2P モジュール
      • P2P モジュールをサーバーでセットアップする
      • P2P サンプル
    • DM (Direct Message) モジュール
      • DM モジュールをサーバーでセットアップする
    • Notifier モジュール
      • Notifier モジュールをサーバーでセットアップする
    • Session モジュール
      • Session モジュールをサーバーでセットアップする
    • Group モジュール
      • Group モジュールをサーバーでセットアップする
  • Diarkis サーバー
    • Diarkis サーバをクラウド環境で起動する
      • AWS
    • Diarkis サーバーを Windows 環境で起動する
    • MARS サーバー
    • UDP サーバー
    • TCP サーバー
    • HTTP サーバー
    • Metrics API
    • サーバー間通信 - Mesh
  • Diarkis クライアント
    • ランタイム・ライブラリ
      • Diarkis RUDP
    • Diarkis Module
      • Diarkis Module の初期化と終了
      • Diarkis Module のカスタイマイズ
      • Diarkis Module のロギング・システム
      • マイグレーション
      • Diarkis のスレッド
    • サンプル
      • C++
        • room_broadcast
        • directmessage_simple
        • group_sample
        • matching_and_turn
        • matchmaker_ticker
        • p2p_rudp_sample
        • session_simple
      • Unreal Engine Plugin
        • FieldWalker
      • Unity Plugin
        • FieldWalker
          • HowToReplicatePosition.md
  • Diarkis ツール
    • Diarkis CLI
      • cgo を利用するプロジェクトをビルドする方法
      • Diarkis CLI v3 への切り替え手順
  • リファレンス
    • API リファレンス
    • リリースノート
      • v1.0
      • v1.0.1
      • v1.0.2
      • v1.0.3
      • v1.0.4
      • v1.0.5
      • v1.0.6
  • サポート
    • ライセンスと購入
GitBook提供
このページ内
  • はじめに
  • 動作環境
  • 手順
  • 必要なツールのインストール
  • Diarkis Server Template のインストール
  • プロジェクトの生成
  • プロジェクトの初期化
  • ビルド
  • 実行
  • 動作確認
  • 補足
  • テストクライアント
  • magefile

役に立ちましたか?

  1. Diarkis サーバー

Diarkis サーバーを Windows 環境で起動する

前へAWS次へMARS サーバー

最終更新 1 か月前

役に立ちましたか?

はじめに

Diarkis サーバーを Windows バイナリとしてビルドして動かすこともできます。

これにより、Windows マシン上で開発するクライアントエンジニアが WSL なしで Diarkis サーバーを動作させることが可能となり、開発作業の効率化に役立てる事ができます。

ただし、本番環境での利用は想定していないので、ローカル環境や開発環境での利用にとどめてください。

動作環境

2025-04-04 現在、以下の環境での動作を想定しております。

  • Windows 10/11

  • Go 1.22 以上

  • (git でリポジトリを close する場合は git)

手順

必要なツールのインストール

Go 1.22 以上をインストールします。

scoop などのパッケージマネージャーを使ってインストールすることも可能です。

> scoop install go

Diarkis Server Template のインストール

リポジトリをクローンする場合

> git clone git@github.com:Diarkis/diarkis-server-template.git
# 必要に応じて利用するバージョンのタグをチェックアウトします
> git checkout v1.1.0-beta1

アセットをダウンロードする場合

プロジェクトの生成

PowerShell から以下のコマンドを実行して、プロジェクトを生成します。

# parameters: {project_id} {builder_token} {output} {module_name}
> .\run-mage.bat init 12345678901 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ../server_bin server_bin
  • project_id: 弊社が発行したプロジェクトID

  • builder_token: 弊社が発行したBuilder Token

  • output: 生成したプロジェクトの出力先。ここでは ../server_bin として説明します

  • module_name: モジュール名。ここでは server_bin として説明します

プロジェクトの初期化

プロジェクトを出力したディレクトリに移動し、以下のコマンドを実行します。

> cd ..\server_bin
> .\run-mage.bat init

ビルド

以下のコマンドを実行して、Diarkis のサーバーバイナリをビルドします。

> .\run-mage.bat build:local

ビルドが終了すると、 remote_bin ディレクトリにバイナリが出力されます。

実行

mars, http, udp をそれぞれ起動します。それぞれ別の PowerShell のウィンドウで起動します。

> .\run-mage.bat server mars
> .\run-mage.bat server http
> .\run-mage.bat server udp

動作確認

Go のテストクライアントを使って疎通確認ができます。

# parameters: <HTTP address> <client user ID> <client key> <puffer enabled: true/false>
> .\run-mage.bat goCli 127.0.0.1:7000 user-1 key false
  • HTTP address: Diarkis HTTP サーバーのアドレス

  • client user ID: 認証するユーザーの ID。

  • client Key: クライアントキー。開発環境では、key を指定します

  • puffer enabled: Diarkis Puffer モジュールの利用可否。ここでは false を指定します

正常に認証できると、以下のような表示になり、コマンド待ち受け状態となります。

[UID: user-1][SID(UDP): 23942c034d8d4094b09ab7219d28cebc]
 > Connected UDP

接続後、 Room の作成をする場合は以下のコマンドを実行して作成することができます。

 > Connected UDP
room create
Enter for which protocol to a create a Room (TCP/UDP): (Default: UDP)
Invalid input. Set to default value: UDP
Enter max members [1 - 255] (uint16): (Default: 10)
Invalid input. Set to default value: 10
Enter if allow empty (y/n): (Default: no)
Invalid input. Set to default value: false
Enter if join on creation (y/n): (Default: yes)
Invalid input. Set to default value: true
Enter TTL (seconds) [10 - 65535] (uint16): (Default: 30)
Invalid input. Set to default value: 30
Enter broadcast interval (milliseconds) (uint16): (Default: 100)
Invalid input. Set to default value: 100
# UDP RoomID がプロンプトに表示されて Room に参加している状態となる
[UID: 1111][SID(UDP): c51ea8010bc44ea5b6cd6ef2bb788ad8][UDP RoomID: 580e3cef8588bd287f0000011fa5000000000000000000000000]

補足

テストクライアント

テストクライアントでは room create コマンド以外にも様々なビルトインコマンドを実行して確認することができます。詳細はヘルプセンターの以下ページをご確認ください。

magefile

make/rake などのようなビルドツールで、Go でビルドフローなどを記載することで、プラットフォームに依存しない管理ができるようになります。

他のターゲットを確認する場合は、以下のように引数なしで実行することで確認できます。

> .\run-mage.bat
Targets:
  build:linux              Build server binary for linux or container environment
  build:local              Build server binary for local use
  build:mac                Build server binary for mac use
  diarkis:changeVersion    Change diarkis version.
  diarkis:version          Print the version of diarkis currently used.
  goCli                    Starts Go test client.
  init                     Initialize project
  puffer:clean             Delete all generated protocol code files.
  puffer:gen               Generate go, cpp, and cs code files using puffer (Diarkis packet gen module) from packet definition written in json.
  server                   Start a server locally: Required 1 following argument: mars http udp tcp

をクローンします。

を開き、最新バージョンの Assets をダウンロードし、解凍して利用します。

.¥run-mage.bat は内部で という Go のツールを利用しています。

https://go.dev/doc/install
https://github.com/Diarkis/diarkis-server-template
https://github.com/Diarkis/diarkis-server-template/releases
magefile
2. テストクライアントで疎通確認する | Diarkis Help Center
Logo