# Set Up Session Module on Server

## Overview <a href="#diarkis-room-wosettoappusuru" id="diarkis-room-wosettoappusuru"></a>

The Session module can be set up on both TCP and UDP servers.

## Setup <a href="#birutoinkomandowokuraiantonisuru" id="birutoinkomandowokuraiantonisuru"></a>

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

Add the following to your server's main function. Below is an example of setting up on a UDP server. The `setup` function from `diarkisexec` must be executed before calling `diarkisexec.StartDiarkis()`.

For more details, please refer to the [API Reference for diarkisexec](https://docs.diarkis.io/docs/server/current/diarkis/diarkisexec/index.html).

```go
package main

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

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

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

Since you can easily start a server using the server template, it is recommended to use this first. Refer to [diarkis-server-template](https://help.diarkis.io/en/getting-started/diarkis-server-template "mention").
