# Cybus::Server

A *server* resource describes an additional server that provides data to clients. External clients may connect to this server, and receive data from or provide data to the server.

Connectware already includes a MQTT broker which makes all data available in the internal MQTT API. Additional *server* resources can offer more choices to access the data, such as through OPC UA or RESTful interaction.

The data in the server resource is organized in terms of [node](https://docs.cybus.io/1-10-0/documentation/services/service-commissioning-files/structure-of-service-commissioning-files/resources/cybus-node) resources, which are defining the available data in a hierarchical tree structure.

Currently, the following concrete server is available (in addition to Connectware’s MQTT broker):

* [OPC UA Server](https://docs.cybus.io/1-10-0/documentation/industry-protocol-details/opc-ua/opc-ua-server)

## Common Properties

| Property                    | Type   | Required |
| --------------------------- | ------ | -------- |
| [targetState](#targetstate) | `enum` | Optional |

### targetState

The state this resource should be in, after start-up.

* is optional
* type: `enum`, must be one of `enabled`, `disabled`
* default: `enabled`

## Custom Properties

Depending on the protocol type of the server, additional custom properties are available:

* [Cybus::Server::Opcua](https://docs.cybus.io/1-10-0/industry-protocol-details/opc-ua/opc-ua-server#custom-server-properties)
