🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Are there any free game list / lobby / match making Services or APIs out there?

Started by
5 comments, last by BrainSlugs83 5 years, 3 months ago

I'm writing a silly open / free game in MonoGame, and I've got LAN broadcasting in for broadcasting open game lobbies that a player could join via local network; but I'd like to also support something similar via the internet.

It's a simple client / server model action game using UDP, nothing super complicated going on.  The library I'm using supports punching holes in NAT via UPNP so, that's not a big deal for me. -- I'm just wondering if there's any free services out there (maybe something with an HTTP based REST API) that I could use to post open games to, so that players could connect and join to them.

(I don't mind writing my own and throwing it up in Azure but I'd rather not waste my time and money if there's something free out there.)

Advertisement

Hosting for your own code, or a complete services ?

 

The cost for a micro Linux node in AWS, Azure, etc. is pretty low, should be well below $10 a month, and if it's just for server lobby/listing will be a while before scale is an issue. AWS will give you an EC2 instance and some other things free for a year. There are many other similar providers. A shared webhosting server may also work, but be a bit more restrictive.

For initial development testing, you might just run the server on your own home network, possibly even on your own PC, maybe in a VM. Use something like Duck DNS if you don't have a static IP.

 

Not sure on any free services / libraries. Steam provides some stuff in Steamworks, but I guess that is not what you are looking for and no idea about the other platforms.

I think you misunderstood my question.  I'm well aware of hosting options. -- I'm specifically trying to AVOID hosting my own service.

This is like a common game thing that every game does that eats up like almost no CPU or bandwidth, so I'd be quite surprised if there really aren't any matchmaking services out there...

I know Steam has one in their API that they host for you, but I have no idea how to get into the steam platform -- especially with a hobby game that I don't plan to sell on Steam. XD

I could imagine writing one that was an IRC channel... but that would be super sketchy and hacky...

I guess I'll probably just throw up a quick ASP.NET SignalR repeater on the Azure free tier. ?

It seems most of these game server browsers have died out since years.

You can look there for more infos: https://en.wikipedia.org/wiki/Category:Game_server_browsers

punching holes in NAT via UPNP

Note that UPnP isn't super wide-spread, and many places don't like turning it on for security reasons. (Some routers also come with it off by default.)

True NAT punch-through using an external introducer is more compatible overall. That being said, you HAVE to run a public service on a public IP for that to work. There are some STUN and TURN protocol servers that you may be able to use -- google for those protocols -- but I don't know off-hand of any reliable, publcly open one you can use for your own protocol.

If you're trying to avoid cost, you could perhaps set up a simple server on Amazon Web Services using their "free" tier. That lets you use a binary/process of your own (it's a virtual private server running linux,) and lets you run a small server free for a year. I imagine Azure and Google Cloud might have similar trial options. Then you need a domain name to point at this server, so the clients can realiably find it.

enum Bool { True, False, FileNotFound };

Out of frustration I just wrote my own and threw it up in Azure on their free tier using web sockets (their free tier is really free, and not a 1-year trial... and I just hit deploy in Visual Studio and it's live on the net in like 15 seconds... ?)

Good point about UPnP punching -- and good info on STUN / TURN, I was not aware of those protocols... It is now on my TODO list to learn more about them... ?

For now I will just add validation on the server to check if the client listing their game actually has the port open or not; it's for a free hobby project, so hopefully that will be enough for most of us (UPnP seems pretty ubiquitous these days, in my experience, but I've noted your objection and will look into the STUN / TURN stuff if I have issues ?).

If there's any demand, I may open the source the code (might do it anyway eventually, it's C# and ridiculously simple, super ugly, but simple)... for now I'm just screwing around with it though. ?

This topic is closed to new replies.

Advertisement