Setting Up the Field Module on the Server

Overview

The Field module needs to be set up on HTTP, UDP, and TCP servers.

Managing the Field's memory data is handled by the HTTP server, while built-in commands are exposed and utilized through UDP and TCP servers.

Setup

Add the following to the main function of the HTTP server:

package main

import "github.com/Diarkis/diarkis/diarkisexec"

func main() {
	logConfigPath := "/configs/shared/log.json"
	meshConfigPath := "/configs/shared/mesh.json"

	diarkisexec.SetupDiarkis(logConfigPath, meshConfigPath, &diarkisexec.Modules{
		Field: &diarkisexec.Options{ConfigPath: "/configs/shared/field.json", ExposeCommands: true},
	})

	diarkisexec.SetupDiarkisHTTPServer("/configs/http/main.json")
	diarkisexec.StartDiarkis()
}

To expose built-in commands to the client, you can use the diarkisexec package for setup.

Similarly, add the setup to the main function of the UDP and TCP servers. Below is a sample setup for a UDP server. The setup function of diarkisexec must be executed before calling diarkisexec.StartDiarkis().

For more details, refer to the diarkisexec API Reference.

package main

import "github.com/Diarkis/diarkis/diarkisexec"

func main() {
	logConfigPath := "/configs/shared/log.json"
	meshConfigPath := ""

	diarkisexec.SetupDiarkis(logConfigPath, meshConfigPath, &diarkisexec.Modules{
		Field: &diarkisexec.Options{ConfigPath: "/configs/shared/field.json", ExposeCommands: true},
	})
	diarkisexec.SetupDiarkisUDPServer("/configs/udp/main.json")
	diarkisexec.StartDiarkis()
}

It's recommended to use the server template for a simple and quick server setup. Please refer to Diarkis Server Template.

Last updated