TTT Dedicated Server: Die Tutorialreihe in Videoform (WIP)

Weil die Textform eventuell ja manchen nicht so sehr zusagt, produziere ich gerade eine kleine Videoreihe, die das Tutorial noch einmal nachvollzieht. Eventuell helfen die Videos ja dem einen oder anderen. Da die Videoproduktion einiges an Zeit in Anspruch nimmt, werden die Videos nach und nach erscheinen, it’s done when it’s done 😉

Los geht’s mit Part 1 & 2 – Einrichtung und Konfiguration.

25 thoughts on “TTT Dedicated Server: Die Tutorialreihe in Videoform (WIP)

  • Hi Simon,
    Ich hab da ein kleines Problem. Und zwar habe ich bereits die ports für UDP und TCP freigesschaltet und zu meinem PC weitergeleitet. Auch habe ich sv_lan 0 in der cfg eingefügt. Trotzdem können aber nur Kollegen im lokalen Netzwerk auf meinen Server. Wenn sie versuchen übers Internet zu joinen, dann finden sie den Server nicht. Er taucht weder in der Serverliste auf (auch nach längerem warten) noch lässt er sich über einen connect über die IP erreichen. Hast du vielleicht eine Idee woran das liegen könnte?

    MfG Michael

    • Hi,

      eigentlich gibt es da nur zwei Möglichkeiten:
      1. Irgendwas hat mit der Portweiterleitung nicht geklappt. Am besten prüfst du da nochmal alles gut nach, um sicher zu gehen, dass die Weiterleitungen korrekt sind. Eine lokale Einstellungssache wie zum Beispiel die Windows Firewall kann man schonmal ausschließen, da es deiner Aussage nach ja im lokalen Netzwerk von PC zu PC klappt.
      2. Du hast Vodafone oder einen der Unitymedia-Konzerne als Internetanbieter und einen recht neuen Vertrag. In diesem Fall kann es sein, dass du einfach gar keinen Server hosten können wirst – siehe meine Erklärung in diesem Kommentar

      • Danke für deine schnelle Antwort 🙂
        Ich hab jetz mal nach mehreren Versuchen, auf verschiedenen Webseiten, in meiner cmd den Befehl „netstat -a“ eingegeben, als Versuch die Portfreigaben zu Prüfen, weil ich das auch als eine Möglichkeit irgendwo gelesen habe. Als Ausgabe bekomme ich dort zu den entsprechenden Ports:

        TCP „lokale IP meines Rechners“:27015 Michael-PC:0 ABHÖREN
        UDP 0.0.0.0:27015 *:*
        UDP 0.0.0.0:27015 *:*

        Vielleicht kannst du mir ja dabei weiterhelfen. Zu dem TCP-Port 27005 bekomme ich zum Beispiel keine Aussage. Ich habe auch so das Gefühl das bei dem TCP-Port 27015 eigendlich nicht das „Abhören“ stehen sollte, sondern wie bei anderen Verbindungen „Hergestellt“. Ich hab leider auch keine Ahnung ob die Ausgabe der beiden UDP-Ports soweit richtig ist. Wenn du dort also ein wenig Ahnung von hast, dann wäre ich dir für deine Hilfe sehr dankbar 🙂
        Mit diesem IPv6 Problem hab auch nachgeguckt und ich habe derzeit auch kein IPv6 aktiviert. Demnach sollte es damit keine Probleme geben, wenn ich mich nicht irre.

        MfG Michael

        • Ok, wenn du tatsächlich kein IPv6 hast, dann können wir das DS-Lite-Problem mehr oder weniger ausschließen.

          Die netstat-Ausgabe sieht gut aus, ist ja aber auch kein Wunder, wenn es im lokalen Netzwerk funktioniert. „Hergestellt“ würde da soweit ich weiß nur stehen, wenn jemand eine Verbindung zu deinem Server hergestellt hätte. Abhören ist da schon richtig – bildlich gesprochen heißt das, der Server sitzt sozusagen auf dem Port und wartet auf Verbindungen

          Da wir ein Problem mit der Firewall am PC wie gesagt auch ausschließen können, wenn es im lokalen Netzwerk über mehrere PCs funktioniert, bleibt eigentlich nur noch ein Problem mit der Portfreigabe im Router. Da musst du unbedingt den Port 27015 (ich weiß nciht, wie du oben auf 27005 kommst) sowohl für UDP als auch für TCP an deinen PC weiterleiten.

          • Da haben wir ja schon das Problem 🙂 Du musst die Anfragen natürlich an den selben Port weiterleiten, wie der, an den sie ursprünglich gestellt wurden – also auch 27015. Im Moment ist da Port 80 eingestellt. Wenn du das auf 27015 änderst, müsste es dann klappen

  • Hey ich hab noch ein paar Fragen,
    1. Wie man Bots hinzufügt?
    2. Ob es auch geht, dass der Server mit einer zufälligen Map startet?
    3. Wo genau das erzwingen vom runterladen mancher Packs nötig ist?

    • Hi,
      1. Das sollte über die Serverkonsole mit dem Kommando „bot“ gehen. Diese Bots können aber rein gar nichts und werden sich auf den meisten Maps irgendwann in die Tiefe/Lava/Wasser stürzen und nutzlos sterben. Eine echte KI gibt es für Garrys Mod leider nicht.
      2. Starten mit zufälliger Map geht rein mit den Servermitteln glaube ich nicht. Aber es hindert dich ja niemand daran, eine Liste mit deinen Maps zu schreiben und dann das Startkommando deines Servers in der Batchdatei jedes mal automatisch zufällig mit einer der Maps modifizieren zu lassen. Das geht alles direkt per batch/bash: Datei auslesen, zufällige Zeile wählen und in Startkommando als Parameter einbauen.
      3. Die Frage verstehe ich leider nicht so zu 100%. Möchtest du wissen, welche Addons auf jeden Fall per resource.AddWorkshop zum Download gezwungen werden müssen? Da kann ich dir natürlich keine Liste geben aber grundsätzlich gilt:
      Maps werden automatisch geladen. Reine Servermods müssen nicht heruntergeladen werden. Neue 3d-Modelle, Sounds etc. müssen meistens erzwungen werden. Siehe dazu auch https://wiki.garrysmod.com/page/resource/AddWorkshop

          • Ich hab den Server gestartet und bin dann darauf in Garys mod. Dann hab ich die ingame Console geöffnet und „bot“ eingegeben. Danach passierte nichts. Wenn ich sv_cheats 1 eingegeben habe Stand da, sie haben nicht die nötigen Rechte, da sie kein Serveradmin sind (auf Englisch). Ich habe aber in den Settings bei der Tastatur Einstellung Enable oder toggle Console angekreuzt.

          • Sorry für die späte Antwort, hatte ehrlich gesagt vergessen, die Kommentare nochmal durchzusehen und habe keine Email wegen deiner Antwort bekommen :/ Du musst das Bot-Kommando in der Serverkonsole ausführen, nicht in der ingame-Konsole. Ingame könnte es gehen, wenn du dich irgendwie zum Admin machst. Ich weiß aber nicht genau, wie das in der vanilla-Version geht. Mit Ulx ist es ja recht einfach. Eventuell geht es vanilla mittels rcon?

  • Hi!
    ich habe schon nach deiner Anleitung einen TTT Server erstellt und war echt froh als ich auf deine Seite gestoßen bin weil alles so ausführlich und verständlich geschrieben war.

    Ich habe noch eine Frage, könntest du vielleicht ein Tutorial machen, wie man einen Team Fortress 2 dedicated Server erstellen kann? Da meine Freunde und ich es wahnsinnig toll fänden auf unserem eigenen Server zu spielen.
    LG Dranoel

    • Hm, sorry, tf wird wohl eher nicht passieren. Ganz einfach aus dem Grund, dass ich hier nur Artikel zu Dingen schreiben möchte, über die ich halbwegs bescheid weiß, wo ich dann also in den Kommentaren auch aufkommende Fragen noch beantworten kann.
      Im Grunde müsste das aber fast genauso gehen, wie beim ttt Server, mit dem Unterschied, dass die ID beim herunterladen am Anfang eben anders ist (und zwar 232250 anstatt 4020 wie du hier nachlesen kannst) und du logischerweise einen anderen Ordnernamen als „gm“ wählen solltest… Da der tf-Server wie auch der GM-Server auf dem srcds basiert, müsste die nachfolgende Grund-Konfiguration (Also das Hosten von Workshop-Collections, das Starten per batch-Datei etc) eigentlich fast genauso funktionieren. Der einzige größere Unterschied dürfte darin liegen, was du in die server.cfg einträgst, da die Variablen dort ja zum großen Teil spielabhängig sind. Für diese config gibt es aber hier ein kleines Beispiel. Mit diesen Infos müsstest du dich eigentlich am ttt-Tutorial entlanghangeln und eben die Unterschiede anpassen können.

      • Ok kein Problem
        Danke trozdem und ich werde mal da vorbeigucken was du mir geschrieben hast.
        Ich finde es sehr toll wie du das hier alles machst und freue mich schon auf weitere Posts ;D

  • Guten morgen,
    Ich weiß nicht, ich bezweifle das es an tf Dateien liegt, da wenn ich in meinen Steamordner auf meinem Rechner, CSS files von einer anderen Seite lege (addons Verzeichnis), existieren im Spiel keine Grafik Fehler mehr. Entferne ich den Ordner wieder kehren die Grafikfehler wieder zurück.

    =D Mensch da sind mir paar Schreibfehler unterlaufen, danke ;D

    • Aaah, jetzt verstehe ich, worum es geht, hätte bei deinem ersten Kommentar schon stutzig werden sollen, als du „Grafikfehler“ geschrieben hast 😀
      Der Part mit dem Mounten des CS:S-Contents ist auf der Serverseite nötig, um Physik richtig berechnen zu können (Zum Beispiel bei diesen Holzkisten). Das hat laut Serverkonsole auch einwandfrei funktioniert. Jetzt kommt aber der Haken: Auf der Clientseite muss man CS:S aber auch mounten. Das ist, wenn du CS:S bereits besitzt, aber wesentlich einfacher: guck mal unten rechts im Hauptmenü von GM, da findest du so ein kleines Controller-Symbol. Wenn du da draufklickst bekommst du eine Liste mit Source-Spielen angezeigt. Da hakt du einfach mal alle die an, die du besitzt. Das sollte dir Grafikfehler (pink/schwarz karierte Objekte etc.) dann beheben.

      Falls du CS:S nicht besitzt, kannst du dir die CS:S-Files auch ohne suspekten Download von irgend einer Seite über einen kleinene Umweg direkt bei Valve besorgen, wie das geht habe ich sogar auch schon in einem Artikel beschrieben

      • ah okay ;D ich werde dass dann morgen versuchen. Ich schreibe dann ob alles geklappt hat ;D Soweit dann schon mal danke und ein schönes wochenende

  • Ich vermute mal das du die log der Console meinst, zumindest wird dort als einziges der Pfad aufgerufen, wenn auch in leicht geänderter Form. ( /*.vpk)

    FIND [/home/gmodserver/css/cstrike/*.vpk]
    ADDING [/home/gmodserver/css/cstrike/cstrike_pak_000.vpk]
    Adding Path: [/home/gmodserver/css/cstrike]
    FIND [/home/gmodserver/css/hl2/*.vpk]
    ADDING [/home/gmodserver/css/hl2/hl2_misc_000.vpk]
    Adding Path: [/home/gmodserver/css/hl2]
    FIND [/home/gmodserver/serverfiles/garrysmod/addons/*.vpk]
    Adding Path: [/home/gmodserver/serverfiles/garrysmod/addons]
    Couldn’t load shader dll: game_shader_generic_garrysmod_srv.soConVarRef mat_dxlevel doesn’t point to an existing ConVar
    Game_srv.so loaded for „Garry’s Mod“
    Setting breakpad minidump AppID = 4000
    Initializing Steam libraries for Workshop..
    [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
    Fetching Workshop Addons..
    Calling GetCollectionDetails
    Collection has 126 Addons
    Connection to Steam servers successful.

    ansonsten wird der Pfad in keiner anderen Log Datei aufgerufen.

    Ich habe jetzt nur mal den oberen Teil kopiert, da nur hier auf den Pfad eingegangen wird.

    • Das habe ich noch zusätzlich gefunden, die s wiederholt sich bei jedem Map wechsel / neustart

      Included TTT language file: chef.lua
      Included TTT language file: english.lua
      Included TTT language file: german.lua
      Included TTT language file: portuguese.lua
      Included TTT language file: russian.lua
      Included TTT language file: spanish.lua
      Included TTT language file: swedish.lua
      Included TTT language file: tradchinese.lua
      Particles: Missing ‚particles/hunter_flechette.pcf‘
      Particles: Missing ‚particles/hunter_projectile.pcf‘
      Trouble In Terrorist Town gamemode initializing…
      This is TTT version 2015-05-25
      Making workshop map available for client download
      ConVarRef room_type doesn’t point to an existing ConVar
      Executing dedicated server config file gmod-server.cfg
      Nav File is wrong or something (1)
      Server logging enabled.
      L 05/04/2016 – 21:52:32: Log file closed.
      Server logging data to file logs/L0504011.log
      L 05/04/2016 – 21:52:32: Log file started (file „logs/L0504011.log“) (game „/home/gmodserver/serverfiles/garrysmod“) (version „6378“)
      Unknown command „sv_allow_wait_command“
      Unknown command „sv_max_usercmd_future_ticks“
      Unknown command „sv_voicecodec“
      Unknown command „ttt_haste_starting_minutes_per_desath“
      Unknown command „ttt_no-nade_throw_during_prep“
      Unknown command „ttt_karma_kil_penalty“
      Unknown command „ttt_namechange_ban“
      Unknown command „mountcfg“
      Unknown command „{“
      Unknown command „cstrike“
      Unknown command „hl2“
      Unknown command „addons“
      Unknown command „}“
      Writing cfg/banned_user.cfg.
      TTT initializing convar settings…

      • ok, aus dem ersten Teil kann man sehen, dass der Server den CS:S-Content (und auch den von HL2) findet und auch nutzt (FIND [/home/gmodserver/css/cstrike/*.vpk]
        ADDING [/home/gmodserver/css/cstrike/cstrike_pak_000.vpk]
        Adding Path: [/home/gmodserver/css/cstrike]
        )

        Das heißt, Fehler die dann eventuell noch auftreten, liegen nicht an fehlenden CS:S-Dateien höchstens fehlt da noch COntent von TF2, das könntest du mal noch testen.

        Im zweiten Teil sieht man, dass du einige Fehler in der server.cfg hast:
        ttt_haste_starting_minutes_per_desath
        ttt_nonade_throw_during_prep
        ttt_karma_kill_penalty
        etc.

        den Teil mit mountcfg etc. kann ich mir aber ehrlich gesagt nicht erklären!? Hast du da noch was in die server.cfg geschrieben?

        • In der server.cfg habe ich nur noch testhalber exec mount.cfg eingefügt. In beiden Fällen existierten die Grafikfehler.

          • Das muss in der server.cfg auf jeden Fall nicht mit drinstehen und führt zu Fehlern wie du siehst, kannst du also wieder rausnehmen 🙂

            Grund ist einfach, dass die beiden Config-Dateien zu unerschiedlichen Zeiten ausgeführt werden: Die mount.cfg ein einziges mal beim ersten Serverstart und die server.cfg jedes mal bei einem Mapwechsel. Beim Mapwechsel ist die Phase aber schon vorbei, in der der Server irgendwelchen Content/Addons/whatevewr laden würde, deshalb gibt er da einen Fehler aus 🙂

  • Betreff Trouble in Terrorist Town

    Moin moin,
    vorab erst mal vielen Dank für diese Super Anleitung, sie hat mir sehr geholfen. Ich kenne mich kaum mit Server Konfigurationen aus, und scheitere momentan an dem mounten der css files um Grafikfehler zu beheben. TTT läuft in dem Clan in dem ich bin auf einem Linux Server und dementsprechend funktioniert die Konfiguration ja geringfügig anders. Ich habe dies in der mount.cfg berücksichtigt und angepasst. Leider scheint es nicht richtig zu sein da es weiterhin Grafik / physical objekt errors auf karten wie z.B teenroom skyscraper etc anzeigt. Hättest du eine Idee woran dies liegen könnte.

    „mountcfg“
    {
    „cstrike“ „/home/gmodserver/css/cstrike“
    // „tf“ „C:\mytf2server\tf“
    }

    Mit freundlichen grüßen
    Cornelius

    • Ich sehe in deinem Kommentar gerade, dass da irgendwelche besonderen Anführungszeichen reingerutscht sind („“ anstatt ""). Wenn die so auch in deiner Konfigurationsatei sind, wird das nicht funktionieren, da der Server mit denen nicht klar kommt. Ersetze also einfach mal alle Anführungszeichen durch die richtigen und teste es dann nochmal – der Pfad sieht so eigentlich logisch aus, wenn du für den Server einen eigenen Benutzer angelegt hast 🙂

      Edit: Habe Blödsinn geschrieben, die Anführungszeichen sind richtig, die wurden vom wordpress-Backend nur bei der Anzeige automatisch umgewandelt. Wie sieht denn der Log beim Serverstart aus? Wenn der Ordner so wie in der Konfig angegeben gefunden wird, müsste das eigentlich ganz am anfang irgendwo stehen.

Kommentare sind geschlossen.