Steamworks-Dokumentation
Steam-Netzwerk
Wir haben mehrere Netzwerk-APIs, die für das Versenden von Nachrichten zwischen Spielern verwendet werden können.

Unsere neusten APIs leiten Pakete standardmäßig über Valves Netzwerk weiter. Dadurch wird sichergestellt, dass Spieler und Spielserver geschützt sind. Sie haben eine höhere Leistung und bieten eine zusätzliche Ebene der Zuverlässigkeit. Unterstützt auch gewöhnliche Verbindungen über UDP. Eine Open-Source-Version dieser API ist verfügbar unter: github.
  • ISteamNetworkingMessages: übergeordnete Schnittstelle zum Senden von Nachrichten an beliebige Peers. Wie bei UDP werden keine Verbindungshandle genutzt. Ähnlich wie bei der Funktion sendto() socket bestimmen Sie beim Versenden jeder Nachricht einen Empfänger. Sie brauchen keinen Peer als Client auszuwählen, um die Verbindung zu initiieren, und der Server braucht weder auf Client-Verbindungen zu warten noch muss er sie akzeptieren. Jeder Peer kann sofort Nachrichten senden. Aufgrund ihrer Ähnlichkeit zu UDP, lässt sich diese API am einfachsten in den UDP-Code portieren. Im Gegensatz zu unformatiertem UDP unterstützt die API jedoch Nachrichten, die größer als ein einzelnes Paket sind, und eine zuverlässige Nachrichtenübermittlung. Der Datenverkehr wird über das Valve-Backbone weitergeleitet, oder es kann gegebenenfalls eine direkte Verbindung hergestellt werden.
  • ISteamNetworkingSockets: Verbindungs-Handle-orientierte Schnittstelle auf niedriger Ebene zum Senden und Empfangen von Nachrichten
  • ISteamNetworkingUtils: Verschiedene Dienstprogramme, einschließlich Werkzeuge zum Einschätzen der Ping-Zeiten zwischen Internet-Hosts
  • steamnetworkingtypes: Header mit vielen gängigen Typen und Dienstprogrammen
  • Steam Datagram Relay ist ein Dienst zur Übertragung Ihres Spieltraffics über den Valve-Backbone. Dies verhindert, dass IP-Adressen entdeckt werden können, und verbessert in einigen Fällen Ping-Zeiten und Verbindungsqualität. Alle P2P-Verbindungen werden bei Bedarf automatisch über das Valve-Backbone weitergeleitet. In diesem Dokument wird beschrieben, was Sie tun müssen, wenn Sie SDR für dedizierte Serverspiele verwenden möchten, um die Ping-Zeiten zu optimieren und Server vor DoS-Angriffen zu schützen.

ISteamNetworking ist eine veraltete API. Falls Sie diese verwenden, empfehlen wir in Kürze auf eine neuere API zu migrieren, da wir diese API möglicherweise in einer zukünftigen Version aus dem SDK entfernen.

Diese API funktioniert am besten in Kombination mit Steam-Spielsuche und Lobbys. Je nach Pakettypen könnten Sie alles über den Host-Spieler (in der Regel ist dies der Lobbybesitzer) weiterleiten. Andernfalls haben Sie die Möglichkeit, Pakete über den Spielserver oder direkt an individuelle Spieler zu senden.

Im Internet sind viele hervorragende Artikel zu verschiedenen Netzwerkthemen zu finden. Hier sind einige Empfehlungen von uns:

Siehe Steamworks-API-Beispielanwendung (SpaceWar) für ein Beispiel, wie ISteamNetworkingSockets für die Kommunikation zwischen Client und Server verwendet wird.