Tool · Simulator

ConsoleReferenceServer

VendorOPC Foundation (UA-.NETStandard)
CostOpen source, part of the reference implementation
PlatformsCross-platform .NET; container image also published
TypeSimulator

ConsoleReferenceServer is the sample server from the OPC Foundation's UA-.NETStandard reference implementation. Because it is the reference stack, its behaviour is the closest thing to a normative answer available in software, and it ships a compliance-test mode intended to be exercised by the Compliance Test Tool.

What you actually use it for

  • Settling arguments about correct behaviour: if the reference server does something, that is strong evidence it is correct.
  • Testing a client against a server configured for compliance testing, including the strict paths a permissive simulator hides.
  • Developing against the same stack that certification labs and the CTT exercise, before your own server goes anywhere near a lab.
  • Running a container-based server for CI where reference behaviour matters more than machine realism.
  • Studying a real server implementation, including its certificate validation and alarm handling, in source form.

Walkthrough

  1. Get the reference stack and build or pull the sampleThe server lives in the UA-.NETStandard repository and is also published as a container. Building from source needs a .NET SDK; the container avoids that. Note the version you are on, because reference behaviour changes across major versions.
  2. Start it and read the advertised endpointsConnect a client and list the EndpointDescriptions. The reference server advertises a considered set of policies and modes, which is itself a useful example of what a correct advertisement looks like.
  3. Work through the certificate validation properlyThe reference stack implements the specified validation, including the suppressible and non-suppressible cases. Use its rejected store and trust list rather than an auto-accept switch; this is the server on which learning the workflow pays off.
  4. Use the compliance test configuration when you want strict behaviourThe stack ships a dedicated configuration selected by a compliance-test flag, intended for CTT runs. Testing your client against that configuration surfaces assumptions a lenient server would let pass.
  5. Exercise the alarms and history areasThe reference server implements a substantial alarms and conditions surface. Use it to test event filters, condition refresh and acknowledgement flows that most simulators do not offer.
  6. Read the ServerProfileArray and take the lessonRead the server's advertised profiles and compare them against what it demonstrably does. Over-advertising facets is a leading cause of failed certification, and even the reference server's advertised set has been tracked as an open issue rather than assumed perfect.

What it will not do

  • No machine semantics. It is a specification demonstrator, not a plant simulator, so it teaches you nothing about companion specifications.
  • Requires a .NET SDK to build from source, and the container is versioned to the release train.
  • Reference behaviour is not the same as vendor behaviour: a client that works here can still fail against a PLC-embedded server, which is a good reason to test both.
  • Its configuration surface is large, and a misconfiguration produces behaviour you may wrongly attribute to the specification.
  • It is not a performance reference for sizing production servers.

Alternatives

Instead of thisWhen
umati-sample-serverWhen you need companion specification semantics rather than reference-stack behaviour.
microsoft-opc-plc-simulatorWhen you want a simpler container with PLC-like tags for pipeline work.
compliance-test-tool-uacttThe other half of the compliance story: this is the server, the CTT is the test harness.
prosys-simulation-serverWhen a GUI and interactive node creation matter more than reference fidelity.
Verify before you rely on this: The reference stack has a stable line and a next-major preview in parallel, and behaviour, configuration file names and the compliance-test flag differ between them. Confirm which version you are running, what the current compliance-test configuration is called and which .NET versions it supports in the repository's own documentation, and check the dual licence terms before you reuse its code in a product.

Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.

Free download
OPC UA Server Acceptance Test Pack
A 40-check acceptance test you run against a vendor's server before commissioning sign-off. Weighted scoring, three hard gates, and a one-page verdict for the supplier meeting.
Get the free test pack →
Free, no course, no login