HALF-LIFE PORTAL
Your Gate To Valve's Games www.hl-forum.de
PORTAL
FORUM
LOGIN
User oder E-mail:


Passwort:


oder
Registrieren
Passwort vergessen?
OpenID-Login
MISC
PARTNER

TF2 Crafting

Special Artworks by
Hayungs

Link us:
HL PORTAL

Support us:


HLPortal
auf Facebook

›› Willkommen!   ›› 95.010.447 Visits   ›› 18.316 registrierte User   ›› 29 Besucher online (0 auf dieser Seite)
23.789 Themen, 325.181 Beiträge  
    FORUM 

Thema-Ansicht


Forum > Steam > GameServer > Source Dedicated Server Guide
Status: Sticky
9 Beiträge
Letzter Beitrag Seiten (1):  [1]


Autor Beitrag
# 1
krt
HLP - Redakteur
Nachricht offline Moderator
Vortigaunt
723 Punkte
Dabei seit: 23.04.2004
447 Beiträge
Source Dedicated Server Guide
Einleitung
Als ich heute etwas durch das Forum geblättert habe, ist mir aufgefallen, dass es - Jahre nach der Veröffentlichung von Half-Life - immer noch Probleme beim Aufsetzten eines Servers gibt. Dass das Einrichten und Betreiben eines richtigen Spielservers einiges an Erfahrung und Wissen benötigt, sollte jedem klar sein, aber für die kleine LAN-Party im Keller oder für das gelegentliche Zocken mit Freunden über das Internet muss der Server ja auch nicht den gehobenen Ansprüchen von kostenpflichtigen Hostern entsprechen.

Ich will hier also Schritt für Schritt erklären, wie schnell man einen kleinen Hobby-Server aufsetzen kann, welche Probleme dabei auftreten und wie man die größten Fehler vermeidet. Da ich selbst noch kaum Erfahrung in Sachen Serverbetrieb habe und ich mir die meisten Informationen im Zuge dieses Artikels selbst angeeignet habe, erhebe ich keinen Anspruch auf Vollständigkeit oder Richtigkeit. Für Verbesserungsvorschläge, Fragen und Tipps bin ich daher gerne zu sprechen.


Welcher Server soll es sein?

Generell gibt es zwei verschiedene Arten von Servern. Entweder man startet nur den Server (dedicated server) oder man lässt sowohl Client als auch Server laufen (listen server). Letzteres ist einfacher, man stößt allerdings bei wachsender Spielerzahl schnell an die Leistungsgrenze seines Computers. Um einen solchen listen server zu erstellen, muss man nur wie gewohnt das gewünschte Spiel starten, Server erstellen auswählen, die nötigen Einstellungen machen und auf OK klicken. Wie man einen dedicated server erstellt, könnt ihr weiter unten nachlesen.

Das Problem mit der Bandbreite

Auch wenn die Telekommunikationskonzerne mal wieder mit riesigen Zahlen für ihre Internetanschlüsse werben, solltet ihr nicht meinen, dass ihr damit genügend Bandbreite habt, um 32 Spieler zulassen zu können. Das Nadelöhr ist nämlich nicht die Geschwindigkeit, mit der ihr Daten herunterladen könnt (down-stream), sondern die Geschwindigkeit beim Senden (up-stream). Bei einem Source-Spiel sollte man zum Beispiel für zwei bis drei Leute schon einen DSL768/128-Anschluss sein Eigen nennen.

Im lokalen Netz spielt die Bandbreite nur indirekt eine Rolle. Das große Problem hier ist meist eine schlechte Netzwerk-Infrastruktur bedingt durch schlechte Hardware (Kabel, Repeater, Switches, Netzwerkkarten oder gar Probleme im Rechner selbst).


IP-Adressen

Vereinfacht gesagt gibt es für unseren Zweck eine Unterscheidung in zwei IP-Adresstypen. Die einen sind aus dem privaten Bereich, beispielsweise 192.168.1.147, die anderen aus dem öffentlichen, zum Beispiel 80.190.246.219. Erstere werden benutzt um im lokalen Netzwerk zu kommunizieren, letztere werden dagegen im Internet benutzt. Haben wir einen Server eingerichtet, so ist dieser nur aus dem lokalen Netzwerk erreichbar und lässt sich über eine IP-Adresse des ersten Typs ansprechen. Ist man aber auch mit dem Internet verbunden, so ist man auch über eine öffentliche IP erreichbar. Ein Spieler im LAN benötigt zum betreten des Servers also die lokale, einer aus dem Internet die globale Adresse, um ein und denselben Server zu erreichen. Um an seine öffentliche Adresse zu kommen, gibt es mehrere Möglichkeiten. Für den Durchschnittsspieler ist es wohl am einfachsten, wenn er einfach mit dem fraglichen Computer auf http://www.wieistmeineip.de/ vorbeisurft und sie sich notiert. Für weitere Informationen zu diesem Thema solltet ihr euch den dazugehörigen Artikel auf Wikipedia durchlesen oder einfach einmal Exalead bemühen.


