Garrys mod TTT Dedicated Server erstellen – Part 3: Steam Workshop integrieren

(93%) - 9 Stimmen

In diesem Teil soll es nun wie bereits angekündigt darum gehen, unserem Server ein wenig Leben in Form von Steam-Workshop-Inhalten wie neuen Waffen, Funktionen – oder dem allerwichtigsten: zusätzlichen Maps! – einzuhauchen.

Steam API-Key besorgen

Um mit eurem Server auf den Steam Workshop zugreifen zu können, braucht ihr zunächst einen Steam API-Key. Diesen könnt ihr euch unter http://steamcommunity.com/dev/apikey generieren lassen.

Für welchen Zweck man hier einen Domainnamen eingeben muss, erschließt sich mir hier nicht so ganz, soweit ich weiß ist dieser allerdings auch nicht weiter von Bedeutung. Wenn ihr wie im ersten Teil empfohlen eine no-ip-Domain angelegt habt, könnt ihr beispielsweise diese nutzen. Ansonsten könnt ihr soviel ich weiß aber auch jede andere Domain eingeben (In diesem Tutorial zum Beispiel wird steamidfinder.com als Domain genutzt).

Nach Bestätigung der Eingabe erhaltet ihr einen 32 Zeichen langen Schlüssel aus Zahlen und Großbuchstaben, den ihr euch am besten zunächst in einer Textdatei abspeichert.

Eine Workshop-Kollektion anlegen

Hinweis: Bevor ihr die Kollektion erstellt, abonniert am besten im Workshop ein beliebiges Garry’s Mod- Objekt – sonst kann es unter umständen zu Problemen bei der Einrichtung kommen.

Nun müsst ihr euch noch eine Workshop-Kollektion anlegen, in die von nun an alle Addons gepackt werden, welche auf eurem Server laufen sollen. Dieser Prozess ist eigentlich ziemlich selbsterklärend:

Im Workshop zu Garry’s Mod geht ihr in den Kollektions-Tab und klickt rechts auf “Kollektion erstellen”.  Ihr werdet nun durch eine Einrichtung geführt (Eigentlich ist alles, was ihr hier eingebt und auswählt ziemlich egal – nur beim Punkt “Um welche Art von Kollektion handelt es sich?” solltet ihr “Objekte, die zusammenpassen (zeigt einen „Alle abonnieren“-Knopf)” auswählen), welche eigentlich ziemlich selbsterklärend ist.

Nach einem klick auf Speichern und Fortfahren, habt ihr die Möglichkeit, jetzt schon Objekte zur Kollektion hinzuzufügen. Diesen Schritt überspringen wir aber zunächst, da dies später noch genauso gut möglich ist (Ein Objekt müssen wir leider hinzufügen, um mit der Einrichtung überhaupt weitermachen zu dürfen – hier kommt das am Anfang des Abschnitts abonnierte Objekt ins Spiel – im Tab Abonnierte Objekte könnt ihr dieses in die Kollektion holen – keine Angst, später kann es auch wieder daraus entfernt werden).

Ein weiterer Klick auf Speichern und Fortfahren bringt uns zum vorerst letzten Schritt bei der Einrichtung: wir sollen ein Hintergrundbild hochladen – auch hier ist eigentlich egal, was ihr hochladet, ihr solltet nur aufpassen, dass ihr bei keinem hochgeladenen Bild die Rechte anderer verletzt (Copyright, Bilder von anderen Personen, …) und auch ein Bild von der letzten Party ist eher fehl am Platz – zur Not legt ihr mit Paint ein reinweises Bild an und ladet dieses hoch.

Nach einem Klick auf den „Veröffentlichen“-Button seid ihr fertig (Das Veröffentlichen ist wichtig! Sonst kann der Server eure Kollektion nicht abrufen).

Nun könnt ihr nach belieben im Workshop nach Addons und Maps stöbern, die ihr auf dem Server nutzen wollt und diese via dem Button “Zur Kollektion hinzufügen” auf den Server packen. Verzichtet dabei aber darauf, andere Kollektionen mit einzubinden, sondern holt euch lieber alle Addons dieser Kollektionen einzeln – mit verlinkten Kollektionen scheint der Server Probleme zu haben.

Das Serverstartscript anpassen

Da der Server von alledem ja noch nichts mitbekommen hat, müssen wir ihm nun noch mitteilen, welche Kollektion er denn nutzen soll. Hierzu braucht ihr noch die ID eurer Kollektion. Diese findet ihr heraus, indem ihr eure Kollektion in eurem Browser aufruft und euch die URL anschaut. Lautet diese zum Beispiel http://steamcommunity.com/sharedfiles/filedetails/?id=251913754, dann ist die ID eurer Kollektion 251913754.

Nun müsst ihr eurem Server noch euren frisch generierten API-Key und die ID der Kollektion mitteilen. Dies geschieht im Startscript über weitere Parameter:

+host_workshop_collection für die ID eurer Kollektion und -authkey für den oben frisch generierten Identifikationsschlüssel.

Habt ihr bisher also aus Tutorial Nr. 2 noch folgendes in eurem Startscript stehen:

srcds.exe -console -maxplayers 16 -game garrysmod +gamemode terrortown +map gm_construct

so wird das mit den passenden Ergänzungen zu

srcds.exe -console -maxplayers 16 -game garrysmod +gamemode terrortown +map gm_construct -authkey XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +host_workshop_collection XXXXXXXXX

Die XXXX müsst ihr natürlich dabei jeweils durch euren Key und eure Kollektions-ID ersetzen.

Wenn ihr bereits ein paar Maps in eurer Kollektion habt, könnt ihr bei dieser Gelegenheit auch gleich eine von ihnen als Startmap festlegen. Statt +map gm_construct schreibt ihr einfach +map EUER_MAPNAME

Ein Beispiel aus meiner Serverkonfiguration wäre hier: +map ttt_minecraft_b5

 Workshopdownload erzwingen

Es kann bei manchen Workshoppaketen vorkommen, dass diese von den Clients der Mitspieler nicht heruntergeladen werden, obwohl sie eigentlich im Spiel benötigt werden. Dies ist besonders häufig der Fall bei Content-Addons, wie sie zum Beispiel für den Pointshop benötigt werden. Die Folge ist, dass Texturen fehlen, Spieler als Error-Nachrichten herumlaufen oder ebendiese wild auf der Map verteilt herumliegen, was bisweilen ganz schön stören kann.

Mit einer kleinen Datei könnt ihr jedoch den Download dieser Pakete bei den Clients erzwingen. Beachtet dabei aber bitte, dass die Addons dann auf jeden Fall immer von allen komplett heruntergeladen werden müssen – eure Maps solltet ihr in die Liste also nicht mit aufnehmen, die werden normalerweise automatisch heruntergeladen und würden sonst den ersten Serverbeitritt eines potentiellen Mitspielers zur Qual machen.

Wie gehts?

Um den Download der Pakete zu erzwingen benötigt ihr eine lua-Datei, deren Inhalt auf jeden Fall beim Serverstart ausgeführt wird.

Halbautomatischer Weg

Um diesen Vorgang zu erleichtern habe ich ein kleines Tool geschrieben, in dem ihr bequem per Häkchen auswählen könnt, für welche Addons der Download erzwungen werden soll. Das Tool generiert euch daraufhin dann den Quelltext, den ihr mit der nachfolgenden manuellen Methode komplett von Hand erzeugen müsstet.

Manueller Weg

Am einfachsten geht das, wenn ihr im Unterordner /garrysmod/lua/autorun/server eine neue Lua-Datei mit beliebigem Namen erstellt. Die Dateien in diesem Ordner werden alle auf jeden Fall auf dem Server beim Starten ausgeführt.

Als Inhalt bekommt die Datei nun nur Zeilen nach dem folgenden Format:
resource.AddWorkshop( "workshopid" )[1]

Anstatt „workhopid“ müsst ihr für jedes Addon, dessen Download ihr erzwingen wollt dessen ID in Anführungszeichen einfügen.

Wenn also die URL eines Addons im Workshop http://steamcommunity.com/sharedfiles/filedetails/?id=1234567 lautet, müsstet ihr die folgende Zeile einfügen, um dessen Download zu erzwingen:

resource.AddWorkshop( "1234567" )

mit ein paar mehr Addons sähe das dann so aus:

resource.AddWorkshop( "1234567" ) --Pedobär Playermodel Version 1337
resource.AddWorkshop( "89101112" ) --Supermegatolle Spezialwaffe
resource.AddWorkshop( "13141516" ) --Total lächerlicher Hut für Pointshop

