Diarkisでは、サーバのコマンドをカスタマイズすることで、さまざまなロジックを組み込んでいただくことが可能です。
カスタマイズしたコマンドをクライアントから呼び出すためには、セットアップが必要です。
セットアップ方法はモジュール(group/room/Field)によらず共通で、ExposeCommands を利用します。
Groupモジュールの場合のコード例:
package groupcmds
import ( "fmt" "github.com/Diarkis/diarkis/group" )
func Expose(rootpath string) { // rootpath is defined in cmds/main.go group.Setup(fmt.Sprintf("%s/configs/shared/group.json", rootpath)) group.ExposeCommands() } |
また、ビルトインコマンドを利用せず、全てカスタムコマンドにより実装する必要がある場合に関しては、ExposeCommands ではなく、SetupAsTCPServer / SetupAsUDPServer / SetupAsWebSocketServer を利用する必要があります。(ご利用のDiarkisサーバの種別により使い分けてください)
TCPサーバを利用する場合のコード例:
package groupcmds
import ( "fmt" "github.com/Diarkis/diarkis/group" )
func Expose(rootpath string) { // rootpath is defined in cmds/main.go group.Setup(fmt.Sprintf("%s/configs/shared/group.json", rootpath)) group.SetupAsTCPServer() } |