Installation eines dedizierten Servers

Anmerkung:
Ich habe mich für einen dedizierten HL2-DM-Server entschieden, aber auch das Einrichten für CS:S oder DoD:S sollte kein Problem darstellen. Das Aufsetzen des alten HLDS ist eventuell geringfügig anders, aber im Großen und Ganzen sollte dies auch keine Schwierigkeiten machen. Außerdem sei erwähnt, dass ich hier von einem vorhandenen STEAM-Account ausgehe, es gibt jedoch - zumindest wenn ich den Link auf steampowered.com richtig deute - für Linux und Windows alleine lauffähige Versionen.

Zuerst muss man natürlich den Source Dedicated Server installieren. Dazu melden wir uns bei STEAM an, wählen den Reiter Tools. Aus dem Kontextmenü (rechte Maustaste) wählen wir dann Install game...


Danach klicken wir uns durch die folgenden Dialoge und warten bis dei benötigten Daten geladen sind.






Nun können wir mit einem Doppelklick auf den Eintrag des SRC-DS den Server starten und gelangen in ein Konfigurationsmenü. Dort legen wir die wichtigsten Eckdaten fest. Bei Game wählen wir aus, welches Spiel wir starten möchten. Wenn wir eine Modifikation verwenden wollen, für die kein eigener Eintrag existiert solltet ihr HL2-DM auswählen (weiteres dazu siehe unten). Bei Server Name könnt ihr euch einen Namen ausdenken. Über den Eintrag Network könnt ihr festlegen, ob der Server für das Internet gedacht ist oder für das lokale Netzwerk. Was Max. Players bewirkt, sollte jedem klar sein. Es setzt die Obergrenze für gleichzeitig verbundene Spieler fest. Hier solltet ihr lieber klein anfangen und austesten, wie viele Spieler euer Rechner verträgt. Bei UDP Port belassen wir es bei der Standardeinstellung. Ein wichtiger Eintrag ist noch das RCON Password, mit dem ihr Admin-Rechte auf dem Server erlangen könnt. Wenn alles eingestellt ist könnt ihr den Server starten. Beim ersten Start werden wahrscheinlich noch die eigentlichen Spieldaten nachgeladen, was um einiges länger dauert als die Installation der Serversoftware.





Wer die eingebaute Firewall von Windows oder eine so genannte personal firewall verwendet, wird jetzt vermutlich darüber informiert, dass unser Server sich mit dem angegebenen Netzwerk verbindet und man muss gegebenenfalls ihm dies erlauben. In den meisten Fällen genügt ein Klick auf Unblock, Allow oder wie auch immer die Option bei eurer Firewall beschriftet ist, die eigentlich Konfiguration wird dann meist automatisch vorgenommen. Wer jedoch selbst Hand anlegen muss, der findet die benötigten Portfreigaben weiter unten.


Der Server ist nun grundlegend konfiguriert und sobald man den Wartungsdialog sieht betriebsbereit. Hier kann man sich verschiedene Informationen anzeigen lassen oder über den Reiter Console direkt auf den Server zugreifen. Will man nur im LAN spielen, ist damit der größte Teil der Arbeit getan und man kann sich an die Feinabstimmung machen. Wer einen Internet-Server betreibt, sollte jedoch zur Kenntnis nehmen, dass die angezeigte IP-Adresse aus dem privaten Bereich stammt. Aus dem Internet ist der Server unter einer anderen Adresse zu erreichen (siehe oben).



Die Sache mit den Ports...

