Search Unity

Authoritative Network Low Level with Unity Network?

Discussion in 'Multiplayer' started by RuggeriExtreme, Mar 19, 2015.

  1. RuggeriExtreme

    RuggeriExtreme

    Joined:
    Jul 31, 2012
    Posts:
    33
    Hello everyone,
    i'm trying to make a simple complete authoritative network, all server-side based with Unity Network.

    I read a lot of threads and posts about this network system with Unity, but i have a few questions that i'm trying to figuring out.

    For definition the connection between all clients in the Unity Network Low level is allowed.
    I read that making an authoritative network means that i have to send from clients only RPC request to the server for a request of doing a thing.
    That means a sort of this:
    {Server}
    [RPC]
    void RequestSpawnAnything()
    {
    Network.Instantiate(obj, etc.);
    }

    {Client}
    networkView.RPC("RequestSpawnAnything", RPCMode.Server);

    In the Authoritative network i have to deny all of these:
    {Client}
    networkView.RPC("AMethod", RPCMode.Other or All etc.);
    Network.Instantiate(obj, etc.);

    But, for definition the API in the Unity network allows clients to make this.

    There are no ways to deny at low level any kind of these.

    At low level a client knows all clients connected to this server.
    So there is no way to obligate a client to make a request only to the server.

    As well as there is no way in the API of Unity Network to handle ALL requests made by other clients and deny manually these.

    So, what is the right method to make the strongest authoritative network with Unity Network?

    Coding in this way truly prevent always cheating and injecting DLL or any kind of cheating attempts?

    Thanks for your time!
     
  2. chrismarch

    chrismarch

    Joined:
    Jul 24, 2013
    Posts:
    472
    If you can wait, you could wait for UNet: http://blogs.unity3d.com/2014/06/11/all-about-the-unity-networking-transport-layer/
    If you can't wait, you will need middleware or roll your own code.
     
  3. RuggeriExtreme

    RuggeriExtreme

    Joined:
    Jul 31, 2012
    Posts:
    33
    Thanks chris for the reply, it is just a curiosity because i've seen many games made with Unity and based upon Unity network.

    So, Unity Network for now doesn't allow us to make these kind of things for security, role-turn based games, data security, etc.?
     
  4. chrismarch

    chrismarch

    Joined:
    Jul 24, 2013
    Posts:
    472
  5. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    If you wanted a lot of control over your server, you can try DarkRift. Really easy to learn but gives you full control over your server. You can store all your connections in a list and manage your players that way. Sending a message to the server is as easy as sending a message to another player. Sending a message from the server is even easier.
     
  6. imgodot

    imgodot

    Joined:
    Nov 29, 2013
    Posts:
    212
    I would suggest checking out ULink.
    It's free, unless you are going to be making money off of it (despite their confusing messaging on the subject), and it is designed to implement authoritative servers.
     
  7. RuggeriExtreme

    RuggeriExtreme

    Joined:
    Jul 31, 2012
    Posts:
    33
    Thanks guys, I already know ULINK and actually wanted to point to that, but the price is unaccessible for now.
     
  8. GoGoGadget

    GoGoGadget

    Joined:
    Sep 23, 2013
    Posts:
    864
    RuggeriExtreme likes this.