Damit Spieler eigene Inhalte Deines Servers wie Modelle, Texturen, Sounds oder Maps sehen, müssen sie diese herunterladen. Mit FastDL laden die Spieler diese Dateien beim Beitreten über HTTP von Deinem Webspace herunter. Du hinterlegst dafür die Adresse des Webspaces in der server.cfg und legst per Lua fest, welche Dateien heruntergeladen werden sollen.
Voraussetzungen für FastDL
Für FastDL benötigst Du einen eigenen Webserver bzw. Webspace, der über http:// oder https:// öffentlich erreichbar ist. Dein Garry's Mod Server selbst ist kein Webserver und kann die Dateien nicht über HTTP ausliefern.
Inhalte auf dem Gameserver bereitstellen
Die Dateien, die die Spieler herunterladen sollen, müssen auch auf Deinem Gameserver liegen. Fehlt eine Datei auf dem Server, wird sie nicht in die Downloadliste aufgenommen.
-
Server stoppen
Stoppe Deinen Server über die Verwaltung. -
Per SFTP verbinden
Verbinde Dich per SFTP mit Deinem Server. -
Inhalte hochladen
Lade Deine Inhalte als Addon in einen eigenen Unterordner hoch, zum Beispiel:/garrysmod/addons/meinserver-inhalte/Darin liegen die Unterordner wie
materials/,models/odersound/. Eigene Maps legst Du als.bsp-Datei unter/garrysmod/maps/ab.
Dateien auf den Webspace hochladen
Die Spieler fordern jede Datei unter der Adresse Deines Webspaces mit demselben Pfad an, den sie relativ zum Ordner garrysmod/ hat. Die Ordnerstruktur auf dem Webspace muss deshalb genau der Struktur im Spiel entsprechen.
-
Ordnerstruktur anlegen
Lege im Hauptverzeichnis Deines Webspaces dieselben Ordner an, die Deine Inhalte verwenden, zum Beispielmaps/,materials/,models/undsound/. -
Dateien hochladen
Lade die Dateien in die passenden Ordner hoch. Den Addon-Ordner selbst lässt Du dabei weg: Aus/garrysmod/addons/meinserver-inhalte/materials/meinserver/logo.vmtauf dem Gameserver wird auf dem Webspacematerials/meinserver/logo.vmt. -
Dateien optional komprimieren
Du kannst die Dateien zusätzlich im Format bzip2 komprimieren, um die Downloads zu verkleinern. Die komprimierte Datei bekommt dabei die Endung.bz2an den vollständigen Dateinamen angehängt, zum Beispiellogo.vmt.bz2. Die Spieler fragen zuerst die.bz2-Datei an. Gibt es keine komprimierte Fassung, laden sie die unkomprimierte Datei herunter.
Download-URL eintragen
-
Datei öffnen
Öffne per SFTP folgende Datei:/garrysmod/cfg/server.cfg -
URL eintragen
In der Datei steht bereits die Zeilesv_downloadurl "". Trage zwischen den Anführungszeichen die Adresse Deines Webspaces ein:sv_downloadurl "https://fastdl.example.com"Die Adresse muss auf das Verzeichnis zeigen, in dem die Ordner
materials/,models/usw. liegen. -
Download vom Gameserver deaktivieren
Füge unter der Zeile// Add custom lines under herefolgende Zeile hinzu:sv_allowdownload 0Damit laden die Spieler keine Dateien direkt vom Gameserver herunter. Warum das wichtig ist, erfährst Du unter Download direkt vom Gameserver.
-
Datei speichern
Speichere die Datei.
Dateien zum Download markieren
Damit die Spieler die Dateien herunterladen, musst Du sie in einer serverseitigen Lua-Datei für den Download markieren. Dafür gibt es zwei Funktionen:
| Funktion | Beschreibung |
|---|---|
resource.AddFile |
Markiert die Datei und alle zugehörigen Dateien. Bei einer .vmt-Datei wird automatisch die gleichnamige .vtf-Datei hinzugefügt, bei einer .mdl-Datei automatisch die gleichnamigen .vvd-, .ani-, .dx80.vtx-, .dx90.vtx- und .phy-Dateien. |
resource.AddSingleFile |
Markiert nur genau die angegebene Datei. |
-
Lua-Datei anlegen
Lege per SFTP eine neue Datei an, zum Beispiel:/garrysmod/lua/autorun/server/fastdl.lua -
Dateien eintragen
Trage pro Datei eine Zeile ein. Der Pfad wird relativ zum Ordnergarrysmod/angegeben – ohneaddons/<addonname>/davor und ohne die Endung.bz2:resource.AddFile( "materials/meinserver/logo.vmt" ) resource.AddFile( "models/meinserver/stuhl.mdl" ) resource.AddFile( "sound/meinserver/musik.wav" ) resource.AddFile( "maps/rp_beispielstadt.bsp" ) -
Server starten
Speichere die Datei und starte Deinen Server. Beim nächsten Beitreten laden die Spieler die markierten Dateien von Deinem Webspace herunter.
Einschränkungen von FastDL
Download direkt vom Gameserver
Über die ConVar sv_allowdownload können Spieler Dateien auch direkt vom Gameserver herunterladen. Diese Methode solltest Du nicht verwenden: Sie ist mit rund 64 KB/s sehr langsam.