Da die meisten inzwischen einen Router verwenden, also nicht mehr direkt mit dem Internet verbunden sind, gibt es jedoch meist lange Gesichter, wenn man seinen Freunden die Adresse des eben eingerichteten Servers mitteilt und diese versuchen über das Internet einem Spiel beizutreten. Der Grund dafür liegt darin, dass auf diesen Routern meist eine (weitere) Firewall läuft und dass man die benötigten Ports hier ebenfalls freigeben muss und per NAT auf den eigentlichen Server weiterleiten - port forwarding genannt - muss. Was genau zu tun ist, hängt natürlich von dem jeweiligen Hersteller und den verwendeten Ports ab, doch mit etwas Suchen wird man ähnliche Einstellungen finden, wie die die ich verwende. Bei Name oder Application kann man einen Namen eintragen, der einen daran erinnert, für welches Programm diese Regel eigentlich gilt. In unserem Fall wäre zum Beispiel "srcds" ein passender Eintrag. Port from gibt an, auf welchem Port der Router aus dem Internet erreichbar sein soll, Port to bestimmt dagegen den Port, auf dem der eigentliche Server Daten entgegen nimmt. Am einfachsten ist es, wenn man einfach die benötigten Ports durchschleift, also bei beiden die gleichen Werte angibt. Bei Protocol steht meist UDP, TCP und both zur Auswahl. Da wir beide benötigen, neben wir letzteres. Unter IP-Address geben wir schließlich die private Adresse unsere Servers an.


Welche Ports man schlussendlich freigeben muss, hängt natürlich von den gewählten Einstellungen ab. Für die meisten Fälle sollte es jedoch folgende Ports tun:
  • UDP 1200
  • TCP 27015
  • UDP 27015
  • UDP 27000 bis 27015
  • TCP 27030 bis 27039
Hat man alles richtig gemacht, kann man den Server nun über die öffentliche und die private IP ansprechen. Wer jedoch dem Spiel beitreten darf, wurde weiter oben schon festgelegt.


Ich weise noch einmal darauf hin, dass ich selbst nicht der Fachmann für Server- und Netzwerkfragen bin. Ich habe hier vieles vereinfacht dargestellt und bewusst nicht jede noch so kleine Eventualität beschrieben. Wer Fragen, Probleme oder Anmerkungen hat, der darf sie gerne mir mitteilen.


Mein Server taucht nicht in der Serverliste auf...

Wenn ihr alles richtig gemacht habt könnt ihr euren Server - falls die Adresse bekannt ist - zu euren Favoriten hinzufügen und dort Spielen. Denkt aber daran, dass es eine Weile dauert, bis die Masterserver von STEAM euren Server ebenfalls erkennen und in ihre Listen aufnehmen. Falls dies nicht geschieht solltet ihr in der Konsole des Servers nachlesen, ob es gegebenenfalls Probleme mit der Authentisierung oder ähnliches gibt.


Fernwartung des Servers

RCON steht für remote console und ist ein Fernwartungstool für den Server, welches benutzt wird, wenn man nicht direkt über die Konsole des Wartungsdialogs die Einstellungen ändern kann. Die Handhabung ist extrem einfach: Ist man bereits auf dem zu wartenden Server so geht man einfach in die eigene Konsole und gibt dort rcon_password PASSWORT ein. Gibt man nun rcon BEFEHL ein, wird der BEFEHL nicht auf dem Client, sondern eben auf dem Server ausgeführt. Auch wenn man nicht auf dem Server ist, lässt sich rcon benutzen, zum Beispiel wenn man jemanden vom Server werfen muss, um selbst spielen zu können. Hierzu öffnet man auf dem Client die Konsole und gibt dort wie gewohnt sein RCON-Passwort ein. Man muss jetzt jedoch zusätzlich mit rcon_address IP die Adresse des Servers und mit rcon_port PORT den Serverport festlegen. Jetzt steht einem ebenfalls die remote console des Servers zur Verfügung.

Können auf meinen Server sowohl LAN- als auch Internet-Spieler verbinden?

Leider kann ich hier nichts genaueres sazu sagen. Früher war es beim HLDS über einen Umweg möglich. Wahrscheinlich funktioniert dies immer noch: Erst erstellt man einen lokalen Server und lässt alle Spieler aus dem Netzwerk beitreten, dann setzt man sv_lan auf 0 wodurch nun nur noch Clients aus dem Internet verbinden können. Die alten Teilnehmer aus dem LAN bleiben jedoch ebenfalls mit dem Server verbunden. Wenn jemand neure Informationen hat, bitte posten!


Wie kann ich einen Server für die Modifikation XYZ eröffnen?

Ich habe leider noch keine Erfahrung mit Modifikationen unter Source machen können, aber ich denke es sollte ähnlich wie bei Half-Life ablaufen. Wenn ein Mod keinen eigenen Installer mitliefert, dann kopiert das Modverzeichnis einfach nach X:\Pfad\Zu\Steam\SteamApps\account@name.de\source dedicated server\ und startet srcds.exe mit der Option -game "mod_dir_name"


Ich möchte einen Server ohne Steam-Account betreiben

