Implementing a Custom Online Subsystem

I initially posted this on the answer hub, but just came across these forums and thought it might be a better place to strike up a discussion.

I am creating a bunch of microservices to handle launching instances, handle user authentication, matchmaking, etc and would like to implement my own OSS. I haven’t attempted this yet, but have perused some of the existing subsystems in the source code and was wondering:

  1. What is required to get the engine to recognize an OSS by name? I noticed a specific file which stored names of the existing subsystems.
  2. How much of the boilerplate found in these plugins would be required to get the most basic implementation working?
  3. Any other important details I should know about beforehand?

EDIT: I’m also wondering where in the source code I’d look to find where the engine initializes a subsystem based on what’s found in the .ini file. e.g.
[OnlineSubsystem]
DefaultPlatformService=Steam

I’m about to search the source for this now in the meantime.