I’m making an action game where 4 players fight in an arena
1. Is it possible to have 1 of the players be the host and for the other players to connect to him through a server browser WITHOUT the host having to do things like port forwarding?
2. Would it be very easy for the host to hack/edit the game? If this is F2P with microtransaction (using Kongregate) how would I get around any problems?
You mean using photon for the master server to connet people with a server browser?
or do you mean
the player host using photon software (not 100% sure what photon is)?
Photon Cloud will relay messages just as the unity master server will relay messages. This will clear up some differences Fusion 2 Introduction | Photon Engine
It’s a networking solution, I’ve not used it in a while as I now work with Photon Server instead, and it’s generally considered to be better than Unity’s built in networking at the very least.
What is your plan to handle cheating? Are you planning for the player who is the current ‘server’ to check all incoming values? That won’t stop the server player from cheating. In a 4 player game there is a 25% chance it’ll be the player who wants to cheat which is pretty high odds for a game you want to introduce micro-transactions in.
Also, Photon Cloud is a solution with which you can easily implement an authoritative setup. Photon Server is though but its complexity is far greater than Unity’s built in networking or Photon Cloud but a couple orders of magnitude. If you want to have an online game, and care about someone hacking, you’ll need server side logic to prevent it and only a remote server, such as you, to host the game for others to connect to.
Ok, you’re going to find it hard to find any networking solution that will allow for an authoritative setup for free.
I don’t think we’re agreeing on the definition of authoritative. You’re saying “I’m going to make it authoritative, but yeah I have no idea how to stop the server runner from cheating” when, when I say authoritative, I mean no player is hosting the server. You’re suppose to host the server yourself and have players connect to it if you want it to be authoritative.
This has nothing to do with authoritative setup. Autoritative means that the server instance of the game decides over all actions executed. Be it a dedicated server running Photon or SmartFox and alike, or a Unity3D Networking server instance which can be started by any client.