---
title: 'Tutorial: Turn Off Multi-Daemon Mode and Use Only TCP or UDP'
canonical: https://openvpn.net/as-docs/tutorials/tutorial--turn-off-multi-daemon/
product: Access Server Docs
description: Access Server uses a multi-daemon mode because the OpenVPN 2 code base is single-threaded. However, you may want to turn this off in certain cases, following the steps here.
---

# Tutorial: Turn Off Multi-Daemon Mode and Use Only TCP or UDP

## Overview

In Access Server, multi-daemon mode optimizes performance by running multiple OpenVPN daemons, one for each CPU core, supporting both TCP and UDP protocols. However, there are scenarios where you might need to turn off multi-daemon mode and use a single daemon instead.

> **Important**
>
> **Considerations**
>
> - **Web UI Access:** Changing to a single daemon may block access to the Admin and Client Web UIs.
> - **Restricted Networks:** Using only a UDP daemon may prevent connections from restrictive networks that block UDP but allow TCP 443.
> - **TCP Meltdown:** Using only TCP daemons may lead to performance issues due to the TCP Meltdown phenomenon.
>
> This configuration should be used with caution, considering its potential impact on connectivity and performance.

## Prerequisites

- An installed Access Server.
- Console access and the ability to get root access.

## Option 1: Turn off multi-daemon mode and use only TCP

1. Connect to the console and get root privileges.
2. Switch to the scripts directory:

   ```
   cd /usr/local/openvpn_as/scripts/
   ```
3. Disable multi-daemon mode:

   ```
   ./sacli --key "vpn.server.daemon.enable" --value "false" ConfigPut
   ```
4. Configure the daemon to use TCP:

   ```
   ./sacli --key "vpn.daemon.0.listen.protocol" --value "tcp" ConfigPut
   ```
5. Enable port sharing:

   ```
   ./sacli --key "vpn.server.port_share.enable" --value "true" ConfigPut
   ```
6. Restart the service:

   ```
   ./sacli start
   ```

## Option 2: Turn off multi-daemon mode and use only UDP

1. Connect to the console and get root privileges.
2. Switch to the scripts directory:

   ```
   cd /usr/local/openvpn_as/scripts/
   ```
3. Disable multi-daemon mode:

   ```
   ./sacli --key "vpn.server.daemon.enable" --value "false" ConfigPut
   ```
4. Configure the daemon to use UDP:

   ```
   ./sacli --key "vpn.daemon.0.listen.protocol" --value "udp" ConfigPut
   ```
5. Disable port sharing:

   ```
   ./sacli --key "vpn.server.port_share.enable" --value "false" ConfigPut
   ```
6. Restart the service:

   ```
   ./sacli start
   ```

---

Prev: [Tutorial: Set the Interface and Ports for the OpenVPN Daemons](https://openvpn.net/as-docs/tutorials/tutorial--openvpn-daemons-interface-and-ports.md)
Next: [Tutorial: Reset Multi-Daemon Mode and Number of TCP/UDP Daemons](https://openvpn.net/as-docs/tutorials/tutorial--reset-multi-daemon-and-tcp-udp-daemons.md)
Index: https://openvpn.net/as-docs/llms.txt
