This is a plugin for Unreal Engine 4 that adds super simple server registration, deregistration, etc with a master server.
This is not mean’t as a complete Online Subsystem, just as a way for people with a need of getting an up to date serverlist they can serve up to clients and adapt it to their own needs (I am open to suggestions of functionality you want included by default!).
Once the plugin has been installed you will be able to use this to receive server lists of all active servers with their IP, Port, Name, Game Mode, Map, Current Players, Max Players, and anything else you wish to add as it is free to use and modify in your projects. :).
This is quite basic at this stage, but I will be updating this in the coming weeks to include more features such as pinging servers received on the serverlist, and some functions to get the public IP from the adapter, and possibly expanding it to Unity
Please go to the GitHub page for instructions on running the server, and installing/using the plugin.
Why? It doesn’t need databases. It does its job already. I’ve already merged it into my code rather than a plugin. Works a wonder since I set it up to ping and keep its own data updated.
oh, ok. I think that could be expanded quite easily with what I have provded (create user model with peewee, and add some various functions), but that is not what I am hoping to achieve with this. This is more like a Arma 3 / standard FPS serverlist where a person can host a server and have other people find it.
If you don’t mind me asking how did you go about setting up the ping, and requesting data from the client?
A similar approach to how you currently send/get to the master server. In this case though, I just send it off to a page on my website, that pings the IP it gets sent and returns it.
Could be done a lot better, but for what I needed, it works fine.
I thought about that approach, but the ping wouldn’t have been relative to the client. If it works for you though, that’s great! I might try get something implemented so we can ping each of the clients that are received on the list in the coming week.
yeah that’s the plan, would not be too hard to just setup the default reply of the webserver being the requester IP (or just setting it directly based on connection request IP and don’t give the client the ability pass a different IP across)
I have just updated to include the above, will work on ping next. I guess it almost adds a bit of authentication by only being able to register / de-register your IP
v25.6.02 - Included pinging clients (should be ± 30ms accuracy, could possibly be improved in a the future, but is a good starting point).
Please refer to documentation on GitHub page for implementation.
Thanks FYI if anyone wants to test their client implementation without running the server themselves, I will always be hosting the latest master server on ryanpost.me:8081.