Documentazione di Steamworks
Server di contenuti locale di SteamPipe

Introduzione

Un server di contenuti locale (LCS) è un server locale HTTP, come Apache o nginx. L'utilizzo di un LCS migliora i tempi di iterazione dei depot, poiché questi non vengono caricati e distribuiti tramite la rete pubblica di Steam. I contenuti dei depot vengono invece memorizzati sul tuo LCS in blocchi di file e trasmessi ai client di Steam che hanno accesso all'LCS.

Quando crei contenuti per il tuo LCS, il builder dei depot deve comunicare con il server dei master depot di Steam (MDS), ma non carica alcun contenuto. Vengono caricati su Steam solamente i metadati dei tuoi depot locali, poiché questi sono gestiti attraverso il sito di Steamworks (come i contenuti pubblici).

L'LCS serve solo contenuti dei depot e non sovrascrive altre configurazioni di gioco. I contenuti dei depot sono sempre codificati sul tuo LCS (così come sui server pubblici). Anche se qualcuno dovesse essere in grado di scaricare blocchi di depot dal tuo LCS, non sarebbero in grado di decodificarli senza le relative chiavi.

Impostazioni di un server di contenuti locale

Innanzitutto, scegli un server web semplice e ad alta velocità che deve solo servire file statici. Noi utilizziamo il server web open source mongoose, poiché le prestazioni di download di Apache su Windows erano troppo lente (3 MB/sec) e configurarlo era complicato.

Nel tuo SDK di Steamworks troverai una directory chiamata "/tools/ContentServer/", che contiene una versione già pronta di mongoose-3.1.exe. Esegui questa applicazione dalla directory ContentServer.

Crea un nuovo script vdf app_build. Il formato che seguiamo di solito è: app_build_[AppID]_Local.vdf.

Questo vdf dovrebbe essere simile ai tuoi normali script di caricamento di SteamPipe, ma deve avere una chiave "local".
"appbuild" { "appid" "[AppID]" "local" "[PathToYourSteamworksSDK]\tools\ContentServer\htdocs" // ... }

Esegui il tuo nuovo script vdf app_build tramite steamcmd.

Dopo che avrai creato con successo una versione locale del tuo gioco, vai alla pagina build SteamPipe del tuo gioco.

Trova la tua build locale nella lista delle build correnti e seleziona "Locale" dal menu a tendina vicino alla build locale desiderata, quindi clicca su "Anteprima delle modifiche".
setLCSLive.png

Configurazione del client di Steam per l'utilizzo del tuo server di contenuti locale

Affinché il client di Steam sappia dove cercare il tuo gioco, dovrai creare il file steam_dev.cfg nella stessa directory che contiene steam.exe.
Questo file dovrebbe contenere il seguente testo:
@LocalContentServer YourWebServerName

Esempi:
@LocalContentServer localhost @LocalContentServer "127.0.01:8080"
  • Possono essere usati sia l'indirizzo IP che l'hostname del server.
  • Se devi specificare una porta diversa da 80, devi usare "ip:port" tra virgolette.
  • Non aggiungere "http://" all'inizio, il protocollo HTTPS non è supportato.

Nota: il percorso predefinito dell'eseguibile di Steam è: