Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
tutorial:server:l4d [2009/08/30 14:48] DeaD_EyE <code>-Tag vergessen |
tutorial:server:l4d [2012/11/14 22:40] (aktuell) DeaD_EyE [Plugins] |
||
---|---|---|---|
Zeile 18: | Zeile 18: | ||
==== Glibc ==== | ==== Glibc ==== | ||
- | Der Server setzt unter Linux eine neuere Glibc-Version voraus. Mit der Eingabe des Befehls ''/lib/libc.so.6'' wird die aktuelle Version angezeigt. Der L4D-Server benötigt mindestens die Version 2.5. | + | Der Server setzt unter Linux eine neuere Glibc-Version voraus. Mit der Eingabe des Befehls ''/lib/libc.so.6'' wird die aktuelle Version angezeigt. Der L4D-Server benötigt mindestens die Version 2.5.\\ |
- | + | Im Artikel [[:tutorial:server:glibc_debian]] sind mehrere Wege beschireben um die neuere Glibc-Version zu installieren. | |
- | === Debian === | + | |
- | Durch den Paketmanager ist die Installation der neuen Version recht einfach. Man hat die Wahl entweder mit der ganzen Distribution auf einen unstabilen Zweig zu wechseln oder wahlweise die glibc (inkl. Abhängigkeiten) zu aktualisieren. **Sollte es sich um ein Produktivsystem handeln**((Plesk, Confix und andere Dienste, die geschäftlich genutzt werden)) **ist von einem Update abzuraten.** Wir übernehmen keine Garantie, dass alles Reibungslos klappt. Zusätzlich gibt es noch die Möglichkeit für Debian einfach eine ''Chroot-Umgebung'' einzurichten. Die Vorgehensweise wird im Artikel [[:tutorial/server/chroot_debian]] beschrieben. | + | |
- | + | ||
- | == Upgrade der Distribution == | + | |
- | Zuerst muss die Datei ''/etc/apt/sources.list'' bearbeitet werden. Da ''lenny'' jetzt stable ist, entfällt bei den meisten diese nötige Änderung. Sollte noch ''etch'' drin stehen, kann das durch ''stable'' oder ''lenny'' ersetzt werden. Beide Varianten haben ihre Vor- und Nachteile. | + | |
- | <code>nano -w /etc/apt/sources.list</code> | + | |
- | Danach muss ein Update der Paketliste gezogen werden. Hier werden noch keine Updates installiert: | + | |
- | <code>apt-get update</code> | + | |
- | Jetzt wird ein Upgrade der Pakete und der Distribution gestartet: | + | |
- | <code>apt-get upgrade && apt-get dist-upgrade</code> | + | |
- | + | ||
- | == Gemischtes System == | + | |
- | Es ist auch möglich ein gemischtes System aus stable, testing und unstable zu verwalten. Dieser Weg ist etwas eleganter als die beiden anderen Methoden. Mit dem [[http://jaqque.sbih.org/kplug/apt-pinning.html|Pinning]] von Apt-Get besteht die Möglichkeit Pakete unterschiedlicher Zweige zu installieren. Abhängigkeiten werden weiterhin erfüllt. Zuerst muss die Datei ''/etc/apt/apt.conf.d/70debconf'' erweitert werden oder wahlweise kann auch die Datei ''/etc/apt/apt.conf'' erstellt werden. Folgender Inhalt muss hinzugefügt werden: | + | |
- | <code>APT::Default-Release "stable"; | + | |
- | APT::Cache-Limit "18388608";</code> | + | |
- | Als Standard wird bei dieser Einstellung für ''apt-get'' der stabile Zweig((zur Zeit etch)) verwendet. Der Cache-Limit ist erhöht worden, da beide Paketlisten der Zweige ''lenny'' und ''etch'' zu groß für die Standardeinstellung sind.\\ | + | |
- | + | ||
- | Danach muss ein weiterer Debian-Mirror für ''Debian Lenny'' zur Datei /etc/apt/sources.list hinzugefügt: | + | |
- | <code>deb ftp://ftp.debian.org/debian lenny main</code> | + | |
- | Mittels ''apt-get update'' können die Paketlisten neu geladen werden und zuletzt wird dann glibc installiert: | + | |
- | <code>apt-get -t testing install libc6</code> | + | |
- | Zuvor kann mit dem Befehl <code>apt-get -s -t testing install libc6</code> überprüft werden, welche Pakete durch Abhängigkeiten betroffen sind und aktualisiert würden. | + | |
- | + | ||
- | == Upgrade der Glibc (unkonventionell) == | + | |
- | Dieser Weg sollte nicht angewandt werden, da es ansonsten Probleme mit anderen Paketen geben wird, die im Nachhinein installiert werden sollen.\\ | + | |
- | Zuerst muss die Datei ''/etc/apt/sources.list'' bearbeitet werden. Bei den meisten steht entweder stable oder etch drin. Das muss durch lenny ersetzt werden. | + | |
- | <code>nano -w /etc/apt/sources.list</code> | + | |
- | Danach muss ein Update der Paketliste gezogen werden. Hier werden noch keine Updates installiert: | + | |
- | <code>apt-get update</code> | + | |
- | Ist man sich nicht sicher, kann man noch mit folgendem Befehl die Änderungen der Pakete vorher anzeigen lassen: | + | |
- | <code>apt-get -s install libc6</code> | + | |
- | Meistens sind auch andere Pakete betroffen, die ein neues Update bekommen. Bei dem Update kommen Abfragen um bestimmte Dateien zu ersetzen, meist ist es besser die Originaldateien zu belassen. Wenn man sich wirklich sicher ist, kann man aber auch die neue Konfigurationsdateien aus dem neuen betroffenen Paket installieren (Apache ist auch dabei). Um das Paket ''libc6'' zu aktualisieren führt man folgenden Befehl aus: | + | |
- | <code>apt-get install libc6</code> | + | |
- | Es wird abgefragt werden, ob die Pakete heruntergeladen werden sollen. Es muss mit Y oder J bestätigt werden. Nach dem Update kann mittels ''/lib/libc.so.6'' kann die aktuelle Version der Glibc nochmals abgefragt werden.\\ | + | |
- | Der letzte, eigentlich wichtigste Schritt, ist es die Quellen im Paket ''/etc/apt/sources.list'' wieder auf etch zu setzen. Dadurch werden bei zukünftigen Updates andere Paket nicht betroffen sein. Man kann dann zur Kontrolle nochmals ein mittels ''apt-get update'' die Paketlisten vom stabilen Zweig ''etch'' herunterladen. Führt man ein Upgrade mittels ''apt-get upgrade'' durch, bleiben libc6 und die anderen betroffenen Pakete unberührt, bis es entweder in diesem Zweig eine neuere Version als im Unstable-Zweig gibt (unwahrscheinlich) oder wenn manuell nochmals die Quellen gewechselt worden sind und ein Paket mit einer neueren Version vorhanden ist. | + | |
===== Konfiguration ===== | ===== Konfiguration ===== | ||
==== autoexec.cfg ==== | ==== autoexec.cfg ==== | ||
+ | In der autoexec.cfg, die nach dem Serverstart vor der ersten Map geladen wird, können Einstellungen vorgenommen werden, die erst nach einem Mapchange übernommen werden((z.B. sv_pure)). Desweiteren kann man dort Einstellungen vornehmen, die während der Laufzeit von Außen nicht geändert werden. Mit einer vernünftigen Aufteilung lässt sich auch die server.cfg übersichtlich halten. | ||
<code>// log on | <code>// log on | ||
// | // | ||
Zeile 76: | Zeile 42: | ||
// | // | ||
// mit 0 wird der clientseitige Wait-Befehl unterbunden | // mit 0 wird der clientseitige Wait-Befehl unterbunden | ||
- | // es kann helfen bestimmte clientseitige Scripts zu unterbinden</code> | + | // es kann helfen bestimmte clientseitige Scripts zu unterbinden |
+ | // motdfile "motd.txt" | ||
+ | // | ||
+ | // Definiert die Datei fuer die MOTD (Message of the Day) | ||
+ | |||
+ | // motd_enabled 1 | ||
+ | // | ||
+ | // Aktiviert MOTD | ||
+ | |||
+ | // hostfile "host.txt" | ||
+ | // | ||
+ | // Definiert die Datei fuer die den Host-Banner | ||
+ | |||
+ | // sv_region 255 | ||
+ | // | ||
+ | // Gibt an in welchen Teil der Welt man sich befindet. | ||
+ | // 3 = Europa | ||
+ | |||
+ | // Kann angegeben werden, um den Spielern die Kontaktaufnahme zum Admin zu ermoeglichen. | ||
+ | // | ||
+ | // sv_contact ""</code> | ||
==== server.cfg ==== | ==== server.cfg ==== | ||
- | Bei Left 4 Dead sind nur sehr wenige Einstellungen nötig. Die server.cfg sollte möglichst klein gehalten werden. Es sind sehr viele Beispiele im Netz zu finden, die schlichtweg falsch sind. Es wurden seit der Demo [[:cmd]] und [[:cvar]] geändert, hinzugefügt oder entfernt. Die [[:cvar]] sv_cheats muss komplett aus der server.cfg entfernt werden, da ansonsten Probleme im Spiel auftreten. Bestimmte Einstellungen können durch das Matchmaking-System anscheinend nicht mehr richtig gesetzt werden. Hier ist ein Beispiel für eine komplette ''server.cfg'': | + | Bei Left 4 Dead sind nur sehr wenige Einstellungen nötig. Die server.cfg sollte möglichst klein gehalten werden. Es sind sehr viele Beispiele im Netz zu finden, die schlichtweg falsch sind. Es wurden seit der Demo [[:cmd]] und [[:cvar]] geändert, hinzugefügt oder entfernt. Die [[:cvar]] sv_cheats muss komplett aus der server.cfg entfernt werden, da ansonsten Probleme im Spiel auftreten können. Bestimmte Einstellungen können durch das Matchmaking-System anscheinend nicht mehr richtig gesetzt werden. Hier ist ein Beispiel für eine komplette ''server.cfg'': |
<code>hostname "L4D by SourceServer.info" | <code>hostname "L4D by SourceServer.info" | ||
// Servernamen festlegen | // Servernamen festlegen | ||
Zeile 85: | Zeile 71: | ||
rcon_password "xxxxxxxx" | rcon_password "xxxxxxxx" | ||
// Rcon-Passwort setzen | // Rcon-Passwort setzen | ||
- | |||
- | // sv_region 255 | ||
- | // | ||
- | // Gibt an in welchen Teil der Welt man sich befindet. | ||
- | // 3 = Europa | ||
// sv_gametypes "coop,versus,survival" | // sv_gametypes "coop,versus,survival" | ||
Zeile 98: | Zeile 79: | ||
// versus = Versus-Modus mit 8 Spielern | // versus = Versus-Modus mit 8 Spielern | ||
// survival = Survival-Mods mit 4 Spielern | // survival = Survival-Mods mit 4 Spielern | ||
- | |||
- | // Kann angegeben werden, um den Spielern die Kontaktaufnahme zum Admin zu ermoeglichen. | ||
- | // | ||
- | // sv_contact "" | ||
// sv_search_key "" | // sv_search_key "" | ||
Zeile 136: | Zeile 113: | ||
// Erlaubt das direkte Verbinden mittels connect auf den Server. | // Erlaubt das direkte Verbinden mittels connect auf den Server. | ||
// | // | ||
- | // 0 = Die direkte Verbindung durch den Befehl connect wird zugelassen. | + | // 0 = Die direkte Verbindung durch den Befehl connect wird zugelassen. Dies betrifft auch HLSW. |
- | // 1 = Verbindung nur durch die Lobby. | + | // 1 = Verbindung nur durch die Lobby.</code> |
- | + | ||
- | // motdfile "motd.txt" | + | |
- | // | + | |
- | // Definiert die Datei fuer die MOTD (Message of the Day) | + | |
- | + | ||
- | // motd_enabled 1 | + | |
- | // | + | |
- | // Aktiviert MOTD | + | |
- | + | ||
- | // hostfile "host.txt" | + | |
- | // | + | |
- | // Definiert die Datei fuer die den Host-Banner</code> | + | |
In diesem Beispiel stehen in den auskommentierten [[:cvar]] die Standardwerte.\\ | In diesem Beispiel stehen in den auskommentierten [[:cvar]] die Standardwerte.\\ | ||
Einstellungen an den Netsettings vorzunehmen ist unnötig, da der Server nicht mehr als 30 FPS schafft, was daraus schließen lässt, dass der Server nur mit Tickrate 33 läuft((Wenn es sowas bei L4D überhaupt noch gibt)). Die [[:cvar]] für die Netsettings sind außerdem versteckt und lassen sich ohne Plugins nicht ändern. | Einstellungen an den Netsettings vorzunehmen ist unnötig, da der Server nicht mehr als 30 FPS schafft, was daraus schließen lässt, dass der Server nur mit Tickrate 33 läuft((Wenn es sowas bei L4D überhaupt noch gibt)). Die [[:cvar]] für die Netsettings sind außerdem versteckt und lassen sich ohne Plugins nicht ändern. | ||
Zeile 161: | Zeile 126: | ||
|versus |Der Server wird für Versus vom Matchmaking-System genutzt. | | |versus |Der Server wird für Versus vom Matchmaking-System genutzt. | | ||
|survival |Der Server wird für den Survival-Mods vom Matchmaking-System genutzt. | | |survival |Der Server wird für den Survival-Mods vom Matchmaking-System genutzt. | | ||
+ | |teamversus |Der Server wird für Team-Versus vom Matchmaking-System genutzt. | | ||
Die Werte lassen sich kombinieren. Sie werden durch ein Komma getrennt. Der Standard-Wert ist zur Zeit ''coop,versus,survival''. Die [[:cvar|Konsolen-Variable]] kann zur ''server.cfg'', ''autoexec.cfg'' oder einer cfg-Datei für geforkte Server hinzugefügt werden. Wird diese [[:cvar|Konsolen-Variable]] nicht gesetzt, sind alle Spieltypen über das Matchmaking-System für diesen Server erlaubt. | Die Werte lassen sich kombinieren. Sie werden durch ein Komma getrennt. Der Standard-Wert ist zur Zeit ''coop,versus,survival''. Die [[:cvar|Konsolen-Variable]] kann zur ''server.cfg'', ''autoexec.cfg'' oder einer cfg-Datei für geforkte Server hinzugefügt werden. Wird diese [[:cvar|Konsolen-Variable]] nicht gesetzt, sind alle Spieltypen über das Matchmaking-System für diesen Server erlaubt. | ||
==== Spielmodus festlegen ==== | ==== Spielmodus festlegen ==== | ||
- | Wird der Server mit einer Map gestartet, befindet sich diese automatisch im Coop-Modus. Die [[:cvar|Konsolen-Variable]] mp_gamemode legt den Spielmodus fest. Diese [[:cvar|Konsolen-Variable]] kann zur ''autoexec.cfg'' hinzugefügt oder als Startparameter verwendet werden, damit auch der Spieltyp zur ersten geladenen Map passt. Es kann so auch manuell der Spielmodus geändert werden. Ansonsten setzt die Lobby den Spielmodus. | + | === Startbefehl === |
+ | Wird der Server mit einer Map gestartet, befindet sich diese automatisch im Coop-Modus. Die [[:cvar|Konsolen-Variable]] mp_gamemode legt den Spielmodus fest. Diese [[:cvar|Konsolen-Variable]] kann im Startbefehl ((''+mp_gamemode'')) verwendet werden. Damit auch der Spieltyp zur ersten geladenen Map passt, sollte der Startbefehl dementsprechend angepasst werden. | ||
+ | |||
+ | === Zur Laufzeit === | ||
+ | Läuft der Server bereits, kann der passende Spielmodus gändert werden ohne den Server neustarten zu müssen. | ||
+ | == mp_gamemode == | ||
+ | Die [[:cvar|Konsolen-Variable]] ''mp_gamemode'' bestimmt den aktuellen Modus. | ||
+ | == map == | ||
+ | Mit dem [[:cmd|Befehl]] ''map'' kann die [[:maps|Map]] und zugleich der Modus gewechselt werden.\\ | ||
+ | Syntax: <code>map mapname [coop|versus|survival]</code> | ||
+ | Beispiel: <code>map l4d_vs_smalltown01_caves versus</code> | ||
+ | Der Befehl kickt wie bei allen anderen SourceGames die Spieler vom Server. Der Befehl ''changelevel'' kann leider nicht verwendet werden, um den Modus zu ändern.\\ | ||
+ | |||
+ | ==== Maps sortiert nach Spieltypen ==== | ||
=== Coop === | === Coop === | ||
- | <code>mp_gamemode "coop"</code> | ||
- | Start-[[:maps]] für den Server, die für diesen Modus erstellt worden sind. | ||
<code>l4d_hospital01_apartment | <code>l4d_hospital01_apartment | ||
l4d_farm01_hilltop | l4d_farm01_hilltop | ||
Zeile 175: | Zeile 152: | ||
=== Versus === | === Versus === | ||
- | <code>mp_gamemode "versus"</code> | ||
- | Start-[[:maps]] für den Server, die diesen Modus erstellt worden sind. | ||
<code>l4d_vs_hospital01_apartment | <code>l4d_vs_hospital01_apartment | ||
l4d_vs_farm01_hilltop | l4d_vs_farm01_hilltop | ||
Zeile 183: | Zeile 158: | ||
=== Survival === | === Survival === | ||
- | <code>mp_gamemode "survival"</code> | ||
- | Offizielle [[:maps]], welche diesen Modus unterstützen.\\ | ||
//Es sind noch nicht alle Maps eingetragen.// | //Es sind noch nicht alle Maps eingetragen.// | ||
<code>l4d_hospital02_subway | <code>l4d_hospital02_subway | ||
Zeile 201: | Zeile 174: | ||
Für die Anzeige eines eigenen Banners, muss Webspace vorhanden sein. Man kann direkt eine URL zum Banner angeben oder eine html-Datei mit dem Bild erstellen. Der Weg mit der html-Datei ist der elegantere Weg. | Für die Anzeige eines eigenen Banners, muss Webspace vorhanden sein. Man kann direkt eine URL zum Banner angeben oder eine html-Datei mit dem Bild erstellen. Der Weg mit der html-Datei ist der elegantere Weg. | ||
Beispiel einer host.txt: | Beispiel einer host.txt: | ||
- | <code>http://sourceserver.info/serverbanner.htm</code> | + | <code>http://sourceserver.info/l4d-serverbanner.htm</code> |
- | Mit einem Trick kann man die Größe automatisch an die Auflösung anpassen. Das Bild wird, wenn es zu groß ist, sogar verkleinert. Beispiel von serverbanner.htm auf dem Webspace: | + | Mit einem Trick kann man die Größe automatisch an die Auflösung anpassen. Das Bild wird, wenn es zu groß ist, sogar verkleinert. Beispiel von [[http://sourceserver.info/l4d-serverbanner.htm|l4d-serverbanner.htm]] auf dem Webspace: |
<code html><html> | <code html><html> | ||
<head> | <head> | ||
<style type="text/css"> | <style type="text/css"> | ||
html, body { background: black; margin:0px; padding:0px; border-style:none} | html, body { background: black; margin:0px; padding:0px; border-style:none} | ||
- | img { width: 100%;} | + | .img { width: 100%; height: 100%;} |
</style> | </style> | ||
</head> | </head> | ||
<body scroll=no> | <body scroll=no> | ||
- | <img src="http://sourceserver.info/l4d.png" /> | + | <img src="http://sourceserver.info/l4d.jpg" class="img" border="0" /> |
</body> | </body> | ||
</html></code> | </html></code> | ||
Zeile 218: | Zeile 191: | ||
Das Format der Datei modt.txt hat sich geändert.\\ | Das Format der Datei modt.txt hat sich geändert.\\ | ||
Zu bearbeitende Datei: ''./left4dead/motd.txt''\\ | Zu bearbeitende Datei: ''./left4dead/motd.txt''\\ | ||
- | Gleiche wie bei dem Banner. Es muss ein Link zu einer Seite angegeben werden. | + | Die Datei kann wie bei den anderen [[:mods]] direkt als HTML-Code abgespeichert werden. |
+ | Es ist aber auch möglich wie beim Banner einen Link zu einer Seite anzugeben. | ||
===== Start-Befehl ===== | ===== Start-Befehl ===== | ||
Zeile 368: | Zeile 342: | ||
==== Plugins ==== | ==== Plugins ==== | ||
+ | FIXME Informationen veraltet FIXME\\ | ||
^Plugin ^Version ^Funktioniert ^Bemerkung | | ^Plugin ^Version ^Funktioniert ^Bemerkung | | ||
- | |Metamod: Source |[[http://metamodsource.net/?go=downloads|1.7.1]] |ja | Unterstützt jetzt alle Versionen der SourceEngine | | + | |Metamod: Source |[[http://metamodsource.net/?go=downloads|1.7.1]] |ja | Unterstützt jetzt alle Versionen bis auf L4D2 der SourceEngine | |
- | |SourceMod |[[http://www.sourcemod.net/snapshots.php|1.2]] |ja |Das Plugin ''nextmap.smx'' löschen oder nach ''disabled'' verschieben, da ansonsten die nächste Map nicht geladen wird. | | + | |SourceMod |[[http://www.sourcemod.net/downloads.php|1.2.4]] |ja | | |
- | |Mani-Admin-Plugin |1.2s EP1\\ 1.2s OB |nein | | | + | |Mani-Admin-Plugin |1.2T |nein | | |
|BeetlesMod |[[http://www.beetlesmod.com/comm/|L4D_1A]] |ja |Kommentar vom Entwickler: Heres a mini Left4Dead admin plugin. just has kick, ban, permanantban | | |BeetlesMod |[[http://www.beetlesmod.com/comm/|L4D_1A]] |ja |Kommentar vom Entwickler: Heres a mini Left4Dead admin plugin. just has kick, ban, permanantban | | ||
- | |EventScripts |[[http://forums.mattie.info/cs/forums/viewtopic.php?t=27573|2.x]] |nein\\ ist in Arbeit | | | + | |EventScripts |[[http://forums.eventscripts.com/viewtopic.php?t=34413|2.x]] |ja | | |
==== Rcon ==== | ==== Rcon ==== |