OPCFoundation.NetStandard.Opc.Ua.Server 2.0.0-preview.6

OPC UA .NET Standard — Server

OPCFoundation.NetStandard.Opc.Ua.Server is the high-level OPC UA server library. It contains StandardServer, the MasterNodeManager, the core NodeManager / INodeManager surface, the session manager, the subscription manager (including durable subscriptions), the audit infrastructure, the request queue, and the fluent builder.AddServer(...) DI surface.

Overview

Reference this package from every OPC UA server executable. It provides everything you need to implement a custom server on top of the UASC channel pipeline shipped by OPCFoundation.NetStandard.Opc.Ua.Core.

Getting started

Implement your own NodeManager and register it with StandardServer:

public sealed class MyServer : StandardServer
{
    protected override MasterNodeManager CreateMasterNodeManager(
        IServerInternal server,
        ApplicationConfiguration configuration)
    {
        return new MasterNodeManager(server, configuration, null,
            new MyNodeManager(server, configuration));
    }
}

Then start the server via ApplicationInstance.StartAsync (in the OPCFoundation.NetStandard.Opc.Ua.Configuration package), or host it through the fluent services.AddOpcUa().AddServer(...) DI surface. Applications that already own a classic configuration XML file can pass it directly — AddServer("MyServer.Config.xml"), or as a Stream for embedded resources — and keep every setting from the file while adopting dependency injection. The raw-socket opc.tcp:// binding is built in; reference the OPCFoundation.NetStandard.Opc.Ua.Bindings.Https package to additionally expose an https:// endpoint.

To expose a NodeSet2 XML document without generating a NodeManager, register it through the startup-time runtime loader:

services.AddOpcUa()
    .AddServer(options => { /* server options */ })
    .AddRuntimeNodeSet(
        "Models/MyModel.NodeSet2.xml",
        nodes => nodes.Variable<double>("Machines/Machine1/Temperature")
            .OnRead(ReadTemperature));

The runtime loader supports grouped file and stream sources, orders included models by RequiredModel, and uses the server's default runtime complex-type support. See the Runtime NodeSets guide.

To add or reload a NodeSet after the server is running, inject INodeManagerLifecycle (or use StandardServer.NodeManagerLifecycle) and call AddRuntimeNodeSetAsync / ReloadRuntimeNodeSetAsync. The returned generation-aware registration can later be removed with RemoveAsync. Active monitored items retain their identity when compatible nodes remain, publish one BadNodeIdUnknown when their node disappears, and automatically recover when a compatible Node with the same NodeId returns. Namespace indexes and compatible runtime DataType registrations remain stable for the server lifetime.

Target frameworks

net472, net48, netstandard2.1, net8.0, net9.0, net10.0.

Additional documentation

See the main repository README and the Sessions guide for the session / subscription model. Browse the documentation folder for guides on certificate management, transports, identity providers, alarms & conditions, historical access, and more.

Showing the top 20 packages that depend on OPCFoundation.NetStandard.Opc.Ua.Server.

Packages Downloads
OPCFoundation.NetStandard.Opc.Ua.Gds.Server.Common
OPC UA GDS Server Class Library
6
OPCFoundation.NetStandard.Opc.Ua.Gds.Server.Common
OPC UA GDS Server Class Library
5
OPCFoundation.NetStandard.Opc.Ua.Gds.Server.Common
OPC UA GDS Server Class Library
4

https://github.com/OPCFoundation/UA-.NETStandard/releases

.NET 10.0

.NET 8.0

.NET 9.0

.NET Framework 4.8

.NET Standard 2.1

.NET Framework 4.7.2

Version Downloads Last updated
2.0.1 0 12.10.2026
2.0.0 0 07.10.2026
2.0.0-preview.6 1 03.10.2026
2.0.0-preview.5 1 03.10.2026
2.0.0-preview.4 1 03.10.2026
2.0.0-preview.3 1 03.10.2026
1.5.378.182 0 04.10.2026
1.5.378.176 1 03.10.2026
1.5.378.156 1 03.10.2026
1.5.378.152 1 03.10.2026
1.5.378.145 1 03.10.2026
1.5.378.134 1 03.10.2026
1.5.378.106 1 03.10.2026
1.5.378.65 1 03.10.2026
1.5.378.10-preview 1 03.10.2026
1.5.377.22 1 03.10.2026
1.5.377.21 1 03.10.2026
1.5.377.11-preview 1 03.10.2026
1.5.376.244 1 03.10.2026
1.5.376.235 1 03.10.2026
1.5.376.213 1 03.10.2026
1.5.375.457 1 03.10.2026
1.5.375.443 1 03.10.2026
1.5.375.71-ECC-preview 1 03.10.2026
1.5.374.176 1 03.10.2026
1.5.374.168 1 03.10.2026
1.5.374.158 1 03.10.2026
1.5.374.126 1 03.10.2026
1.5.374.124 1 03.10.2026
1.5.374.118 1 03.10.2026
1.5.374.78 1 03.10.2026
1.5.374.70 1 03.10.2026
1.5.374.61-preview 1 03.10.2026
1.5.374.54 1 03.10.2026
1.5.374.50-preview 1 03.10.2026
1.5.374.36 1 03.10.2026
1.5.374.33-preview 1 03.10.2026
1.5.374.27 1 03.10.2026
1.5.374.26-preview 1 03.10.2026
1.5.374-preview.g1a7d9b8e51 1 03.10.2026
1.5.373.121 1 03.10.2026
1.5.373.3-preview 1 03.10.2026
1.5.372.113 1 03.10.2026
1.5.372.110-rc2 1 03.10.2026
1.5.372.1-rc 1 03.10.2026
1.5.371.3-beta 1 03.10.2026
1.5.368.5-beta 1 03.10.2026
1.4.372.116-preview 1 03.10.2026
1.4.372.112-preview 1 03.10.2026
1.4.372.107 1 03.10.2026
1.4.372.106 1 03.10.2026
1.4.372.91-preview 1 03.10.2026
1.4.372.76 1 03.10.2026
1.4.372.67-preview 1 03.10.2026
1.4.372.56 1 03.10.2026
1.4.372.46-preview 1 03.10.2026
1.4.372.38-preview 1 03.10.2026
1.4.371.96 1 03.10.2026
1.4.371.91 1 03.10.2026
1.4.371.86 1 03.10.2026
1.4.371.60 1 03.10.2026
1.4.371.50 1 03.10.2026
1.4.371.41 1 03.10.2026
1.4.371-preview.ge89b06e57b 1 03.10.2026
1.4.370.12 1 03.10.2026
1.4.370.9 1 03.10.2026
1.4.370.1 1 03.10.2026
1.4.369.30 1 03.10.2026
1.4.368.58 1 03.10.2026
1.4.368.53 1 03.10.2026
1.4.368.33 1 03.10.2026
1.4.367.100 1 03.10.2026
1.4.367.95 1 03.10.2026
1.4.367.75 1 03.10.2026
1.4.367.42 1 03.10.2026
1.4.367.41 1 03.10.2026
1.4.367.39 1 03.10.2026
1.4.366.38 1 03.10.2026
1.4.365.48 1 03.10.2026
1.4.365.23 1 03.10.2026
1.4.365.10 1 03.10.2026
1.4.365.2 1 03.10.2026
1.4.364.40 1 03.10.2026
1.4.363.107 1 03.10.2026