Chapter 04

サーバーを作ってみる

うらむんオイル
うらむんオイル
2022.11.11に更新

前章ではDragonfly本体のリポジトリをクローンしてサーバーを動かしていましたが、本来はDragonflyをライブラリとして使用します。Dragonflyのリポジトリのクローンから始めても問題なく動作しますが、余計なコードが混ざることとなるので新規のプロジェクトを開始しましょう。
プロジェクトの初期化からライブラリの追加、main.goの作成まで行います。

プロジェクトの初期化

go mod initを使ってプロジェクトを初期化します。テンプレートを使用する場合は本章を飛ばしても構いません。

mkdir <プロジェクト名>
cd <プロジェクト名>
go mod init github.com/<ユーザーネーム>/<プロジェクト名>

go mod initの後に入る文字列は、作成したプロジェクトをgo getでライブラリとしてインストールするときに使う識別子として使われます。
特に理由がなければGitHubで作成されるプロジェクトのURLに従って上記のコマンドを修正してください。

Git等のVCSを使う場合は合わせて初期化してください。

ライブラリの追加

go get -v -u \
	github.com/df-mc/dragonfly \
	github.com/pelletier/go-toml \
	github.com/sirupsen/logrus

メインプログラムの作成

main.goファイルを作成し

https://github.com/df-mc/dragonfly/blob/master/main.go

を丸々コピー&ペーストしてください。プロジェクトを公開する場合はライセンスに注意してください。

サーバーの起動

go run main.goを実行すると、前章と同じくサーバーが起動されます。


基本的にmain.goファイルにプログラムを追加することでサーバーを拡張していきます。次章からはサーバーの拡張について解説します。