Feedback on MP Systems

Hey there folks, I’ve been reading a lot of forums and have read over all different types of systems, everything from photon to uLink. My question is, does anyone have any (constructive) opinions on what sort of system I should be looking into? I know that’s a generic question, based on needs, so here are mine;
I’m working on a 2D RPG with many platforming elements, some events in which the player has a birds-eye or “blimp” view. (Think old zelda or rpg maker kinda style, but mostly side platforming.) It’s (currently) singleplayer and due to the amount of content I’ve added in and the style in which I’ve setup the RPG so far, I’m heavily considering the possibility of creating an internet co-op system. Client hosted, no world servers nothing fancy. Just a player is in their game, they invite someone or connect direct to an IP and then they’re in the world.

Many of my mechanics are MP friendly and even the combat and looting system is so tied to the individual client that it would be nothing more than relaying what is visually happening in the game world. (Hope that all makes sense.) So, with all of that info known, what would be a sensible system to go with, I’m of course on a budget and anything that requires monthly payments would make me nervous from a business point of view.

Thanks!

It’s almost impossible to achieve this if you want a multiplayer game playable outside of a LAN.
You will always need a way for the players to be able to find/connect other players.
For this you will most likely need a online service or run an app on a dedicated server, which costs monthly.

The dedicated server option doesn’t worry me at all, I have a couple of my own with a stable internet line. (Dedicated Static IP over 50mb/s.) Also renting a dedicated server for a small piece of software doesn’t worry me either as far as cost; I was more referring to online services that cost hundreds per year.

But I’m more unsure on why system to go about using to implement it.

In that case you have some options.
Run a masterserver instance so the hosts can advertise the server instances and the NAT punch through can be done from that same server.
Or go for one of the 3rd party networking solutions like Photon server or SmartFox server or other…
If you like C# then go for Photon (my personal opinion)