Wie ihr seht habe ich mittels zwei Bindestrichen hinter jede Zeile einen Kommentar gesetzt, welcher das Addon kurz beschreibt. Das macht das aktualisieren und Warten der Liste erheblich einfacher, da man nicht einfach nur vor einem Haufen Zahlen sitzt, sondern auf einen Blick sieht, um welches Addon es sich bei der jeweiligen Zeile handelt. Wenn ihr diese Datei nun abspeichert und euren Server neu startet, sollten von nun an alle Clients die spezifizierten Addons beim ersten Serverbeitritt herunterladen.

Welche Addons sind für den Start sinnvoll?

Ihr solltet von Anfang an darauf achten, euren Server – so cool die ganzen Addons auch klingen – nicht zu überladen. Sonst wird es für potentielle Spieler eine Qual, sich das erste Mal mit eurem Server zu verbinden, wenn sie zunächst 2 Stunden Workshop-Content herunterladen müssen, anstatt direkt losspielen zu können.

Deshalb hier eine kleine Liste von Addons, die auf einem TTT-Server durchaus sinnvoll sind:

Addons:

  • Mapvote – Der Name sagt alles. Anstatt immer von Hand in der Serverkonsole die Map ändern zu müssen, wird nach der Runde eine Liste mit Maps angezeigt, über die die Spieler abstimmen können.
  • TTT Weapon Collection – macht das Spiel durch zusätzliche Waffen – auch für Traitors und Detectives – etwas abwechslungsreicher.
  • ULX – Ein Addon zum administrieren des Servers. Von der kompletten Neukonfiguration des Servers (nur während einer Runde) bis zu einem Mapwechsel ist alles mit wenigen Mausklicks machbar. Die aktuelle Version des Addons sollte man sich auf jeden Fall auf der Herstellerseite herunterladen und nicht über den Steam Workshop, deshalb verlinke ich hier auf einen weiteren Teil dieser Artikelserie, wo die Installation von ULX genau erklärt wird.

