Archive for Februar, 2009

Left 4 Dead dedicated noSteam LAN/Hamachi/Internet Linux Server

Dienstag, Februar 10th, 2009

Worum gehts:

  • Wie setzte ich einen Left 4 Dead Server für LAN / Hamachi / Internet auf?
  • Wie können Clients am besten auf den/die Server connecten?
  • Wie Administriere ich meinen Server?

Bemerkungen:

Mit den nötigen Patches können alle Clients (Steam / No-Steam) connecten
Die aktuelle Left 4 Dead Version ist 1.009

Aufsetzen des Servers

  1. Anlegen eines Ordners für den Server
    mkdir hlds
    cd hlds
  2. Download des Server über Steam
    wget http://storefront.steampowered.com/download/hldsupdatetool.bin
  3. Updaten und Installieren des Tools
    chmod +x hldsupdatetool.bin
    ./hldsupdatetool.bin chmod +x steam
    ./steam -command update -verify_all
  4. Downloaden der neuesten eSTEAMATiON Version eSTEAMATiON (V1.8) und VUP (V2.11)
  5. Downloaden der neuesten ViTYAN’s GameServers Universal Patch(VUP) Version eSTEAMATiON (V1.8) und VUP (V2.11)
  6. Patchen des Server auf die No-Steam Version
    Folgt der Anleitung auf eSTEAMATiON (V1.8) und VUP (V2.11) des Videos oder der Readme im eSTEAMATiON Archiv.
    Kommt der Punkt mit “Patchen mittels VUP” entpackt die Dateien von VUP in das aktuelle Verzeichniss und

    chmod +x vup_i686 ./vup_i686 - esteamation-prep -esteamation-allow-dublicate-ids l4d/bin/engine_i486.so

    Damit ist der Server gepatched.

  7. Sollte man beim connecten eines No-Steam Clients einen Neustart beim Server haben.
    So liegt dies an einem Fehler in der steamclient_linux.so und man muss diese durch eine gepachte version ersetzen. Downloaden der Version von: REVOLUTiON Emulator und folgt der Linux Version (V1.5). Die Datei entpacken und über l4d/bin/steamclient_linux.so spielen. Nun sollte es zu keinen Problemen mehr kommen.
  8. Konfigurieren des Server

  9. Anlegen einer server.cfg
    nano l4d/left4dead/cfg/server.cfg
    -------------------------------------------------------------------------------------------
    hostname "xxxxxxxxxxxxxx"
    rcon_password "xxxxxxxxxx"
    
    // sv_password "" // password to server, leave commented out for public server
    sv_lan 1 // 1 - LAN , 0 - Internet
    //sv_steamgroup 40346 // Steam group # to assign to server
    //sv_steamgroup_exclusive 0 // <1> Do not connect to the Match Making Service
    sv_allow_lobby_connect_only 0 // Allow connections without creating lobby
    sv_region 255 // East Coast
    sv_visiblemaxplayers 8 // Visible Player Slots
    mp_disable_autokick 1 // Keeps from automatically kicking players
    
    // Server Gameplay Settings
    sv_cheats 0 // 0 - Off, 1 - On
    
    // Voice Options
    sv_alltalk 0 // 0 - Off, 1 - On
    
    sv_pausable 1 // is the server pausable
    
    sv_downloadurl "http://myserver.com"
    sv_filetransfercompression 0
    
    --------------------------------------------------------------------------------------------
  10. Versus-Only Server
    Auf der Seite Instructions to Set Up Perfect Versus Only Serverfindet man eine immer aktualisierte Anleitung wie man einen Versus-Only / Normalen Server aufsetzt.
    Bei der aktuellen Version vom l4dmapchangeforcer Plugib muss die config Datei angepasst werden (Standardeinstellung ist coop)
    Das Plugin L4D Director Enforcer sollte man glaub ich nicht installieren (mit hat es bei mir nicht funktioniert)
  11. Coop-Only Server
    Einfach als Startmap eine CoopMap einstellen, diese wird mit der neuen Version des Force mapchanger (V1.03)
    gewechselt
  12. Zusätzliche Maps
    Hinzufügen der fehlenden VS Maps aus dem Mappack von diesem Howto und eintragen in maplist.txt, mapcycle.txt, missioncycle.txt.
    Anpassen der left4dead/addons/sourcemod/data/sm_l4dvs_mapchanger.
    Sollen die Maps von den Clients downgeloaded werden können, muss in der server.cfg die sv_downloadurl eingestellt werden.
  13. Starten des Servers
    ./srcds_run l4d -console +ip 192.168.1.141 +hostport 27015 -nomaster +exec server.cfg +map l4d_farm01_hilltop
  14. Client Patchen und Verbinden

  15. Patchen des Clients
    Hat man einen Client der nicht auf der aktuellen Version 1.0.0.9 ist kann man sich von hier: Left 4 Dead (Update 23.01.2009) den Aktuellen Patch mit allen nötigen No-Steam Dateien Downloaden
  16. Starten aus der Console
    Man erstellt einen Link auf die left4dead.exe und hängt hinter dern pfad …left4dead.exe” -console an, dannach startet das Spiel mit der offenenen Console. Man gibt nun

    connect 00.00.00.00 (Die aktuelle IP des Server statt 00..).

    Damit sollte man auf den laufenden Server connecten und spielen können.

  17. Starten mittels ogerlauncher
    Auf der Seite http://ogerlauncher.com/ gibt es alle nötigen Informationen, auch wie man über Hamachi oder im LAN spielen kann. Einfach ein bisschen im Forum herumschauen.
  18. Startscript Client
    Mit einem kleinen Batch Skript lassen sich Clients einfach auf verschiedene Server verbinden. Das ist besonders hilfreich auf LAN-Partys. Dazu kann der Client einfach mit dem Skript gepackt werden und kann von den Gästen direkt entpackt und gespielt werden

    --------------------------------------------------------------------------------------------------
    ECHO OFF
    ECHO.
    ECHO ----------------------------------------
    ECHO LEGA LEFT 4 DEAD SERVER CONNECTOR
    ECHO ----------------------------------------
    ECHO.
    SET SERVERIP1=192.168.131.14
    sET SERVERIP2=192.168.131.11
    SET GAMEPATH=
    SET GAMEEXE=left4dead.exe
    ECHO.
    ECHO Der Name kann in der Datei rev.ini (in diesem Verzeichniss) geändert werden
    ECHO Den Namen hinter dem Befehl "PlayerName=" ändern
    ECHO.
    :choosserver
    ECHO.
    ECHO WAEHLE DEN SERVER
    ECHO.
    ECHO 1 - LEGA VERSUS SERVER 1
    ECHO 2 - LEGA VERSUS SERVER 2
    ECHO 3 - LEGA COOP SERVER 1
    ECHO 4 - LEGA COOP SERVER 2
    ECHO 5 - LEGA TURNIER SERVER 1
    ECHO 6 - LEGA TURNIER SERVER 2
    ECHO 7 - LEGA TURNIER SERVER 3
    ECHO 8 - LEGA TURNIER SERVER 4
    SET /P SERVER=Gib 1,2,3,4,5 oder 6 ein und drücke ENTER:
    IF %SERVER%==1 (
    SET PORT=27015
    SET SERVERIP=%SERVERIP1%
    )
    IF %SERVER%==2 (
    SET PORT=27016
    SET SERVERIP=%SERVERIP2%
    )
    IF %SERVER%==3 (
    SET PORT=27017
    SET SERVERIP=%SERVERIP1%
    )
    IF %SERVER%==4 (
    SET PORT=27018
    SET SERVERIP=%SERVERIP2%
    )
    IF %SERVER%==5 (
    SET PORT=27019
    SET SERVERIP=%SERVERIP1%
    )
    IF %SERVER%==6 (
    SET PORT=27020
    SET SERVERIP=%SERVERIP2%
    )
    IF %SERVER%==7 (
    SET PORT=27021
    SET SERVERIP=%SERVERIP1%
    )
    IF %SERVER%==8 (
    SET PORT=27022
    SET SERVERIP=%SERVERIP2%
    )
    %GAMEPATH%%GAMEEXE% -console -novid -game left4dead +connect %SERVERIP%:%PORT%
    ------------------------------------------------------------------------------------

    Für ein zentrales Connection Script: Einfach die Datei über eine Netzlaufwerk mit deiner Bat Datei aufrufen. Damit können auch nachträglich noch Änderungen für alle Clients durchgeführt werden.

    -------------------------------------------------------------------------------------
    call \\server\Pfad\command.bat
    -------------------------------------------------------------------------------------
  19. Administration des Servers

  20. Wichtige Server Befehle
    maps * ... anzeigen der maps
    map l4d_xxxxx ... wechseln auf die angezeigte Map (alle Player werden disconnected)
    changelevel l4d_xxx ... wechseln des Level ohne das die Player disconnected werden
    say xxxxxxxx ... Etwas über die Console ausgeben
  21. Probleme
    Auf manchen Levels werden beim befehl changelevel die Teams verwürfelt
    Will man im Versusmodus eine ganze Mission spielen werden die Spieler immer wieder durchgewürfelt

Fragen / Anregungen / Beschwerden könnt ihr gerne in die Comments posten!

~~~ theAlmega