Tag Info

New answers tagged

0

Panda Pajamas excellent answer has covered a lot of the topic, but if you want more detailed information I suggest taking a look at Gaffer on Games series of blogs on 'UDP vs TCP'. There Glenn Fiedler goes into more detail about the problem with using TCP for games with real-time requirements, and suggests how you can build reliability into your own ...


3

One of the most common misunderstandings of TCP vs UDP is that TCP's main feature is reliability. The main feature of TCP is that it abstracts a stream of data to send from one socket to another. Reliability, as provided by TCP is a requirement for the abstraction to work. You might want to consider basing your decisions on whether or not a stream ...


13

While ideal, it is practically improbable to validate every single input against the server, both in terms of computational load and latency in input confirmation for the client. Consequently there are usually a handful of things that aren't validated on the server in many MMOs. In some cases this includes certain classes of character movement, which is why ...


4

Many MMO's are designed with client-side hit prediction. So if there is a hit on the client, it sends that result to the server that there was a hit. In this case the server is not truly authoritative, and thus cheating is possible. To be honest, if I were designing an MMO, I would make the server fully authoritative, with the client only sending clamped ...


1

Unity's Asset Bundles were designed specifically for this purpose, to allow you to add/download new Unity content and prefabs without the user having to update their game client at all. http://docs.unity3d.com/Manual/AssetBundlesIntro.html


7

One of the reasons why there are protections is that reading the game state could allow bots to know the state of the game and act accordingly. For instance, grinding in a MMO: if the "bot" knows what mob is around, it can send commands to the game clients to select the mob, hit it until its life is 0, pick up the loot, rinse and repeat. With this, even if ...


2

Laszlo Fuleki's answer is fine. The problem is that, if you are asking this, you probably are not using a suited level structure. So if there's an internet connection, check for a new level avaliable and if it proceeds, show it to the user (you can use a system notification or an inbox icon inside the game). Then there are 2 options: The level is already ...


1

Since you use security checks on the server, in your place I would use the existing backend to provide the daily new level as well. You could transmit a JSON, XML, whatever really to the client, and based on that the client would construct the level. This way you would have full control over what is available and what is not (e.g. sending level data when the ...


2

As per the documentation, [Command] and [ClientRpc] should be in a NetworkBehaviour, not in a MonoBehaviour. NetworkBehaviour's must be spawned using NetworkServer.Spawn(). Moreover you should use a NetworkClient Object to connect to the Server. Take a look at this Note: As of Unity 5.1 offline documentation is not up to date. Even some aspects of online ...


2

As for the update frequency it depends from the type of game. For an action type of game 30 updates per seconds should be perfectly smooth, but for an mmorpg (where you have thousands of players) better use something like 10 per second, to save server time. I doubt there will be any reason to have 60 updates per second, that will just use a lot of server ...



Top 50 recent answers are included