Diarkis サーバをローカル環境で起動する

Diarkis サーバ開発をローカルで行う場合の準備について説明します

環境準備

golang 1.18以上のバージョンが入っていることを確認してください。入っていない場合はインストールしておいてください。

Diarkis のサーバ開発は、Linux もしくは macOS で行うことができます。

※本ドキュメントは Ubuntu 20.04 (WSL1 on Windows 10) で動作を確認しています

※WSL2 は UDP フォワードに対応していないため、WSL1 でご用意ください

※WSL1 でない場合は管理者権限の PowerShell を起動し「wsl --set-version Ubuntu-20.04 1」というコマンドで WSL 環境をコンバートできます

サーバテンプレートのダウンロードと展開

担当者から送付させていただいたサーバテンプレートをダウンロードして、展開したディレクトリへ移動してください。

以下のコマンドで、プロジェクトのボイラープレートを生成できます。

※ project_id と builder_token は担当者からお伝えします。

$ make init project_id={project ID} builder_token={build token} output={absolute path to install}
# 例
$ make init project_id=00000000000 builder_token=xxxx-yyyy-zzzz output=/tmp/diarkis-dir

※ output の値の末尾は、「 / 」を含めないようにしてください。

コマンドを実行すると、output=で指定したpathにサーバのボイラープレートが展開されます。

CLI によるビルド

※macOSの場合

local-build.yml に以下の記述を追加することで、macOS用のバイナリが生成されます。(何も記述しない場合、Linux用のバイナリが生成されます)

GOOS: darwin
GOARCH: {お使いのMacのCPUアーキテクチャ}

ボイラープレートのディレクトリへ移動し、以下のコマンドを実行すると、Diarkisのサーババイナリが remote_bin ディレクトリに生成されます。

$ make build-local

$ ls remote_bin/
http  mars  tcp  udp  ws

生成されたバイナリに実行権限を付与します。

$ chmod +x remote_bin/*
$ ls -la remote_bin/
total 41716
drwxr-xr-x 2 taz taz    4096 Aug  4 17:02 .
drwxr-xr-x 8 taz taz    4096 Aug  4 17:02 ..
-rwxr-xr-x 1 taz taz 8061543 Aug  4 17:02 http
-rwxr-xr-x 1 taz taz 7838259 Aug  4 17:02 mars
-rwxr-xr-x 1 taz taz 8749492 Aug  4 17:02 tcp
-rwxr-xr-x 1 taz taz 8816139 Aug  4 17:02 udp
-rwxr-xr-x 1 taz taz 9232273 Aug  4 17:02 ws

ローカルで起動

mars の起動

$ ./remote_bin/mars ./configs/mars/main.json

http の起動

$ ./remote_bin/http ./configs/http/main.json

udp の起動

$ ./remote_bin/udp ./configs/udp/main.json

接続情報の取得

mars, http, udp が起動していれば、接続情報を取得することができます。

$ curl http://127.0.0.1:7000/auth/test
{"UDP":"127.0.0.1:7100","sid":"2d3320600d874d848a60863ecb7da67e","encryptionKey":"6e9c529042c3415d8ed84289f28fc1b2","encryptionIV":"2bda04b8011a4ed2b73e5463b7db4d90","encryptionMacKey":"0876954d76e74411971a7a59e331c83a"}

最終更新