Skip to main content
Version: latest - a1.7.0 ⚖️

Behördenkonzepte

Alles was Sie über die Konzepte der Behörde & Network Authority wissen müssen.

Behörde

Einige Klassen können nur auf dem Server erzeugt werden, andere können nur im Client erzeugt werden, und es gibt einige, die sowohl auf Server als auch auf Client erzeugt werden können. Die Seite, auf der die Klasse entsteht, nennt sich Authority.

Methods and Events Availability

Einige Methoden und Ereignisse in der API sind nur auf einer bestimmten Seite verfügbar (Client oder Server), andere sind nur auf der Seite verfügbar, die ihr Autorität):

Serverseite

Methode oder Ereignisse, die nur auf der Server Seite aufgerufen werden können.

Client-Seite

Methoden oder Ereignisse, die nur auf der Client Seite aufgerufen werden können.

Behördenseite

Methoden oder Ereignisse, die nur auf der Seite aufgerufen werden können, die sie hervorgerufen hat.

Both Sides

Methods or Events which can only be called in any side.

tip

Alle im Server erzeugten Entitäten werden automatisch im Client synchronisiert. D.h. Sie können auf seine Methoden zugreifen und alle Daten daraus ableiten, ohne sie manuell synchronisieren zu müssen.

Auf die gleiche Weise werden Entitäten im Client nur für diesen Client existieren, der Versuch, diese Entitäten an den Server zu schicken, führt zu Fehlern.

Netzwerk-Behörde

Ein weiteres wichtiges Konzept in der nanos-Welt ist die Netzwerkbehörde. We have a "distributed network authority" concept, which means the work of calculating physics and AI (for example) are automatically assigned and distributed to the clients. In general, if an Actor is near an in-game Character, it's physics will be calculated by that player's device. Der Spieler, der für die Berechnung und Freigabe der Ergebnisse verantwortlich ist, nennt sich Network Authority.

Der zugewiesene Spieler wird automatisch vom Server berechnet und berücksichtigt einige Dinge diese Berechnung wird nur durchgeführt, wenn der Spieler einen Charakter besitzt:

  • Die Distanz vom Charakter zum Objekt
  • If the Character is grabbing a Prop
  • If the Character is handling a Pickable
  • Wenn der Charakter ein Fahrzeug fährt
  • Wenn der Charakter nur erschossen etwas

In all this cases, the Player will be automatically assigned to be the Network Authority of that Object.

Die aktuelle Netzwerkbehörde überschreiben

Es ist möglich, die aktuelle Netzwerkbehörde einer bestimmten Entität durch die Methode :SetNetworkAuthority() zu überschreiben.

caution

Hinweis: Einige Akteure sind nicht Network Distributed. Dies bedeutet, dass sie nicht automatisch zugewiesen werden und auch nicht in der Lage sein werden, ihre Netzwerk-Behörde zu ändern. Sie können überprüfen, ob eine Entität mit der Methode :IsNetworkDistributed() vertrieben ist.

Beispiele für Aktionen, die nur von der Netzwerkbehörde des Akteurs ausgeführt werden

  • Objects Physics Sync (einschließlich beim Aufruf von :SetForce()).
  • NPCs walking with :MoveTo() or :Follow().

Debugging Network & Network Authority

We've added a new option in the settings to Draw Network Debug information in the World, you can toggle it in the settings (Settings -> Debug -> Draw Network Debug), it will draw squares on each entity and traces representing their networked movement.

Entity Square Colors Meaning

The Square in the entities represent the state in the Network Authority and it's health.

ColorMeaning
BLUEYou are the current Network Authority of that entity.
You are sharing sync data to the other players.
WHITEYou are not the Network Authority and the entity is sleeping.
The current Network Authority is not sending sync data because the entity is sleeping.
GREENYou are not the Network Authority and the entity is being synced in a good cadence (no lag).
ORANGEYou are not the Network Authority and the entity is being synced in an ok cadence (small lag - < 100ms).
REDYou are not the Network Authority and the entity is being synced in an bad cadence (big lag - > 100ms, maybe even with packet loss).

Entity Trace Colors Meaning

The Traces in the entities represent the network data received from the server. If you are the network authority you won't see the traces. The arrow points from where the entity is currently in your machine and where it should be accordingly to the network authority.

ColorMeaning
GREENThe entity is being synced in a good cadence (no lag).
ORANGEThe entity is being synced in an ok cadence (small lag - < 100ms).
REDThe entity is being synced in an bad cadence (big lag - > 100ms, maybe even with packet loss).