Steamworks-dokumentaatio
Steam-tietoliikenneverkot
Käytössä on useampi tietoverkkoon liittyvä ohjelmointirajapinta, joita voi käyttää pelaajien väliseen viestittelyyn.

Uusimmat ohjelmointirajapinnat välittävät paketit oletusarvoisesti Valven verkon kautta, millä varmistetaan pelaajien sekä pelipalvelimien suojaus. Tämä tarjoaa paremman suorituskyvyn ja luotettavuuden. Se tukee myös tavallista UDP-yhteyttä. Avoimen lähdekoodin versio on saatavilla GitHubissa.
  • ISteamNetworkingMessages on korkeamman tason käyttöliittymä viestien lähettämiseen satunnaisille vertaisverkon koneille. UDP:n tapaan sekään ei käytä yhteyskahvoja. Määrität viestien vastaanottajat joka kerta lähettäessäsi viestin, samaan tapaan kuin soketin funktiossa sendto(). Sinun ei tarvitse valita yhtä vertaisverkon konetta asiakkaaksi ja muodostaa yhteyttä, eikä palvelimen tarvitse "kuunnella" asiakkaan yhteydenottoja tai "hyväksyä" niitä. Vertaisverkon koneet voivat lähettää viestejä heti. Koska se on pitkälti samankaltainen kuin UDP, olemassa oleva UDP-koodi on todennäköisesti helpoin mukauttaa tähän ohjelmointirajapintaan. Toisin kuin raw UDP, tämä ohjelmointirajapinta tukee viestejä, jotka ovat yksittäistä pakettia suurempia, ja siinä on luotettava viestintoimitus. Liikenne välitetään Valven runkoverkon kautta, tai tarvittaessa voidaan muodostaa suora yhteys.
  • ISteamNetworkingSockets on matalamman tason yhteyskahvaorientoitunut käyttöliittymä viestien lähettämiseen ja vastaanottamiseen.
  • ISteamNetworkingUtils sisältää erilaisia apuohjelmia, mm. työkaluja eri internet-isäntien verkkoviiveaikojen arvioimiseen.
  • steamnetworkingtypes on otsikkotiedosto, jossa on useita yleisiä tyyppejä ja apuohjelmia.
  • Steam Datagram Relay on Valven runkoverkon kautta välitetylle peliliikenteelle tarkoitettu palvelu. Se estää IP-osoitteiden näkymisen ja parantaa monissa tapauksissa verkkoviiveaikoja ja yhteyden laatua. Kaikki vertaisverkkoyhteydet välitetään automaattisesti Valven runkoverkon kautta, kun se on tarkoituksenmukaista. Dokumentti kuvaa, mitä sinun tulee tehdä, jos haluat käyttää SDR:ää dedikoitujen palvelimien peleille optimoidaksesi verkkoviivettä ja suojataksesi palvelimet palvelunestohyökkäyksiltä.

ISteamNetworking on vanhempi, vanhentunut ohjelmointirajapinta. Jos käytät sitä, harkitse siirtymistä uudemman ohjelmointirajapinnan käyttöön pian, sillä poistamme tämän jossain vaiheessa SDK:sta.

Tämä ohjelmointirajapinta toimii parhaiten Steamin pelihaun ja aulojen kanssa. Pakettien tyypeistä riippuen voit reitittää kaiken yhden pelaajan kautta, joka toimii isäntänä (yleensä aulan omistaja) tai pelipalvelimena, tai voit lähettää kaiken suoraan pelaajille.

Internetistä löytyy useita hyviä artikkeleita aiheeseen liittyen. Tässä pari suositusta:

Steamworks-ohjelmointirajapinnan esimerkkisovelluksesta (SpaceWar) löytyy esimerkki ISteamNetworkingSockets-käyttöliittymän käytöstä asiakasohjelman ja palvelimen välisessä kommunikaatiossa.