Auch wer keinen Steam-Account besitzt, kann natürlich einen Server aufmachen. Hierzu ladet ihr euch das HLDS Update Tool von steampowered.com herunter, welches es übrigens auch in einer Linux-Version gibt. Dieses kopiert ihr dann in ein Verzeichnis eurer Wahl und wechselt in der Eingabeaufforderung in eben dieses Verzeichnis. Hier startet ihr das Tool mit folgenden Optionen: hldsupdatetool.exe -command update -game "NAME" -dir PFAD. Dabei ersetzt ihr NAME durch den Namen des zu startenden Spiels, beispielsweise Counter-Strike Source, oder durch das entsprechende Kürzel, zum Beispiel hl2dm. Bei PFAD gebt ihr den vollständigen Pfad zu eurem Verzeichnis an, etwa C:\srcds. Beim ersten Start wird Steam wahrscheinlich nur das Tool selbst aktualisieren, dann müsst ihr es einfach nochmals mit den Parametern starten bis eine Meldung erscheint, dass der Server aktualisiert wurde. Zum aktualisieren verwendet ihr weiterhin das Update tool, den eigentlichen Server startet ihr mit der srcds.exe.


Was hat es mit der "BAD-Challenge from IP:PORT"-Meldung auf sich?

Zitat:
Die "Bad Challenge From IP:PORT"-Meldung ist glaub ich keien Fehlermeldung, sondern nur ne Statusmeldung, die besagt, dass ein Client eine veraltete Form der Anfrage benutzt hat. Der Server sollte den Client darauf hinweisen, der dann die Anfrage mit der neuen Methode neuformuliert. Wenn du die Meldung weg haben willstm kannst du einfach sv_enableoldqueries 1 in die Server-Konsole eingeben. Davon wird aber abgeraten, weil es wirklich nur noch für Legacy-Support verwendet werden sollte.

(krt)



Einstellungen für Fortgeschrittene

Wenn alles soweit geklappt hat, kann man sich auch etwas weitergehend mit dem Server beschäftigen. Hier einige interessante Sachen, über die man sich etwas Wissen aneignen sollet:
  • In der server.cfg kann man Einstellungen hinterlegen, die ein dedicated server automatisch bei jedem Start setzen soll.
  • In der listenserver.cfg kann man Einstellungen hinterlegen, die ein listen server automatisch bei jedem Start setzen soll.
  • Um sich die meisten - wenn nciht sogar alle - Variablen anzeigen zu lassen, könnt ihr den Befehl cvarlist und setinfo nutzen.
  • Um sich die meisten - wenn nciht sogar alle - Befehle anzeigen zu lassen, könnt ihr den Befehl cmdlist nutzen.
  • Mit sv_lan legt ihr fest, ob es ein LAN-Server (1) oder ein Internet-Server (0) ist.
  • Der eigentliche Server wird mit map KARTENNAME gestartet. Um lediglich die Karte zu ändern könnt sollte man changelevel KARTENNAME verwenden.
  • Ihr könnt den SRCDS auch über die Kommandozeile oder per Stapelverarbeitung starten, zum Beispiel so: srcds.exe -console -secure -dev -autoupdate -game cstrike -ip xxx.xxx.xxx.xxx -port 27015 +maxplayers 16 +sv_lan 0 +map de_dust +developer 3
Quellen und Verweise

ch musste mich wie gesagt selbst erst in die Materie einarbeiten. Dabei bin ich über ein paar interessante Webseiten gestoßen, die euch vielleicht euch etwas helfen könnten:<br/>
(krt)
[Beitrag wurde 8x editiert, zuletzt von krt am 27.06.2007, 16:39]
05.07.2006, 18:35 Uhr Anzeigen
# 2
Nachricht offline
Headcrab
0 Punkte
Dabei seit: 19.10.2004
40 Beiträge
Es muss ja mal einer sagen .:" Klasse Gemacht! "
So schön und übersichtlich will ich auch einmal Bilder einzufügen können!
06.07.2006, 13:59 Uhr Anzeigen
# 3
krt
HLP - Redakteur
Nachricht offline Moderator
Thread-Starter
Vortigaunt
723 Punkte
Dabei seit: 23.04.2004
447 Beiträge
Kleines Update zum Thema "Warum taucht mein Server nicht in den Listen auf...", auch wenn das wohl die wenigstens betruifft. Seit Steam geht das ganze doch recht fix.

NixMuss: Man dankt :)

--EDIT--

Bad Challenge-Meldung hinzugefügt...

--EDIT2--

SRCDS ohne Steam-Account hinzugefügt

Wer probleme mit sv_lan 0 oder seinem Listenserver aht, sollte sich folgenden Thread durchlesen: http://www.hlportal.de/?sec=forum&site=thread&thread_id=4452

--EDIT3--

