Master Server with Unreal Engine 4 Plugin

I can verify this works with 4.8.

Interesting I will definitely have to check this out. I am working on my own system as well but I am developing mine using OnlineSubSystem interface. The last piece of work i need to complete on the SessionInterface is finishing up the NetDriver before I can start testing over next few days.

Just updated to 16.7.01 which includes the following change, this is a simple change that improves the accuracy of pinging clients greatly (using a timer was a fine line between CPU usage, and response time… not ideal!)
Modified HttpProcess so it is now being called on Tick, instead of by a Timer. Improves latency accuracy and consistency.

Hey ,

this plugin is really helpful and is nearly what I was aiming for - you brought me a big step further!

I was wondering if you could maybe wrap this inside a Subsystem module, so server registration and joining can work through sessions - as the engine is designed for. The benefit about that would be the possibility to enable Voice Chat support, as that feature is heavily dependent on having a valid session running (and not just using the open <ip> console command to join). It also would have the benefit to theoretically switch to Steam, Xbox Live, etc. by just changing the used subsystem in the ini file.

I checked the UT code as they are using a custom subsystem to communicate with a master server, but I can’t find the module’s code and I’m a little bit lost right now.

Greetings!

after enabling plugin, it says master server is missing even though i extracted the zip to the unreal plugin folder, i did also run the setup shortcut

Any new features or a roadmap for this? And will it work with an ALL blueprint project?

Nice but the GNU GPL license it’s a non compatible/legal license with Unreal Engine 4.

Heh, god bless you. Maybe you could integrate it with Unreal Shooter Game demo ? I believe many unreal users would be thankful.

Hi guys, sorry I forgot to actually subscribe to this thread and haven’t checked in in awhile.

Yes, I could add it to a Subsystem module and upon further development of our game that does seem to be the way I want to head. It won’t really add any more difficulty in incorporating it in your projects.

I will work on getting that complete in the near future (<30 Days).

@DannyK90 Please make sure just the MasterServer folder in the client folder is in YourProject/Plugins folder, and it should work. Don’t extract the whole repository into your plugins folder as it is the wrong structure. Please make sure you have “MasterServer” added to your PublicDependencyModules in your project’s Build.cs file.
@_cDub No, it will not work with an all blueprint project. It is completely useable in blueprint and does not require any C++. But it does need to be a code project, or have a code class added which I think turns it into a code project.
@Hevedy Thanks, can you specify a more appropriate license? Cheers.

MIT or Zlib or Public Domain and there are more. Probably the MIT or the Zlib are one of what you need.

Just subscribed to this thread. Awesome work man! I’d be really interested to see the implementation for the subsystem approach. I am about to start working on some multiplayer dedicated server stuff and having a master server is going to be a must.

Merging the plugin code.

Hie,

I am working on a networking module for my UE4 project and found this master server plugin.
Can you please tell me how to merge this code into the project directly, so that I don’t have to install it as a plugin?

Thanks & Regards,

Partially Solved

Awesome work , Much appreciated. Im a little difficulty getting my headless dedicated server build to register with the master server. I was wondering if you had much luck using this with a dedicated server build, Launching the game From PIE, with simulated dedicated server works fine, master server shows my test server registering, and deregistering no problem, But when i go to package it. And run the dedicated server standalone i get nadda. Nothing im servers log is tipping me off either. I noticed the bit about adding the “MasterServer” to my build.cs, But alas no improvement. Anyways, Thanks again for the plugin, and if i find a solution ill make sure to post it in an edit to this post incase anyone else runs into this issue in the future.

edit I spoke too soon, I believe my problem is i actually need to implement it in the C++ manner, For the dedicated server build to function correctly, Ill re-edit if im incorrrect, And still need help. Sorry

2nd edit Ok after attempting to integrate it in C++, Im not sure the plugin is even being compiled in and running in dedicated server mode. Im still pretty weak on the C++ front, so its hard to be certain what im looking at. If you, or anyone have any advice, suggestions, Or more questions feel free to query, or enlighten me =). Thanks

3rd edit The reason it was not functioning correctly is not because it was’nt built in C++, The blueprint version is sufficient. It was because it was using a IsDedicatedServer bool, Replacing that with a IsServer bool works fine. This comes as somewhat of a quandary to me, Trying trying to figure out why this might call incorrectly. Not sure if its a feature or a bug… Any input is appreciated.

I’m trying to incorporate this plugin to my project which is based on the UE4 Multiplayer Shootout tutorial, I already have a show server list event Multiplayer Shootout | Unreal Engine Documentation
To use your plug in am I right in thinking that I need to rewrite this code to pull the server list from the struct? Can anyone share a completed screenshot of their solution (sorry I know that’s really lazy).

This is great, thanks @!

@ I see you changed the license thanks you man.
Really appreciated for help all.

any idea why this error happening :
https://github.com//UE4MasterServer/issues/6

Thank you so much!

Thank you for your plugin ,

I’ve been trying to set it up, with my limited skill, but I ran into some issues unfortunately.
I was able to install the plugin for Unreal, install and run the Master Server, and even initialize and register a server thanks to your blueprint example. However, I have some trouble to request a server list.

I’m using Unreal Engine 4.14, but experienced the same issue on 4.12.

For testing purpose, the blueprint set up is really simple. In my GameInstance, I bind the ServerListReceivedEvent :

From the player controller, I’m calling the Request Server List function when I press the T key :

For the MasterServer address, I tried both on a local machine, and on an Amazon EC2 Server.
As for the Client adress, I used my public IP address, and I used **7777 **for the port.

When I launch the game in the editor, and press the T key after a server has been registered, nothing happens until the end of the timeout, and then I got printed response “No Data Received”
When I’m looking at the MasterServer console command, the following messages are displayed after the timeout :

And in the Unreal Output Log, I can read :

I would be really glad if someone could give me some advice :wink:

,
I was wondering if you could help me with an issue with the plugin. Registering and retrieving are working fine. My problem is in trying to update the registered server with info like Max Players or changing the server name. I am doing that by Registering the server again but it appears when getting the server list it alternates returning both the new and old info. Am I updating it incorrectly?

Unregistering doesn’t seem to have any effect.

Thanks a bunch!