Maps:

  • TTT Map Pack – ein guter Anfangsbestand an Maps, auf den man aufbauen kann.
  • ttt_minecraft_b5 – Tolle Map, es bleibt eigentlich immer spannend, ohne, dass sich alle an einem Punkt versammeln.
  • ttt_mw2_terminal – Für alle die gerne COD:MW2 gespielt haben: TERMINAL! Muss ich noch mehr sagen? (Auch wenn die etwas eckige Optik ein bisschen gewöhnungsbedürftig ist
  • ttt_rooftops_a2_f1 – eine durch die wenigen Verbindungen zwischen den Dächern immer sehr spannende Map – die Traitors haben viele Sniper-Möglichkeiten und können versteckt hinter einem Hausdach oder einer Ecke auch mal einen Innocent killen, ohne sofort aufzufliegen.
  • ttt_whitehouse_b2 – Ebenfalls sehr viele Möglichkeiten, sich zu verteilen und damit gute Chancen für die Traitors ohne dabei zu unausgewogen zu werden.
  • ttt__bb_teenroom_b2 – durch die einzelne Sniperposition auf dem Schrank leider etwas unausgewogene aber dennoch immer wieder lustige Map in einem riesigen Kinderzimmer – bietet viele kleine vernetzte Gänge durch Mäuselöcher in der Wand und im Lüftungssystem.

Wer weitere Vorschläge für gute Maps/Addons hat, kann diese gerne in den Kommentaren nennen, eventuell nehme ich sie dann in die Liste mit auf.


 NOCH FRAGEN?

Schau dir doch mal die FAQ an, vielleicht wurde deine Frage bereits beantwortet. Wenn nicht, schreibe mir gerne in den Kommentaren.

Weiter gehts in Part 4 mit dem Mounten der Dateien aus CounterStrike: Source

94 thoughts on “Garrys mod TTT Dedicated Server erstellen – Part 3: Steam Workshop integrieren

  • Hi Simon,

    ich möchte an dieser Stelle wirklich mal ein großes Dankeschön für dieses Tutorial aussprechen. Du beschreibst sehr detailliert, wie die Einrichtung von Statten geht. Dein Tool für das LUA-Script finde ich ebenso wirklich hilfreich. Weiter so.

    Gruß,
    Markus

  • Hallo,
    erst mal großes Lob an dich und dein super Tutorial.

    Ich schreibe im Moment ein Webinterface für einen Freund. In diesem Webinterface kann man sich eine Map aussuchen, mit der der Server gestartet wird. Früher habe ich das immer so gelöst, dass PHP einfach den Order „maps“ auf dem Server ausliest. Dort lagen alle .bsp Datein.

    Nun habe ich ebenfalls den Workshop mir eingebunden, allerdings habe ich hier nun ein Problem.
    Ich finde nirgendwo auf meinem Server Daten über die Maps. Ein anderer Lese hat schon mal gefragt wo die Daten des Workshops auf dem Server abgelegt werden. Deine Antwort war im „downloads“ Order.
    Hier sind allerdings keine Datein.

    Wie kann ich also sehen, welche Maps auf dem Server installiert sind. Das Plugin „MapVote“ nimmt diese Daten ja auch irgendwoher. Ich brauche halt eine Quelle die ich mit PHP auslesen kann.

    Gruss
    Nick

    • Hmm, das wird wohl leider etwas schwieriger, als du es dir vorstellst: Workshop-Addons werden auf dem Server als gma-Dateien in den addons-Ordner heruntergeladen. Diese Dateien haben allesamt Dateinamen nach dem Schema ds_$WORKSHOP-ID.gma. gma-Dateien sind Archive, die beliebig viele andere Dateien enthalten können – und da liegt das Problem: Beim Starten des Servers werden die Archive extrahiert und die Maps stehen dem Server ganz normal über eine Art virtuelle Verzeichnisstruktur zur Verfügung. Das heißt, das Mapvote Plugin kann einfach in dieses virtuelle Verzeichnis hineinsehen und „sieht“ ganz normale Mapdateien, wo es auch die Namen auslesen kann.

      Du allerdings als Außenstehender kannst nur mit den gma-Dateien und der Workshop-Kollektion arbeiten. Eine gma-Datei kann aber beliebig viele Maps enthalten, entsprechend schwierig wird es, da mit php irgend etwas auszulesen.

      Was mir bei kurzer Inspektion einiger gma-Dateien auffiel, die eine Map enthalten: Sie enthalten allesamt den String, des virtuellen Verzeichnispfades, unter dem die Map zu finden sein wird. Beim Addon mit ID 118623480 (ttt_community_pool) ist zum Beispiel recht weit oben der string „maps/ttt_community_pool.bsp“ enthalten.

      Rein theoretisch könntest du also mit php via exec() einmal strings über jede gma-Dateien jagen und im Ergebnis mit Hilfe von preg_match() nach einem Muster wie maps/(.*).bsp suchen. Um den Output von strings etwas einzuschränken, könntest du diesen (unter Linux) noch an grep pipen und nur nach .bsp suchen (also strings $dateiname | grep .bsp). Wenn du unter Windows arbeitest, musst du dir erst noch die Windows-Version von strings besorgen, die wird von Microsoft als Teil der Sysinternals zum Download angeboten. Deine Matches wären dann entsprechend die zur Verfügung stehenden Maps aus der jeweiligen gma-Datei.

      Alternativ (habe ich aber nicht ausprobiert) wäre es eventuell möglich, einfach file_get_contents() mit anschließendem preg_match() zu benutzen, anstatt den Umweg über exec und das doch recht langsame strings zu gehen.

      Auf jeden Fall solltest du deine Ergebnisse irgendwie cachen, damit dieses Procedere nicht bei jedem Seitenaufruf neu ausgeführt werden muss. Am besten durchsuchst du die Dateien nur neu, wenn sie sich wirklich geändert haben oder neue hinzugekommen sind.

      Ich hoffe, ich konnte dir ein bisschen helfen. Wenn du noch Fragen hast, melde dich gerne wieder.

      Viele Grüße, Simon

      • Vielen Dank für deine schnelle Antwort,
        aber das Problem fängt schon ganz oben an:
        Es existieren keine .gma Datein auf meinem Server…. Ich weiß, dass es kaum möglich ist. Aber ich finde nichts.

        • Kurzes Update: Ich habe bei mir gerade einen Server komplett neu aufgesetzt und auch da wurden beim ersten Serverstart nach Einrichtung der Collection alle Addons in gma-Dateien heruntergeladen. Beim Pfad lag ich allerdings falsch – der hat sich wohl seit meinem ersten Server leicht geändert: Anstatt im addons-Ordner liegen diese gma-Dateien jetzt im Ordner cache/srcds
          Falls du auch dort keine gma-Dateien findest: Hast du denn deinen Server schon einmal gestartet, nachdem du die Workshop-Integration vorgenommen hast?

          • Noch eine weitere Ergänzung: im bin-Verzeichnis des Servers gibt es ein executable namens gmad(.exe wenn du auf Windows unterwegs bist). Das erlaubt es, gma-Dateien einfach zu extrahieren: gmad.exe extract -file "C:\steamcmd\gm\cache\srcds\my_addon_12345.gma" -out "C:\this\folder". So könntest du natürlich auch einfach alle Addons entpacken und nach bsp-Dateien suchen. Da das gmad-Tool mit dem Server mitgeliefert wird, bist du da dann auch nicht davon abhängig, dass das Format der gma-Dateien immer gleich bleibt: Wenn sich das Format ändert, würde die String-Methode eventuell nicht mehr funktionieren, das gmad-Tool würde aber höchstwahrscheinlich so aktualisiert, dass es weiterhin alle Addons entpacken kann.
            Der einzige Nachteil wäre der Platzverbrauch der entpackten Addons – wobei du die auch wieder löschen kannst, sobald der map-Index erstellt ist.
            Hier ist eine gute Cachelösung aber auch wieder sehr wichtig, damit nicht jedes Mal alles neu entpackt werden muss.

          • Zu Punkt 1:
            Ja in der Tat liegen in diesem Pfad die gma Datein, allerdings sieht man bei mir nur eine Nummer. Mit den Nummern kann ich natürlich erstmal nichts anfangen. Gibt es eine Möglichkeit diese „umzuwandeln“.

            Zu Punkt zwei:
            Ich arbeite leider unter Linux. Dort gibt es eine Datei mit dem Namen „gmad_linux“
            Diese Datei Zeigt beim ausführen ohne Parameter folgendes an:

            test@TTT:~/ttt/bin$ ./gmad_linux
            Garry’s Mod Addon Creator 1.1

            Usage:

            Drag’n’drop a .gma onto the gmad.exe to extract it
            Drag’n’drop a folder onto the gmad.exe to convert it to a .gma

            gmad.exe create -folder path/to/folder -out path/to/gma.gma
            gmad.exe create -folder path/to/folder
            gmad.exe extract -file path/to/gma.gma -out path/to/folder
            gmad.exe extract -file path/to/gma.gma

            Add -warninvalid to automatically skip invalid files

          • Nun ein Update von mir:
            Dieses .exe „Gedöns“ unter Linux hat mich ein wenig verwirrt.
            Letztlich, habe ich dies wie folgt gelöst:

            find /home/xxx/ttt/garrysmod/cache/srcds/ -name \*gma -exec ./gmad_linux {} -out „/home/xxx/dump/“ \;

  • Hallo Simon,

    ich hab da mal wieder paar Fragen.
    Bin bei meinem Umzug auf einen anderen Server für die LAN (dieses Mal mit LGSM, Linux Game Server Managers) auf paar seltsame Sachen gestoßen, vielleicht kannst du mir ja helfen 😉

    1. Wo werden eigentlich die Files vom Workshop bei der Version mit den Kollektionen abgespeichert beim Client und Server? Der Addons-Ordner vom Client scheint nämlich nur für eigene Downloads vom Workshop zu sein (selber auf „abonnieren“ gedrückt) und nicht von Downloads von Servern.

    2. Beim ULX-Tutorial sollte man die files ja in den Addons-Ordner auf den Server kopieren. Das ganze lässt sich aber auch durch das entsprechende Addon aus dem Steam-Workshop wieder über die Kollektion reinladen. Ich verstehe nicht so ganz den Unterschied zwischen „über Kollektion“ und „über Addons Ordner“. Die beiden Ordner bzw. Methoden scheinen nämlich nicht zusammen zu gehören. Beides ist aber möglich…

    2. Deine „Workshopdownload erzwingen“-Anleitung ist ja noch ned so lange dabei, aber die soll ja auch als FastDL-Ersatz fungieren.
    https://nitrous-networks.com/support/article/91/fast-download-setup
    Weißt du warum die Geschwindigkeit nach Einbinden mit einer download.lua oder ähnliches plötzlich schneller ist?
    Übrigens: Solche Listen lassen sich einfach mit dem Tool http://www.configcreator.com/create/gmod/resources.lua einfach erstellen.

    3. Funktioniert allgemein einer der Methoden ohne Inet? Nicht, oder? Weil ansonsten können ja keine Files vom Workshop heruntergeladen werden. Nur ein „echter“ FastDL lädt eigenständig über den Server herunter und nicht über den Steam Workshop, oder?

    Ich hab leides das Gefühl nicht komplett durch zu blicken. Gmod ist allgemein sehr seltsam durch die verschiedenen Addon Möglichkeiten.
    Früher musste man ja oft noch Addons selber herunterladen und in ein gma-Format oder ähnliches umwandeln. Mittlerweile kann ich endlich Addons auch mit größeren Größen aus dem Workshop herunterladen ohne beim Serverstart „Failed“ also Error zu bekommen…

    Viele Grüße und vielen Dank
    Konstantin

    • Hi, ich denke, ich kann dir ein paar deiner Fragen beantworten:

      Zu 1.: Dafür gibt es den Ordner Downloads, der sich im selben Ordner befinden müsste, wie der Addons-Ordner.

      Zu 2.: Das hat sic soweit ich weiß so entwickelt, dass es zuerst nur die von Hand kopierten Addons gab (deshalb heißen die im englischen heute auch oft legacy-Addons). Irgendwann wurde die Option für den Workshop hinzugefügt und seitdem gibt es zwei Methoden, Addons zu installieren. Die Legacy-Addons wurden wahrscheinlich deshalb noch nicht abgeschafft, da diese sich im Gegenteil zu den Workshop-Addons auch zum Verkauf eignen (im Workshop kann man ja kein Geld verlangen). Da haben sich teilweise richtig große Handelsseiten entwickelt. Wenn man es genau nimmt, sind die Workshop-Addons auch nur in gma-Dateien gepackte Legacy-Addons, das kann man mit Tools wie Gmad auch ganz gut sehen, wenn man die Datei einfach wieder entpackt. Wie du ein Addon, das es in beiden Versionen gibt letztendlich installierst bleibt dir überlassen – beide Methoden bieten Vor- und Nachteile, dazu gleich mehr.

      Zu dem zweiten Punkt 2 😀 : Da hast du den verlinkten Artikel glaube ich leicht falsch verstanden: Der Artikel stellt nur genau die beiden Varianten der Addon-Einbindung vor und erklärt, was man zu tun hat, wenn man Workshop-Addons nutzen möchte.

      Zu 3.: Naja, wenn sowohl Server als auch Client schonmal alle Addons, die benötigt werden heruntergeladen haben, könnten sogar beide Methoden ohne Internetverbindung funktionieren – garantieren will ich da aber nichts, ich habe das nicht selbst ausprobiert und weiß entsprechend nicht, ob es wirklich klappen würde.

      Jetzt nochmal zu einem genaueren Vergleich beider Methoden:

      Erstmal Legacy:
      Das ist wie gesagt die ältere Methode. Der Vorteil ist, dass du genauste Kontrolle über alle Addon-Dateien und Einstellungen hast. So ist es auch ziemlich einfach, den Schaden einer Addon-Waffe oder ihre Magazi ngröße mal eben schnell abzuändern. Gronkh macht das zum Beispiel soweit ich weiß ganz gerne, indem er bei diversen Traitorwaffen neue Sounds einbaut. Außerdem sind die Addon-Dateien wie oben schon beschrieben nicht einfach so frei herunterladbar und können deshalb auch verkauft werden. Gleichzeitig bringen Legacy-Addons aber einen riesigen Nachteil mit sich: der srcds-Server bietet für den Addondownload eine maximale Bandbreit von 64kB/s (nagle mich bitte nicht auf die genaue Zahl fest, sowas in der Größenordnung war es aber glaube ich). Dieses Problem kann man über FastDL beheben, bei dem alle Addons zusätzlich auf einem schnellen Webserver hochgeladen werden. Der Spielclient bekommt dann die Anweissung vom Spielserver, die Dateien nichtmehr bei ihm, sondern von diesem Schnellen Webserver herunterzuladen – und schon geht alles sehr viel flotter.

      Nun zum Workshop:
      Diese Methode ist neuer und bietet einige Vorteile: Zuerst mal ist es offensichtlich viel einfacher, Addons zu einem Server hinzuzufügen. Man braucht nur einen Button zu klicken und fertig. Dann gibt es keine Bandbreitenbeschränkung beim Download (es wird ja alles von den Steam-Servern heruntergeladen), man muss also keinen FastDL mehr einrichten. Und zuguterletzt gibt es automatische Updates für alle Workshop-Addons, man muss sich also nichtmehr um das händische Aktualisieren kümmern. Allerdings bringen Workshop-Addons auch große Nachteile mit sich: Will man ein Addon anpassen, gibt das ein ganz großes Gefrickel mit Entpacken des Addons, Bearbeiten und wieder Packen. Da das Addon nun aber nichtmehr dem Workshop-Addon entspricht hast du sozusagen wieder ein Legacy-Addon produziert, das direkt vom Gameserver heruntergeladen werden muss. Damit hast du dann alle Vorteile des Workshops verloren.
      Ein weiterer, sehr großer Nachteil, ist der, der das Erzwingen von Downloads nötig macht: Der Server meldet dem Client im Gegensatz zu Legacy-Addons nicht alle Workshop-Addons, die benötigt werden. Sondern es wird immer nur die aktuelle Map und genutzte Waffen heruntergeladen, sonst nichts. Das hat natürlich den Vorteil, dass man beim ersten Serverbeitritt nicht ewig da sitzt und Addons herunterlädt. Allerdings hat es den Nachteil, dass der Client nichts von anderen Addons wie zum Beispiel Playermodels, Weapon Skins etc. erfährt. Wenn man also nicht ganz besonders gründlich bei der Erstellung der resources.lua ist, hat man am Ende immer einen verbuggten Server.
      Der letzte und nervigste Nachteil ist, dass der Workshop-Download (zumindest bei mir) sehr sehr oft nicht funktioniert. Entweder sind gerade mal wieder die Workshop-Server down oder sonst was – und schon kann keiner mehr dem Server beitreten, weil er die benötigte Map nicht herunterladen kann.

      So, das war jetzt doch ziemlich viel – ich hoffe, ich konnte etwas Licht ins Dunkel bringen – wenn du noch fragen hast, immer her damit 😉

      • Dein Link hat mich auf die Idee gebracht, mich mal selbst an einem Helfertool für das Anlegen einer resources-lua zu versuchen. Ich habe den Artikel mit dem entsprechenden Download ergänzt.

  • Hallo Simon,
    wenn ich mir den Server ehrunterlade kann ich ihn nur über srcds Anwendung starten, auch wenn ich eine Batch Datei erstellt habe, der läuft auch super ich kann aber damit nur gm construct oder flatgrass spielen hast du da eine Idee?

    • Moin,

      warum kannst du den Server denn nicht über die Batch-Datei starten? Normal müsstest du die einfach doppelt klicken können. Wenn das nicht geht und die Datei in einem Texteditor geöffnet wird, dann hat die Datei nicht die Endung .bat, sondern wahrscheinlich .bat.txt – das könntest du in diesem Fall mal nachprüfen.

      • Das habe ich schon geprüft, es ist eine bat datei, ich kann sie auch Doppelklicken nur schließen sich die zwei cmd Fenster, die dann erscheinen sofort wieder. Danke für die schnelle Antwort und für die Hilfe.

        • Hm ok, wenn zwei Konsolenfenster erscheinen, wird der Server auf jeden Fall ja schonmal gestartet. Gibt es denn irgendwelche Ausgaben in der Serverkonsole? Eigentlich sollte zumindest mal „Console initialized“ ganz oben auftauchen. Wenn nicht, dann führe evtl nochmal die Schritte aus dem ersten Teil durch und füge hinten an den app_update-Befehl noch ein validate an. Das sorgt dafür, dass alle Dateien noch einmal überprüft werden und wenn sie Fehlerhaft sind noch einmal heruntergeladen werden.

          • OK das mache ich, aber ich kann leider gar nichts lesen weil es sich halt sofort wieder schließt.
            Ich meld mich dann nochmal aber Schönwald danke im voraus.

  • Hi, ich wollte danke für die ganzen Infos sagen.
    Außerdem habe ich noch eine Frage:
    Was/Wo ist das Startscript? ich habe den Server von nem Freund übernommen und weiß nicht wo genau ich jetzt die oben beschriebenen Befehle eingeben muss.
    Ich hoffe du kannst mir helfen.

    Mit freundlichem Gruß
    Yannick

  • Hallo Simon,
    erst mal danke für die super beschreibung, nachdem ich Deiner beschreibung gefolgt bin (was auch super geklappt hat) bin ich aber dennoch auf einen Mietserver umgestiegen von ZAP.
    Nun steh ich vor dem Problem, das ja auf dem Server schon alles voreingestellt ist, sowie auch schon ein paar Maps. Da wir die Maps aber noch nicht haben, kommt bei dem Map wechsel eine fehlermeldung anstatt das er die Map runterläd.
    Leider kann mir der Support da auch nicht helfen, deswegen wollt ich jetzt einfach mal bei Dir nachfragen 🙂
    Wäre super wenn Du da ne Idee hast woran es liegen könnte.

    • Wenn die Maps bei ZAP auch per Workshop eingebunden werden, müsstest du irgendwie herausfinden, welche Workshop-Objekte da genau genutzt werden (eventuell über die config, wenn du da Zugriff drauf hast?) und die abonnieren. Wenn die Maps anders eingebunden werden (über den addons-Ordner, bzw. fastdl), dann stimmt irgendwas in der Konfiguration nicht, wodurch die Maps vom Server nicht zum Download bereitgestellt werden. Da kann ich dir dann aber nicht so wirklich weiterhelfen, das müsste der ZAP-Support dann tun 🙂

      • Hallo Simon,
        ich habe einige Addons und Maps via Workshop, den hab ich auch bei ZAP eingebunden, und das scheint auch zu klappen, es ging nur um die Karten die beim Server in dem Maps Ordner sind, aus denen Wählt er ja auch bei Kartenwechsel Maps, und wenn die nicht bei den Spielern im Maps-Ordner drin sind, kommt die Fehlermeldung.

        Der ZAP Support meinte dann ich soll in die Server Config „sv_allowdownload 1“ einfügen, was aber auch nix gebracht hat.

        • Jep, das mit sv_allowdownload ist der Teil, wo du dich mit ZAP auseinandersetzen musst. Bietet dein Server fastdl (ist sv_downloadurl gesetzt?)? Dann brauchst du eventuell andere Einstellungen, als ohne. Außerdem lassen sich mit der Variable net_maxfilesize in der server.cfg (oder zum Testen auch über die Serverkonsole) auch noch die maximalen Dateigrößen bestimmen. Wenn die zu klein gesetzt ist, werden die Maps ebenfalls nicht heruntergeladen. Der Maximalwert der Variable beträgt hier 64 für 64MB. Das wird aber schon quälend langsam, wenn du kein fastdl hast.

          Außerdem könntest du auch mal probieren, den Download der Maps zu erzwingen. Wie das geht, wird dort erklärt: https://facepunch.com/showthread.php?t=751508 (Im Beitrag von Divran).

          • Einen fastdl hab ich nicht, aber die Zeile „net_max…“ ist auch nicht drin gewesen, hab das jetzt mal so dazugefügt:

            // server name
            hostname „xxx“
            sv_contact „“
            sv_password „xxx“

            sv_allowdownload 1
            sv_allowupload 1
            net_maxfilesize 64

            // rcon passsword
            rcon_password „zaprocks223“

            //DNA
            ttt_killer_dna_range 300
            ttt_killer_dna_basetime 100

            //Prep
            ttt_firstpreptime 60
            ttt_preptime_seconds 45

            Ist das soweit richtig?

          • Nein, von selbst läd garnichts, hab auch die Lua Datei eingefügt wegen den Workshop, aber auch da passiert nix, mußte allen Mitspielern den Link zu meinem Workshop geben das sie es da dann abonnieren, dann läd alles aus dem Workshop.

    • Moin Jens,

      ich hab mich mal mit deinem Problem auseinander gesetzt und so wie es aussieht hast du 2 Optionen, du kannst die MaxFilesize höher setzten auf einen Wert der größer ist als jede Map die du in deinem Maps Ordner liegen hast.
      net_maxfilesize

      Oder du richtistet dir bei ZAP einen fastDl ein – das besteht aus 2 Teilen, einmal das einrichten des fastDl – dazu brauchst du einen FTP Zugang und der 2te Teil ist das Einrichten in der Garry’s Mod Config.

  • Da vielleicht andere so blind sind wie ich will ich hier noch erwähnen, dass es ganz wichtig ist seine Kollektion auf „Öffentlich“ zu setzten. Ansonsten holt der Server sich die Addons nicht, weil er sie nicht sieht.

  • Hoi zäme!

    Ich hätt folgendes Problem:
    Meine Kumpel und ich haben zusammen nen Server am laufen. Haben auch soweit schonmal einiges am laufen, jedoch würden wir gerne zusammen auf die Kollektion zugreifen/ändern können. Ist das irgendwie möglich ohne die Steamaccount daten zu tauschen?

    Viele Grüße!
    Bio

    • Ich wüsste nicht, wie das klappen könnte. Die Kollektionen sind an einen Account gebunden und nur dieser Account darf sie bearbeiten. Es wäre natürlich durchaus noch möglich, einen zweiten Account anzulegen, dessen Passwort ihr beide kennt. Ich will euch aber auch gleich warnen, dass das eventuell gegen die Steam-Nutzungsbedingungen verstößt.

  • Kannst mir erklären, warum ich mich über den Web Browser nicht anmelden kann? Da Steam die nicht zulässt, ist es mir nicht möglich die Links zu nutzen… 🙁

    • Was heißt denn „du kannst dich nicht anmelden“ genau? Gibt es eine Fehlermeldung?

      Wenn du den Steam guard aktiv hast, fordert steam dich bei der Anmeldung dazu auf, zusätzlich eine ziffernfolge einzugeben die dir an die mit dem account registrierte mailadresse gesendet wird. Das musst du in diesem Fall natürlich auch machen.

      • Daran liegt es nicht. Steam erkennt meine Login Daten nicht an. Aber nur wenn ich mich im Browser anmelden möchte… selsamerweise hat es beim ersten mal geklappt. Leider habe ich ausversehen meine GarrysMod Kollktion gelöscht und komme nun nicht mehr an die erforderliche URL nicht ran.

        • Hmm aber der Steam client akzeptiert genau die Benutzerdaten, die du auch online zu verwenden versuchst? Dann wäre das wohl ein Fall für den Steam-Support. Da kann ich dir hier leider nicht weiterhelfen. Ich hätte noch auf aktiviertes Capslock getippt, da du hier ja aber alles normal schreibst, scheint das ja auch nicht das Problem zu sein. Sorry :/

  • Hey, bis hierher habe ich alles problemlos geschafft, nun habe ich aber das Problem das meine Startmap nicht ttt_minecraft_b5 ist. Es bleibt immer noch die gm_construct. Ich habe in meine startServer.bat Datei folgendes stehen: srcds.exe -console -maxplayers 16 -game garrysmod +gamemode terrortown +map ttt_minecraft_b5 -authkey XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +host_workshop_collection XXXXXXXXXX . Habe die Datei auch gespeichert und co, aber trz bleibt es bei der Gmod Map. Außerdem kann ich die Map auch nicht ändern, wenn ich den Server starte. Dort habe ich nur die Auwahl zwischen gm_flatgrass und gm_construct. Wie kann ich es trz. schaffen das ich die TTT Map bspw. ttt_minecraft_b5 als Startmap bekomme? Danke für die Hilfe!

    • Hi, ich hoffe mal, es ist klar, dass du die map natürlich im Workshop auch in deine Kollektion einfügen musst, oder? Wenn wirklich gar keine Map angezeigt wird, obwohl du einige in deiner Kollektion hast, scheint irgendwas beim Download nicht zu klappen. Am besten guckst du dir die Ausgabe in der Konsole während des Serverstarts mal genau an – vor allem die Errors und Warnings. Für jedes Addon sollte außerdem eine Zeile nach dem Schema Mounting Addon 'ADDON-NAME' (ADDON-ID)
      erscheinen. Für die Map ttt_minecraft_b5 also zum Beispiel irgendwie sowas wie Mounting Addon 'ttt_minecraft_b5' (159321088). Interessant wäre auch der Bereich, in dem die Addons zum ersten mal aus dem Workshop abgerufen werden. Bei mir sieht das so aus:
      Logging into anonymous gameserver account.
      Fetching Workshop Addons..
      Calling GetCollectionDetails
      Collection has 86 Addons
      Connection to Steam servers successful.
      Public IP is ##.###.##.##.
      Assigned anonymous gameserver Steam ID [A-1:########(####)].

      Edit: Der Post von Bobo unter der FAQ hat mich gerade noch auf eine Idee gebracht: du startest den Server aber schon über die Bat-Datei, oder? Du darfst nicht die exe doppelt klicken, sonst sind deine Startparameter aus der Bat-Datei ja für die Katz.

      • Hi, soweit hab ichs nun auch geschafft, aber bei mir steht
        „Fetching Workshop Addons… No -authkey“
        statt wie bei dir
        „Fetching Workshop Addons…“
        Einen Code habe ich aber generiert und bei startServer.bat eingetragen. Kannst du mir da irgendwie helfen?
        Danke!

        • Naja, so wie die Fehlermeldung klingt, hast du wohl beim eingeben des Authkeys in die bat-Datei einen Fehler gemacht. Vergleiche am besten einfach mal deine bat-Datei mit der, die ich oben als Beispiel angegeben hatte. Vielleicht findest du den Fehler ja selbst? Wenn du keinen Fehler finden kannst, kannst du sie mir ja auch mal per mail schicken, dann kann ich sie mir ansehen (bitte nicht deinen Authkey hier öffentlich posten).

          • Perfekt! Dankeschön! Ich hatte mit Enter eine neue Zeile erstellt anstatt einfach nur Leertaste zu drücken. Hätte nicht gedacht dass so etwas simples der Fehler sein könnte…

          • Ok ich melde mich nochmal. Der Server startet und ich kann Freunde einladen zu joinen und sie können joinen und das Spiel läuft. Aber auf der ganzen Map liegen keine Waffen. Gibts da noch irgendwas das man einstellen muss um Waffen spawnen zu lassen oder sonst irgendwas?
            Dankeschön!

          • Da kommt es drauf an, welche Map du benutzt. Wenn die Map nicht explizit für ttt gemacht ist (die haben dann meistens ttt_ am Anfang des Mapnamens), sind auf der Map keine Spwanpunkte für Waffen gesetzt und dann verteilt der Server auch keine Waffen darauf. Da gibt es glaube ich Tools, mit denen man die Spawnpunkte im Nachhinein setzen kann (und manchmal gibt es auch Textdateien, die man separat herunterlädt und dann in einen Ordner packen muss, damit es funktioniert, das steht dann meistens in der Addonbeschreibung zur Map im Workshop), einfacher ist es aber, direkt für ttt entworfene Maps zu nutzen.

          • Und zu deinem Fehler bei der bat-Datei: Whitespace (Zeilenumbrüche und Leerzeichen/Tabs) ist bei Skripten extrem wichtig. Ein Zeilenumbruch bedeutet in Batch immer, dass der Teil nach dem Zeilenumbruch ein neuer Befehl ist. Damit wird also dein Authkey als Batch-Befehl angesehen und nicht wie eigentlich vorgesehen als Parameter an den Server mit übergeben. Als Folge hat der Server dann natürlich keine Ahnung von deinem Authkey.

  • Ich habe leider diese Probleme:
    -Map cycle file „cfg/mapcycle.txt“ was not found.
    -Bad field in entity!!
    -Nav File is wrong or something (1)
    was kann ich dagegen tun ? Danke im Vorraus ^^

    • Die sind allesamt kein Problem.

      1. map cycle file: In dieser Datei könntest du angeben, in welcher Reihenfolge welche maps auf dem Server gespielt werden sollen. Wenn du aber zum Beispiel ein Map vote addon hast (Was ich empfehlen würde), ist das überhaupt kein Problem. Die Datei kannst du wenn du willst anlegen, ist aber wie gesagt nicht notwendig.

      2. Es kommt darauf an, an welcher Stelle beim Serverstart das vorkommt (Wenn es zum Beispiel irgendwo kurz nach 1. steht, hängt es vielleicht damit zusammen). normalerweise dürfte das aber auch kein Problem sein, wenn auf dem Server keine weiteren Probleme vorkommen.

      3. Das habe ich auch. Das kommt glaube ich vor allem bei Community-Maps vor und scheint ein Problem mit dem Navigationsmesh für Bots o.ä. zu sein (Wenn es eine ttt-Map ist, wollte der map-ersteller sich wahrscheinlich einfach nicht die Arbeit machen, eines zu erstellen, da man es normalerweise eh nicht braucht). Da du ttt aber ja wohl sowieso nie mit Bots spielen wirst, ist auch das kein Problem.

    • Du meinst, wenn du die .bat-Datei ausführst? Wo liegt denn die bat? Und wo ist die srcds.exe bei dir? Dieser Fehler bedeutet einfach, dass der Pfad zur srcds.exe in der bat-Datei falsch ist (Im Tutorial habe ich da gar keinen Pfad angegeben, weil die bat im selben Ordner wie die srcds.exe liegt). Wenn du das Tutorial wirklich 1:1 nachgemacht hast, dann kann dieser Fehler eigentlich gar nicht auftreten, da die beiden Dateien wie gesagt im selben Ordner liegen würden dann.

  • Hi,
    Ich benutze gerade noch einen Gameserver von Nitrado wo ich wenn ich etwas bei den addon dateien ändern will z.b. mehr Munition. Muss ich einfach das addon entpacken und den ordner der entsteht in den ordner legen wo die addons sind nun lädt er die datei mit dem ordner und nicht die eigentliche addon datei. Nur geht das seit ich versuche das auf meinen Linux Server zu legen nicht mehr. Hast du eine Idee was ich falsch mache. Brauch ich neue start parameter?

    MfG Mauwurf

    • Hi, ich gehe einfach mal davon aus, du und der User „Luca“, der einen ähnlichen Kommentar hinterlassen hat, seid die gleiche Person, deshalb schalte ich mal nur den ausführlicheren Kommentar frei. Zu deiner Frage: Eigentlich sollte das wie auf dem Nitrado-Server auch auf deinem eigenen Server funktionieren. Es ist allerdings nicht sinnvoll, das selbe Addon zweimal im Addonordner zu haben – das kann Probleme geben. Wenn du also das Addon entpackst und Werte änderst, dann solltest du das Addon im Workshop aus der Kollektion entfernen, sodass dann nur noch die veränderte Version vom server geladen wird. Startparameter musst du dazu keine einstellen, das sollte einfach so schon klappen. Ob das Addon korrekt geladen wird, kannst du auch beim Serverstart in der Konsole beobachten – da sollte sowas stehen wie „mounting file system addon …“ Falls etwas nicht klappt, bekommst du da auch eine Fehlermeldung angezeigt.

  • Hallo,
    danke erstmal für dein tolles Tutorial,jedoch habe ich eine Frage.Man soll Maps nicht in die Kollektion packen, aber wo soll man sie den eintragen ?

    • Woher entnimmst du denn dass man Maps nicht in die Kollektion packen soll? Ich mache das eigentlich schon immer so dass ich die Maps in der Kollektion habe und hatte bisher noch keine Probleme damit. Es kann natürlich passieren, dass der Uploader im Workshop die Map offline nimmt und dann sitzt du ohne sie da, deshalb solltest du einfach immer die *.gma-Dateien in deinem Addons-Ordner sichern. Zur Not könntest du sie dann als legacy-Addons hosten (es gibt Programme, die es ermöglichen, diese gma-Dateien zu entpacken, dann hat man einen ganz normalen Ordner wie bei legacy-Addons). Mir ist das bisher erst ein einziges Mal passiert, jedoch habe ich im Workshop dann einfach eine andere Version der Map abonniert – und alles hat wieder funktioniert.

  • Hi,
    vielen Dank erstmal für das ausführliche Tutorial, trotzdem hätte ich eine Frage.
    ich habe alle Schritte befolgt und habe die ID meiner Kollektion als auch den API-Key in die startServer.bat Datei eingegeben. Wenn ich aber den Server starten will über die srds.exe dann öffnet sich ein Fenster in dem ich unter anderem die Maps festlegen kann, dort finde ich aber nicht die Maps, die ich in meiner Kollektion habe sondern nur die gm_fla…..
    ist das was schief gelaufen oder bin ich auf dem total falschen Weg.

    • Hi, so wie das klingt machst du nichts groß falsch, außer dass du den Server über die srcds.exe startest. Du musst schon die startServer.bat benutzen (einfach doppelt klicken) 🙂 . Nicht wundern, du bekommst damit Dann kein schönes Fenster mehr, sondern eine Konsole.

        • Yes, habe ich aber noch eine weitere Frage nachdem ich die Bat-Datei geöffnet habe wird der Server gestartet und versucht die Inhalte herunterzuladen die in der Kollektion enthalten sind. Dabei kommt dann aber die Meldung in der Konsole auf „aborting HTTP request because we received a response with a conten-length over 64 and we are not streaming“ und dann weitere Meldungen das die Map mit der der Server starten soll nicht gefunden werden kann,vermutlich weil sie nicht vorhanden ist.
          Hat das etwas mit meiner Bandbreite zu tun.

          • Wenn du mal ein bisschen Runterscrollst, findest du da einen Kommentar von mir, den ich am 25.4.2014 geschrieben habe, in dem ich das Problem auch erwähne. Da wurde auch eine mögliche Lösung gepostet. Vielleicht hilft dir die ja auch?

  • Moin moin, erstmal ein sehr schönes Tutorial was du hier angefertigt hast.

    Es scheint bei mir auch soweit alles (dank dir) zu klappen allerdings hab ich noch ein ziemlich ärgerliches Problem, was Props angeht die durch Maps hinzugefügt werden. Bekomme hunderte Fehlermeldungen was die physics objects angeht.

    Hast du vielleicht noch nen Tipp was man machen kann bzw ob ich bei den Workshop files noch irgendwas zu den Serverfiles kopieren muss?

    Vielen Dank schonmal im Vorraus

    • Jep, das kann bei manchen Maps, die auf CounterStrike (/TeamFortress/HalfLife)-Objekte zurückgreifen, passieren – durch die betroffenen Objekte kann man dann meistens im Spiel auch durchlaufen, es fehlt also die Collision-/Hitbox. Guck dir zu diesem Problem mal Part 4 an. Löst das eventuell schon dein Problem?

  • Hab gerade dein Tut gefunden auf meiner suche nach antworten wegen dem Fretta-like Map Vote. Hab bisher immer alle Maps runtergeladen, entpackt und auf den server geschoben da das Map Vote Addon nur im „Maps“ Ordner zu suchen scheint.
    Du scheibst das aber so das dass Addon auch mit den Maps funktioniert die in der Kollektion automatisch herruntergeladen werden. Das würde die Sache erheblich einfacher machen klappt aber nicht.
    Nun meine Frage…mach ich irgendwas falsch :D?

    • Hm, da scheinst du wirklich irgend etwas falsch zu machen 😀 Ich habe alle meine Maps nur über die Workshop-Collection eingebunden – und das von mir verlinkte Mapvote-Addon, ebenfalls aus dem Workshop erkennt die problemlos. Wie gehst du denn genau vor?

  • Hallo!

    Gibt es eine Möglichkeit, diese Einstellungen irgendwo im cfg-Ordner oder an noch anderer Stelle vorzunehmen, statt in einem Startscript?

    Dein Weg funktioniert zwar, aber ich hab schon vor längerer Zeit, als ich meinen Server erstellt habe, festgestellt, dass man auch direkt die srcds.exe starten kann und bis jetzt fand ich das wesentlich angenehmer und praktischer zu bedienen.
    Außerdem wird bei mir jedes Mal beim Beenden des Servers eine crash-Datei angelegt, obwohl der Server eigentlich normal schließt. Das war vorher nicht so.

    Aktuell sieht mein Start-Skript nur so aus:
    srcds.exe -authkey XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +host_workshop_collection XXXXXXXXX
    Alle anderen Einstellungen sind im cfg-Ordner gespeichert und diese beiden würde ich wie gesagt gerne auch noch auslagern.

    Außerdem braucht mein Server jetzt länger zum Starten, mal nur ein bisschen, manchmal aber auch ne halbe Minute oder so. Liegt das daran, dass die Collection erst geladen werden muss?

    Vielen Dank schonmal!

    Gruß
    Vervi

    • Gibt es eine Möglichkeit, diese Einstellungen irgendwo im cfg-Ordner oder an noch anderer Stelle vorzunehmen, statt in einem Startscript?

      Jein… Die Map könnte man anderen Tutorials zufolge theoretisch auch in einer Konfigurationsdatei festlegen, das hat bei mir aber noch nie geklappt 😀 (Welche Map nimmt denn dein Server als Standardmap, diese Einstellung hast du anscheinend ja schon ausgelagert?). Die anderen Einstellungen sind leider wirklich nur im Startscript festlegbar, soviel ich weiß.

      Dein Weg funktioniert zwar, aber ich hab schon vor längerer Zeit, als ich meinen Server erstellt habe, festgestellt, dass man auch direkt die srcds.exe starten kann und bis jetzt fand ich das wesentlich angenehmer und praktischer zu bedienen.

      Das mag für einen kleinen privaten Server stimmen (Dann brauchst du aber eigentlich auch keinen Dedicated Server – Die Hostingfunktion von GM selbst ist da dann nämlich komfortabler 😉 ), spätestens wenn du ihn aber auf einem Headless-Server betreibst, wie es normal bei dedicated Servern der Fall ist, wirds problematisch. Außerdem habe ich noch keinen weg gefunden, der GUI-Version eine Workshop-Kollektion zum Download mitzugeben (was ja deiner Frage nach dem Festlegen der entsprechenden Optionen in einer Konfigurationsdatei entspräche) – da funktionieren dann also nur Legacy-Addons (also die, die du von Hand in den Addon-Ordner packst).

      Außerdem braucht mein Server jetzt länger zum Starten, mal nur ein bisschen, manchmal aber auch ne halbe Minute oder so. Liegt das daran, dass die Collection erst geladen werden muss?

      Exakt! Wenn deine Kollektion entsprechend groß ist, wird da schon so einiges heruntergeladen und auf Updates geprüft. Das hat aber den Vorteil, dass du immer die aktuellste Version der jeweiligen Addons installiert hast. Gleichzeitig hast du den Nachteil, dass dein Addon weg ist, sobald der Ersteller es im Workshop löscht – also solltest du dir deine Addons eventuell irgendwo noch sichern, nachdem sie einmal heruntergeladen wurden.

      Außerdem wird bei mir jedes Mal beim Beenden des Servers eine crash-Datei angelegt, obwohl der Server eigentlich normal schließt. Das war vorher nicht so.

      Das scheint seit einem der neusten Server-Updates bei vielen (zumindest in der Konsolenversion – bei der GUI habe ich es selbst noch nicht getestet) so zu sein, das Problem habe ich auch – aber es scheint nichts schlimmes zu sein. Es ist nur nur ein bisschen nervig, weil eben die ganzen Coredump-Dateien angelegt werden. Vielleicht wird das ja demnächst mal gepatcht.

      Grüße,

      Simon

      • Vielen Dank für die sehr schnelle Antwort!

        Ich betreibe tatsächlich nur einen kleinen privaten Server, um mit Freunden zu zocken.
        Mit anderen Möglichkeiten, einen Server zu hosten, hab ich mich nie beschäftigt, weil ein Dedicated Server das erste war, was ich im Internet gefunden habe. Und es funktioniert auch eigentlich alles sehr gut. Nach und nach baue ich immer weitere Sachen ein, wie praktische Addons und neuerdings einen schöneren Loading-Screen (auch nach deiner Anleitung ;)).
        Die Kollektion habe ich jetzt erst viel später eingebunden, weil das Downloaden der Maps vom Server so lange dauert. In der Kollektion sind auch nur die Maps drin, alle anderen Addons habe ich im addons-Ordner liegen (die sind alle zusammen nur 4 MB groß bisher).
        Die Startmap und einige andere Einstellungen lege ich direkt im Konfigurationsfenster fest, dass sich durch die srcds.exe öffnet. Und danach geht es per Mapvote oder mapcycle.txt weiter.
        Ich werd jetzt wohl einfach weiter das Startscript benutzen. Das einzige, was mich wirklich gestört hat, waren die ganzen Crash-Dateien, aber ich hoffe mal, das wird dann irgendwann behoben. Mein Interface habe ich ja weiterhin, dadurch dass ich im Startscript das „-console“ weglasse.

        Gruß
        Vervi

        • Ah stimmt, das -console wegzulassen ist ja auch eine möglichkeit. Wenn du dir das ganze aber doch mal auf der Konsole anguckst, siehst du genau was dein Server in dieser extra Zeit tut 😉

          Die crash Dateien scheinen gerade in Verbindung mit dem Workshop aufzutreten – aber wie gesagt: außer beim löschen nerven zu kosten tun die keinem weh soweit ich das beurteilen kann 🙂

  • Halle,
    erstmal danke für das gute Tutorial ! Ich habe mich jetzt mit meinem Freund über Tunngle verbunden so, dass er meinen Server unter Lokales Netzwerk findet. Wenn er nun aber auf meinen Server joinen will steht da „conection failed after 4 retries“ ! Ich bitte um Hilfe!

    Superamydog

    • Hi, tut mir leid aber für Tunngle kann ich dir aus folgenden Gründen keinen Support geben:

      1. (und das ist der wichtigste Grund) mit Tunngle kenne ich mich einfach überhaupt nicht aus. Das Programm habe ich vor ein paar Jahren mal genutzt, habe es dann aber vom PC geworfen, als es immer mehr mit Werbung verseucht wurde… Und bevor du jetzt damit kommst, dass du dann ja auch Hamachi o.ä. nutzen kannst: Dazu kommt, dass generell durch den Einsatz von einem zusätzlichen Programm, das den Netzwerkverkehr umleitet einfach so viele zusätzliche Fehler entstehen können, dass ich gar nicht wüsste, wo man mit der Fehlersuche anfangen kann.

      und 2. Der Dedicated Server ist nicht dafür ausgelegt, über solche Netzwerkbrücken betrieben zu werden. Das kann entweder funktionieren, oder halt auch nicht – und die Gründe dafür sind nicht wirklich klar, weil Tunngle nicht wirklich offenlegt, was es genau tut. Generell funktioniert der Server aber sowohl über das lokale Netzwerk, als auch über das Internet ganz ohne irgendwelche Zusatzprogramme. Falls du mit Freunden über das Internet spielen willst und nicht willst, dass fremde Leute auf deinem Server landen, kannst du auch ein Passwort vergeben.

      Alles in allem: Wenn du den Server normal ohne Hilfsprogramme betreiben möchtest und dabei Probleme hast, kann ich dir gerne Helfen. Bei gleichzeitigem Einsatz von Tunngle kann ich aber leider nichts für dich tun.

      • Hallo,
        vielen Dank für die Antwort!

        Hab es mittlerweile hinbekommen dass meine Freunde auf meine Server joinen könne, doch ich hab ein Problem:

        Wenn mehr als 4 Spieler auf meinem Server sind fängt es extrem an zu laggen. Liegt das an meiner Internetverbindung oder einfach an meine PC? Könnte es was bringen wenn ich nicht so viele addons auf meinem Server habe ?

        Vielen Dank schonmal im Voraus
        Superamydog

        • Wegen der Leistung deines PCs kannst du ja einfach mal bei laufendem Server + Spiel (natürlich bei der problematischen Anzahl von Spielern) in den Taskmanager gucken. Wenn da nicht Prozessor oder RAM fast vollständig ausgelastet sind, ist nicht der PC und damit auch nicht die Zahl der Addons das Problem. Ich würde eher auf die Internetverbindung tippen. Oftmals ist der Upstream um einiges kleiner als der Downstream (bei 16.000 z.B. nur ca. 1.500) gerade der Upstream ist aber mit zunehmender Spielerzahl immer wichtiger – der Server muss ja an ALLE Mitspieler sämtliche Daten weitergeben. Wenn du eine Fritzbox (ich weiß nicht, welche anderen Router das noch können) hast, kannst du dir dort in der Statistik auch mal die Gesamtauslastung deiner Internetverbindung anzeigen lassen, um zu checken ob das Problem dort liegt.

  • Bei mir lädt, nachdem ich die Kollektion und so in die Start-bat-Datei hinzugefügt habe, ein Addon nach dem anderen, bis ungefähr 20%, wird dann abgebrochen, dann steht da „Download failed!“.

    Außerdem möchte ich mich für diese sehr gelungene Anleitung bedanken 😀

    Jonas

    • Da kann ich dir leider nicht wirklich weiterhelfen – wenn es alle addons findet und herunterzuladen anfängt, dann stimmt ja anscheinend alles mit der Konfiguration. Es wäre aber möglich, dass einfach die Steamserver überlastet waren – hast du das ganze später nochmal getestet?

      • Ja, habe ich, ich glaube es könnte an der Größe der jeweiligen Addons liegen, da der Download meist bei Maps versagt. Ich bekomme demnächst eine schnellere Internetverbindung, dann probiere ich es nochmal.

        Trotzdem danke 🙂

      • Ich habe das gleich Problem, er lädt mache große Addons nicht herunter:

        Mounting Addon ‚RP_Townsend_v2‘ (470880740)
        Downloading…
        4%
        7%
        11%
        15%
        19%
        22%
        26%
        28%
        31%
        33%
        35%
        38%
        40%
        43%
        45%
        47%
        50%
        53%
        56%
        Download Failed!

        Bei kleineren funktioniert es, könnte es an der Internetleitung liegen?

        • Das kann ich dir so allgemein leider nicht richtig sagen, da das Problem mehrere Gründe haben kann:
          1. Deine Internetverbindung ist instabil (WLAN?) und bricht ab und zu ab, was bei größeren Downloads wahrscheinlicher zu Problemen führt, da über längere Zeit was schiefgehen kann.
          2. Die Steam-Server sind im Moment instabil – was zum gleichen Problem wie oben führt.
          3. irgendwas ist an der Datei defekt (passiert es nur bei rp_townsend oder auch bei anderen großen dateien?)
          4. Es handelt sich um zufällige Fehler, hast du den Download schon mehrfach versucht? Manchmal passiert das bei mir auch, beim nächsten Start des Servers läuft der Download dann aber normal durch.
          Und sicherlich können auch noch viele andere Dinge (Dateirechte, Festplattenprobleme, …) zu Problemen führen – da hilft leider nur beobachten und ausprobieren.

    • Hi, das sieht für mich aus, als hättest du einen kleinen Fehler in deinem Startscript. Vielleicht kannst du das mal hier Posten (den authkey kannst du ja wie ich es im tutorial gemacht habe durch irgendwelche Zeichen ersetzen)? Dann kann ich mir das mal ansehen.

  • ich habe das problem das ,immer wen ich eine andere map als gm_construct wählen möchte , die konsole sagt dass diese map nicht vorhanden sei

    • Hi, guck mal weiter unten den Kommentar von Marcus Rosenbaum an. Sein Problem klingt ähnlich wie deines. Vielleicht hilft dir meine Antwort an ihn auch? Achte auch darauf, dass du die Mapnamen in der Konfiguration richtig schreibst. Der Name des Addons im Steam-Workshop ist nicht unbedingt der korrekte Name der Map. Die korrekten Mapnamen für ttt-Maps fangen normalerweise eigentlich immer mit ttt_ an.

  • Hi,
    ich habe da mal eine Frage/Problem.
    Ich habe alle addons wie oben beschrieben in die Kollektion eingefügt und den Befehl in die Serverscript gepackt. Doch wenn ich dann den Server starte ( srcds) gibt es weder die maps noch irgendein anderes addon auf dem server.

    • Hi, du startest den Server aber schon über das Startscript, oder? Wenn du nämlich nur srcds.exe startest, klappt es nicht.
      Falls du das sowieso schon tust: überprüfe nochmal, ob der Api-key, den du erzeugt hast und auch die kollektions-id wirklich mit den Angaben im Startscript übereinstimmen.

      Falls das alles passt, könntest du ich mal irgendwo einen Screenshot von der Serverkonsole hochladen. Dann kann ich mir mal angucken, was dein Server beim starten so tut.
      Grüße, Simon

      • Ah ok da lag das Problem ich hab immer nur mit der srcds.exe gestartet. Jetzt gehen alle addons. Doch ich kann immer noch nicht eine andere map außer die gm_construct oder flatgrass aussuchen. Irgendwie sind die maps aus der kolektion nicht in dem order maps zu finden nur in dem ordner Addons.

  • Also die Kollektion MUSS veröffentlicht werden, sonst funktioniert es nicht. Vielleicht ergänzt du das im Artikel. Hat mich ziemlich viel Zeit gekostet bis ich das mal probiert hab.

    • Ok, das ist jetzt interessant 😀 Ich habe meine Kollektion bis heute nicht veröffentlicht und alles funktioniert wunderbar. Eventuell wurde da auch irgend etwas geändert. Ich werde den Artikel ergänzen. Vielen Dank!

      • Habe gerade nochmal nachgesehen: Obwohl ich die Kollektion garantiert nie veröffentlicht habe, steht sie jetzt auf öffentlich. Da hat Valve wohl tatsächlich irgendwann etwas geändert. Wenn du nicht willst, dass deine Kollektion öffentlich sichtbar ist, kannst du die Sichtbarkeit auch ganz unten in dem grün umrandeten „Besitzerverwaltung“-Kasten rechts ändern.

  • Ich hatte ein ähnliches Problem („Aborting HTTP request because we received a response with a content-length over 64M and we are not streamingDownload Failed!“) auch ab und zu – ohne dass ich irgend etwas an der Konfiguration geändert hätte – eigentlich hat es dann immer ausgereicht, den Server mehrmals neu zu starten – irgendwann ging es dann wieder (Das ist eventuell manchmal auch ein Problem mit den Steam-Servern). Da ich aber Windows benutze und mich persönlich mit Linux auch nur rudimentär auskenne, kann das bei dir natürlich auch eine ganz andere Ursache haben.

    Ab hier folgen Vermutungen und Vorschläge, also nichts, was ich wirklich „weiß“.
    „/home/steam/.steam/sdk32/libsteam.so: cannot open shared object file: No such file or directory“ Klingt für mich irgendwie, als würde die genannte Datei fehlen (warum auch immer). Zu der Fehlermeldung habe ich dort: http://www.gehaxelt.in/blog/cs-go-missing-steam-slash-sdk32-slash-steamclient-dot-so/ etwas gefunden.

    Wenn das nicht funktioniert, kannst du ja auch mal versuchen, dich an das Problem heranzutasten: funktioniert der Server zu 100% (startet, taucht in dedicated-Liste auf), wenn du keine Workshop-Kollektion einbindest? Funktioniert immer noch alles, wenn du eine leere Kollektion einbindest? Funktioniert nur ein bestimmtes Addon nicht? …

    Tut mir leid, dass ich dir keine wirklich hilfreiche Lösung geben kann aber ich hoffe, ich konnte wenigstens ein bisschen weiterhelfen 😉 Falls es Fortschritte gibt, kannst du dich gerne auch nochmal melden.

    Grüße,
    Simon

          • So wie es bisher aussieht, hat es funktioniert, ja (kann aber auch andere Gründe haben, ich bin mit meinem Server vor kurzem auf einen VServer umgezogen). Diese Einstellung gehört so wie alle anderen in die Hauptkonfigurationsdatei von deinem Server ( server.cfg) Diese Einstellung kannst du dort einfach irgendwo anhängen, dann sollte sie eigentlich schon wirken. Achte aber darauf, da keinen allzu hohen Wert einzutragen. Die Standardeinstellung ist ja nicht umsonst so niedrig – alles, was dein Server herunterlädt müssen deine Mitspieler ja auch herunterladen. Und einem Server beizutreten, wo man erstmal Gigabyteweise Addons herunterladen muss, macht keinen Spaß 😀

          • Schade, bei mir läuft es auch auf einem V-Server, aber der ein Eintrag in der server.cfg hat leider nichts bewirkt 🙁

  • Hi,
    schönes Tutorial. Es hat mir bis jetzt sehr geholfen. Mit meinen Linuxserver kann ich mich bereits immerhin per Console und connect Befehl verbinden. In den allgemeinen Listen bei Garrys Mod wird der Server allerdings nicht angezeigt.
    Auch habe ich Probleme, wenn ich versuche Maps/Mods wie oben beschrieben zu laden. Vielleicht kannst du mir weiterhelfen?

    Ich füge mal hier ein paar Fehlerzeilen ein, die mir mein Terminal liefert.

    Calling GetCollectionDetails
    Collection has 3 Addons
    Mounting Addon ‚MapVote – Fretta-like Map Voting‘ (151583504)
    Mounting Addon ‚TTT Map Pack (20 maps)‘ (148364870)
    Downloading…
    Aborting HTTP request because we received a response with a content-length over 64M and we are not streamingDownload Failed!
    Mounting Addon ‚ttt_minecraft_b5‘ (159321088)
    dlopen failed trying to load:
    /home/steam/.steam/sdk32/libsteam.so
    with error:
    /home/steam/.steam/sdk32/libsteam.so: cannot open shared object file: No such file or directory

    Nur um es noch mal klarer zu machen. Ich habe den Dedicated Server auf einem Linux vServer installiert.
    Vielen Dank
    Michael

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.