# How do I use online subsystem for my own API?

**URL:** <https://forums.unrealengine.com/t/how-do-i-use-online-subsystem-for-my-own-api/451429>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine\
**Created:** [June 28, 2019, 6:13pm UTC](https://forums.unrealengine.com/t/how-do-i-use-online-subsystem-for-my-own-api/451429 "2019-06-28T18:13:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![spentak](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/spentak/32/642372_2.png) [@spentak](https://forums.unrealengine.com/u/spentak)\
**Post date:** [June 28, 2019, 6:13pm UTC](https://forums.unrealengine.com/t/how-do-i-use-online-subsystem-for-my-own-api/451429/1 "2019-06-28T18:13:03Z")

</div>

I’m building a mobile game. I want to use the Online Subsystem. I am building a test system while I develop. I cannot find API reference how to implement the subsystem protocols on my own API. The docs say the subsystem can be used for Steam, Xbox Live, Facebook, etc - but then fails to say how to use anything except for Steam.

I’m creating a simple NodeJS API for matchmaking. It will fetch the IP address of my dedicated server and return it to Unreal clients so they can join.

This is my planned flow (tell me if it’s wrong):

1. Run dedicated server on my high-end PC running on a local IP address
2. iPhone apps communicate with my local node server and performs matchmaking (if i can implement the subsystem protocol)

It kind of drives me crazy that Unreal teaches multiplayer through Steam since “magic” is happening under the hood. I simply want the server to point to my own matchmaking service but I cannot find any API docs or instructions on how to use your own service.

I know I can do “Open level: someIPAddress”, but I want matchmaking to deliver this to client. Do I need to just use standard networking in C++ to do this or can I use the subsystem?

What I was hoping for but can’t find (DefaultEngine.ini)

```
[OnlineSubsystem]
DefaultPlatformService=CustomMatchMaking

[/Script/OnlineSubsystemCustom.CustomNetDriver]
NetConnectionClassName=OnlineSubsystemSteam.CustomNetConnection

```

Where Custom is my own scripts. Then in Node I implement the proper protocols and then Unreal just talks to my server. But again, no information on this anywhere as far as I can see.

---

<div class="post-metadata">

**Author:** ![SupDeity](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@SupDeity](https://forums.unrealengine.com/u/SupDeity)\
**Post date:** [June 28, 2019, 6:26pm UTC](https://forums.unrealengine.com/t/how-do-i-use-online-subsystem-for-my-own-api/451429/2 "2019-06-28T18:26:38Z")

</div>

i didnt quite understand what you mean though i assume you are saying that you want to host your server on your pc. and you want your own matchmaking logic.

However i will tell you what i know.

> **[A new, community-hosted Unreal Engine Wiki](https://forums.unrealengine.com/t/a-new-community-hosted-unreal-engine-wiki/141494)**
>
> After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — ue4community.wiki! You will be able to find content from the official...

take a look at this. this tells you how to create a executable for both the game and the server.

also even without subsystem nodes for multiplayer are already provided in ue4

---

<div class="post-metadata">

**Author:** ![spentak](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/spentak/32/642372_2.png) [@spentak](https://forums.unrealengine.com/u/spentak)\
**Post date:** [June 28, 2019, 6:36pm UTC](https://forums.unrealengine.com/t/how-do-i-use-online-subsystem-for-my-own-api/451429/3 "2019-06-28T18:36:15Z")

</div>

I already know how to deploy dedicated servers. That is the easy part. What I can’t seem to figure out is HOW clients can find those servers. My game has a ranking system and I need my match making service to provide incoming connections with the appropriate server IP address. THAT is what im trying to figure out. I know I can write this from scratch in C++, use HTTPS or UDP and get this info, then create game sessions, but I would _think_ instead I could make my API abide the subsystem protocol, and then unreal engine works out of the box. That is what this proclaims anyway: [Online Subsystem | Unreal Engine Documentation](https://docs.unrealengine.com/en-US/Programming/Online/index.html)

---

<div class="post-metadata">

**Author:** ![6r0m](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/6r0m/32/1194563_2.png) [@6r0m](https://forums.unrealengine.com/u/6r0m)\
**Post date:** [July 28, 2021, 9:01am UTC](https://forums.unrealengine.com/t/how-do-i-use-online-subsystem-for-my-own-api/451429/4 "2021-07-28T09:01:35Z")

</div>

did you implement this?

---

<div class="post-metadata">

**Author:** ![Levi\_37](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Levi\_37](https://forums.unrealengine.com/u/Levi_37)\
**Post date:** [September 21, 2023, 8:08am UTC](https://forums.unrealengine.com/t/how-do-i-use-online-subsystem-for-my-own-api/451429/5 "2023-09-21T08:08:22Z")

</div>

Hey, were you able to make such system?
