1. In the docs, there are various references to "network this with that". An example is here.

    What does this mean in terms of gameplay mechanics?

    Thanks
     
  2. Wulf

    Wulf Community Admin

    Rust is a multiplayer game, which involves networking clients together as well as different aspects of the game.
     
  3. But Rust has a client/server structure which should not necessarily need client to client communication.

    Are some parts P2P?

    Looking at your vanish plugin, you tell specific clients to destroy the invisible Player/Item.

    Is this typical for Unity and can the respective docs/knowledge be found there?
     
  4. Usually the explanation to what a word means does not and should not include the word.

    Did you mean to say:
    Rust is a multiplayer game, which involves networking clients together. Rust, the multiplayer game, also involves different aspects of the game.
    Rust is a multiplayer game, which involves networking clients with each other as well as networking clients with other aspects of the game.
    Rust is a multiplayer game, which involves networking clients together, and, at the same time, networking different aspects of the game.

    Unfortunately, none of the three possible semantically rephrased versions of your original sentence explain what that word means in the contexts of Rust plugin programming.

    I want to know what the difference is when two things are networked, from when they are not networked together.
     
  5. Wulf

    Wulf Community Admin

    In terms of Vanish and the CanNetworkTo hook, the plugin is controlling which entities are networked to other entities (ie. other players) which in turn allows only those that are allowed to and the server itself to know that entity exists.

    Networked = they communicate and can see each other, Not networked = they are oblivious to each other.
     
  6. A simple understanding of what the word "network" means and you probably would have answered your own question(s).
     
  7. Not really, I'm a senior computer science major in college, so I know what "network" means more than you. If you look at the 14 definitions on Dictionary.com for the word "network", none of them describe what that word means in the context of a Rust plugin. I bet you wouldn't have been able to tell me what it meant if it wasn't for this thread. It's easy to pretend to be knowledgeable on something after you've been told about it.
     
  8. I actually know very well what it means because I've used it in many (personal) plugins. Perhaps I was mistaken in thinking it was fairly obvious, but ever since I saw the hook introduced I knew what it did.

    I may have upset you, it wasn't my intention, and I'm sorry for that. From what I observed it seemed like you weren't familiar with the word or the (other) uses of it. I'm quite certain you can find a definition that can be applied to what it does in a Rust plugin. I'm not going to go into a deep argument because Wulf already described what it does.
     
  9. Hey @Wulf , this post was meant to insult me and was unnecessary, could you warn him? Of course I have "a simple understanding of the word network"

    He was defending you, since my reply to your reply to my thread was a little mean. However, your reply seemed a bit arrogant, and so that is why my reply to your reply was also arrogant. He then defended your reply by insulting me that I didn't have a simple understanding of the word network.

    Crap like this should not be welcome in a forum, otherwise immature children like him will keep others from feeling like they can freely ask questions on this forum.

    Also, if that is so, then congrats. I didn't say you didn't know what that word means, I just said that I know it better than you. Yes you were mistaken in that it was fairly obvious. You're lucky that you understood it when you saw it, perhaps that is because you don't know the other definitions of the word "network" and so the only one that came into your head was the correct one?

    I believe it was your intention to upset me, since you declared that a "simple" understanding" of that word would have negated the need for this thread. Finally, you need to assume less about people when there is no evidence towards your assumptions. I did not appear to not be familiar with that word.
     
  10. The documentation of `CanNetworkTo` indeed contains `x networks with y` which could probably be changed a bit to make it more clear on what it exactly does. This hook allows you to block or send the updates the server received from a client to another client.

    As for describing the word "network" in context of a Rust plugin, you simply don't. You have to see a Rust plugin, once compiled, as part of the server, so the actual context would be the Rust server or game server in general. Which actually brings us to multiplayer game development which refers to this as "Networking". For more technical information you can view the Unity Documentation on it here: Unity - Manual: Networking Overview.

    As example you can take the Vanish plugin. When the server obtains updated information about a player it will send this information to all the players in the same network group. But this plugin will, when a player is vanished, utilize the `CanNetworkTo` hook to stop this information from being sent to the other players while still allowing that player to receive updated information which allows the vanished player to roam around and see everything without anyone being able to see that vanished player.

    This is however not limited to hiding players from other players and such, you can do this for any entity that is available. For example, you could spawn a lootcrate that is only available to a certain player or a certain group of players.
    P2P is only used for the in-game voice communication.
     
    Last edited by a moderator: Mar 27, 2017
  11. So, does Rust use a pretty standard Unity structure or are there any relevant gotchas?
     
    Last edited by a moderator: Mar 27, 2017