Da das Forum etwas gegen größere Bilder hat und diese skaliert sei erwähnt, dass man die Bilder auch speichern (oder die URL davon in einem neuen Tab einfügen) kann, um dort alle Details zu sehen. Besonders bei dem Bild zu den Ports ist das sicherlich nötig.


(krt)
[Beitrag wurde 3x editiert, zuletzt von krt am 28.07.2006, 01:02]
07.07.2006, 09:53 Uhr Anzeigen
# 4
moc
HLP - Ehrenmember
Nachricht offline Moderator
Bullsquid
2.662 Punkte
Dabei seit: 22.06.2006
882 Beiträge
aja, ich hab da was gefunden (hoffentlich gibts das nich schon irgendwo als link, falls ich was übersehehn hab ^^) :

http://www.portforward.com/

da gibts für alle möglichen Router die Freigabeeinstellungen fürs Port Forwarding/Triggering für viele verschiedene Applicationen
ich hoffe, dass es weiterhilft (bei mir gings dann) :D
[Beitrag wurde 1x editiert, zuletzt von moc am 12.07.2006, 17:46]
12.07.2006, 17:45 Uhr Anzeigen
# 5
Nachricht offline
Headcrab
0 Punkte
Dabei seit: 19.01.2008
1 Beitrag
Hallo
Ich habe den t-online router 500V und ich weiß net wo ich die ports freischalten soll oder etc.
kann mir jemadn helfen?
19.01.2008, 12:56 Uhr Anzeigen
# 6
Nachricht offline
Bullsquid
2.565 Punkte
Dabei seit: 30.07.2006
794 Beiträge
http://www.portforward.com/

Ach ürbigens krt, wenn man einen Server ohne Account betreiben will, aber auf dem Account den SRCDS hat, kann man sich das mit dem Update-Tool sparen und einfach die GCF entpacken. Dasselbe beim HLDS. Gegebenfalls muss man allerdings noch bestimmte Inhalte von Half-Life 2 / 1 entpacken.
20.01.2008, 22:17 Uhr Anzeigen
# 7
Nachricht offline
Barnacle
352 Punkte
Dabei seit: 06.02.2006
348 Beiträge
Hallo Leute,

ich habe da noch eine kleine Frage^^ Wenn ich bei meiner Firewall die UDP/TCP Ports freigeben möchte habe ich immer die Auswahl zwischen "Lan-Internet" und "Internet-Lan" !
Bei welchen der beiden muss ich den nun die Ports freigeben, oder gleich bei beiden?

MFG FInalzero
29.04.2008, 13:55 Uhr Anzeigen
# 8
Nachricht offline
Bullsquid
1.732 Punkte
Dabei seit: 19.07.2008
339 Beiträge
Ich habe auch ein Problem!

Erstens mal, wie lange kann es dauern, bis die Steamserver meinen Server überhaupt erkannt haben?
Bei mir scheint etwas mit den Ports nicht zu funktionieren, ich habe den (Source Dedicated) Server schon 45 minuten drauf und er erscheint immernoch nicht in der Internetserverliste!
Hier mal, wie ich das alles gemacht habe:

Ich wählte "Port-Weiterleitung: Port-Bereiche" aus. Dann habe ich folgendes eingegeben bzw. ausgewählt:


Als ich ferig war, sah das dann folgendermassen aus:


Beim Klicken auf "Einzelheiten":


Nun meine Frage, was habe ich hier falsch gemacht, bzw. wo könnte das Problem liegen? :(
Ich würde mich sehr freuen, wenn mir jemand helfen könnte und ich endlich meinen Server zum laufen kriege. :)
01.01.2009, 13:08 Uhr Anzeigen
# 9
Nachricht offline
Headcrab
0 Punkte
Dabei seit: 23.11.2009
1 Beitrag
Hallo kann mir einer helfen hab ein problemm ich selber kann auf dem server joinen aber keiner meiner freunde und der server wird auch in der liste nicht angezeigt was ist das problem?
23.11.2009, 12:35 Uhr Anzeigen
nach oben
9 Beiträge

Seiten (1):  [1]


Gehe zu:  feed_mini Beiträge: RSS, RSS2, ATOM

Sections:  HLP  Board  Mods  Steam      Games:  HL  Op4  HLBS  HL2  HL2:Ep1  HL2:Ep2  Prtl  TF2  TFC  CS  DoD  L4D  Gunman
    USER ONLINE 
Insgesamt sind 29 Benutzer online. Davon sind 0 registriert:
    SITE OPTIONS 
- Zu Favoriten hinzufügen
- Als Startseite festlegen (IE only)
- Fehler auf dieser Seite?