OnlineSubsystemNull - Can't Find Sessions

For the life of me, I can’t get this to work.

As far as I can tell I am doing it correctly, my *.build.cs has the following lines:


PublicDependencyModuleNames.AddRange(new string] { "Core", "CoreUObject", "Engine", "InputCore", "OnlineSubsystem", "OnlineSubsystemNull", "OnlineSubsystemUtils" });
PrivateDependencyModuleNames.AddRange(new string] { "OnlineSubsystem" });

My DefaultEngine.ini has the following lines:


[OnlineSubsystem]
DefaultPlatformService=Null

I am using a CreateSession node with LAN checked and that successfully completes because it opens the level correctly and I can see the port open using NetStat.

But my FindSession is not finding any results at all, the array is always empty. I have tried packaged games, different machines on the same network, one machine and two different instances, and even running two clients from the editor … I can never find a session.

Am I missing a trick?
Has anyone used the Null Online SubSystem?

I know it only works for LAN and that is perfect for this stage of the project.

Any help will be greatly appreciated … I am at my wits end and will probably either look at Steam or write my own Master Server for the time being. Thanks.

I have written my own master server system that allows me to query a master server for reachable servers and allows players to join them from the Join UI of the game. This will serve my purposes for now until we decide to move to Steam or not.

Thanks to the VARest plugin it was pretty simple to integrate the game to the master server. 8-}

would be interested in any info on doing this. I had started writing the base for a master server in C++, but work got in my way. What is the VARest plugin?

@arbopa: VaRest is the plugin for Unreal Engine 4 that makes REST server communications simple to use with full Json query support.

[Plugin] Http/s REST, blueprintable JSON and Parse REST API manager at once (VaRest)]([Plugin] Http/s REST, blueprintable JSON and Parse REST API manager at once (VaRest) - Engine Source & GitHub - Unreal Engine Forums)

VaRest Plugin

So basically I have a Java based web service that is written using Spring Boot and runs on a secure server. I then have two calls that do an update and a list. These requests do some validations on the incoming requests and then either update the server list or provide the list back to the client.

I am using HSQLDB (in-memory database) on my rest server … so I can just restart it and all the data will be cleared.

There are some validation checks and the list will only return servers that have been updated in the last 60 seconds and that are actually reachable from the master server … plus some security checks. 8-}

I didn’t want to go C++ just yet, because we aren’t sure whether we are going to use Steam or create our own Online SubSystem … but we need these type of services in order to move forward with our Alpha. So this is why we went this route.

Ah, I have seen the Json stuff before, but always wondered how heavy of a load it could support in terms of total servers and tracking user information as well…

That depends entirely on your web service and how it was written. I use similar technology for a web service that I wrote for my day job that can currently processes about 500+ requests a second and is running on a website that has over 12 000 000 page views a month.

This is the first time I am integrating it in to a game … so I can’t give you a definitive answer on how well it will scale. I know the web service will be okay but the unknown here is Unreal Engine and the VARest plugin.

VARest plugin just exposes the engine’s built-in REST capabilities. So it should be fine as long as the engine is fine :slight_smile:

Ah, will be interesting to see how much it can handle if you ever try to load test it. I always thought you would need something done up in C++ or some such to handle loads of data… thanks.