Linux Steam Game Server installation

Hi Leute,

Heute befassen wir uns mit dem Thema: “ Steam Gameserver installation unter Debian“

Wie immer melden wir uns erstmal als root an um einige Vorarbeiten zu erledigen.

1. neues Homeverzeichniss erstellen.

mkdir /home/steam

2. einen neuen User anlegen.

useradd steam

3. den neuen user einer Gruppe zuweisen

usermod -g users steam

4. Das Homeverzeichniss dem neuen User zuweisen

usermod -d /home/steam

5. Passwort für den neuen User anlegen

passwd steam [ENTER]

Jetzt wirst Du nach einem passwort gefragt für den User „Steam“ nutze bitte ein „gutes“ passwort Drücke danach [ENTER] und geb das passwort ein 2.mal ein.

So jetzt hast gerade einen neuen Benutzer angelegt, ein Homeverzeichniss erstellt, dem neuen User das Homeverzeichniss zugewiesen, dem neuen User einer Gruppe zugewiesen und ein Passwort erstellt.

Jetzt kannst Du dich als User Steam anmelden.

su steam [ENTER]

Falls dies noch nicht der Fall ist wechsel in ein Home Verzeichniss

cd /home/steam

Als erstes benötigst Du die Steamdatei zum Installieren von Gameservern. Dies musst Du runterladen, zum Ausführen bereitstellen und Ausführen.

Herunterladen:

wget http://storefront.steampowered.com/download/hldsupdatetool.bin

Dateiberechtigung auf Ausführen umstellen:

chmod +x hldsupdatetool.bin

Datei Ausführen:

./hldsupdatetool.bin

Wenn alles funktioniert hat sollten jetzt einige Dateien neu aufgetaucht sein.

-rwxr-xr-x 1 steam users 5224823 22. Nov 22:36 steam

Jetzt muss Steam ausgeführt werden:

./steam

Jetzt wird Steam auf den neusten Stand gebracht und normlerweise wird man aufgefordert dies nochmal zu machen. Im zweifelsfall kann man auch noch mal den Befehl ./steam -command update ausführen.
Danach kannst Du sicher sein das alles gemacht wurde um nun einen Gameserver zu installieren.

Ich mache es immer so das ich für jeden Gameserver einen Extra Ordner erstelle damit kann ich sicher sein das alle Dateien die ich nutzen und Edtieren möchte auch die richtigen sind und nicht von einem anderm Game.

Es ist egal welchen Gameserver man installiert, solange er von Steam angeboten wird ist der weg immer der gleiche.

Erstmal eine kleine Übersicht der Syntax von Steam (dies wird Angezeigt wenn man ./steam eingibt:

Checking bootstrapper version …
Die Befehlsfolge zum Installieren und Updaten sind immer identisch!

./steam -command update -game [gamename] -dir /home/steam/[gamename] Use: steam -command [parameters] [flags]

Commands:

update: Install or update HLDS

Parameters:

-game - Game name: use 'list' to see available games
-dir - HLDS Install dir

(if dir not specified, will use value from last run of tool)

Flags:

-verify_all - Verify all HLDS files are up to date
-retry - Automatically retry every 30 seconds if the Steam Network is busy
-remember_password - Remember password (if a username is supplied)

For example: steam -command update -game cstrike -dir /hlds

Version: View installed versions

List: View available games

Optional parameters for all commands:

-username - Steam account username (only needed to access limited content)
-password - Steam account password (only needed to access limited content)

CAsyncIOManager: 0 threads terminating. 0 reads, 0 writes, 0 deferrals.
CAsyncIOManager: 8 single object sleeps, 0 multi object sleeps
CAsyncIOManager: 0 single object alertable sleeps, 0 multi object alertable sleeps

Eine Liste aller Unterstützen Games gibt es mit dem Befehlt:

Checking bootstrapper version …
** ‚game‘ options for Source DS Install:
Ich würde hier empfehlen nur Source Games zu installieren und für HLDS einen neuen Benutzer und Verzechniss zu erstellen, dies empfiehlt auch Vavle da es kombatibilitätsprobleme geben kann.

"Counter-Strike Source"
"ageofchivalry"
"alienswarm"
"cssbeta"
"diprip"
"dods"
"dystopia"
"episode1"
"esmod"
"garrysmod"
"hl2mp"
"insurgency"
"l4d_full"
"left4dead"
"left4dead2"
"left4dead2_demo"
"orangebox"
"pvkii"
"smashball"
"synergy"
"tf"
"tf_beta"
"zps"

** ‚game‘ options for HL1 DS Install:

"cstrike"
"cstrike_beta"
"czero"
"dmc"
"dod"
"gearbox"
"ricochet"
"tfc"
"valve"

** ‚game‘ options for Third-Party game servers:

"ageofchivalry"
"aliensvspredator"
"darkesthour"
"darkmessiah"
"defencealliance2"
"diprip"
"dystopia"
"esmod"
"garrysmod"
"insurgency"
"killingfloor"
"killingfloor_beta"
"marenostrum"
"mondaynightcombat"
"naturalselection2"
"pvkii"
"redorchestra"
"redorchestra_beta"
"serioussamhdse"
"ship"
"sin"
"smashball"
"synergy"
"tshb"
"zps"
CAsyncIOManager: 0 threads terminating. 0 reads, 0 writes, 0 deferrals.
CAsyncIOManager: 10 single object sleeps, 0 multi object sleeps
CAsyncIOManager: 0 single object alertable sleeps, 0 multi object alertable sleeps

Ein Beispiel für Counter Strike Source.

./steam -command update -game Counter-Strike Source -dir /home/steam/css/

***Wichtig*** Für die Counter-Strike Source installation sollte man vorher den Ordner steam/css/ mit dem mkdir Befehl erstellen***Wichtig***

Jetzt kommen erstmal ein paar fehler meldungen von wegen er findet keine InstallRecord.blob oder das er keine Dateien findet, das ist normal und kann Ignoriert werden!

Je nach dem wie schnell deine Leitung ist oder auch das Steam Netzwerk dauert das 5min – 1h.

Wenn der Download abgeschlossen ist kann Du in das Verzeichniss in das Du das Game installiert hast, ich bleibe beim Beispiel:

cd /home/steam/css/

Hier findest Du jetzt alle Dateien um den Server zu starten, bei manchen anderen musst Du noch in das Verzechniss orangebox wechseln.

Normal findest Du die Configdatei im Verzeichniss /cfg unter dem Gameserververzeichniss, zum Beispiel:

cd /home/steam/css/cfg

Configurationsdateien findest Du auf einige Seiten hier Poste hier mal ein Beispiel von einer Seite da ich selbst kein CSS am laufen habe:

// CS:S Server Config file
// mostly the default settings with rate limits set to prevent massive lag
// qUiCkSiLvEr
echo =========================
echo executing CS:S Server.cfg
echo =========================
hostname "Counter-Strike:Source Dedicated Server!"
// set to force players to respawn after death
mp_forcerespawn 1
// enable player footstep sounds
mp_footsteps 1
sv_footsteps 1
// Bounce multiplier for when physically simulated objects collide with other objects.
sv_bounce 0
// enable flashlight
mp_flashlight 1
// enable autocrosshair (default is 1)
mp_autocrosshair 1
// allow bots
mp_allowNPCs 1
// world gravity (default 800)
sv_gravity 800
// world friction (default 4)
sv_friction 4
// world water friction (default 1)
sv_waterfriction 1
// Minimum stopping speed when on ground
sv_stopspeed 75
// spectator settings
sv_noclipaccelerate 5
sv_noclipspeed 5
sv_specaccelerate 5
sv_specspeed 3
sv_specnoclip 1
// Misc settings (leave as is)
mp_teamplay 0
mp_fraglimit 0
mp_falldamage 0
mp_weaponstay 0
// Allow friendlyfire to hurt teammates (default 0)
mp_friendlyfire 0
// player movement acceleration rates (default 5, 10 and 10)
sv_accelerate 5
sv_airaccelerate 10
sv_wateraccelerate 10
// max player speed (default 320)
sv_maxspeed 320
// misc physics settings, leave them as-is
sv_rollspeed 200
sv_rollangle 0
// player steps and stepsize - dont mess with this (default 18)
sv_stepsize 18
// misc default vehicle settings (leave these alone)
//r_VehicleViewDampen 1
//r_JeepViewDampenFreq 7.0
//r_JeepViewDampenDamp 1.0
//r_JeepViewZHeight 10.0
//r_AirboatViewDampenFreq 7.0
//r_AirboatViewDampenDamp 1.0
//r_AirboatViewZHeight 0.0
// teamplay talk all (1) or team only (0)
sv_alltalk 0
// enable voice on server
sv_voiceenable 1
// disable pause on server (set this to 0 always)
sv_pausable 0
// disable cheats (set this to 0 always)
sv_cheats 0
// teamserver coop (default 0)
coop 0
// deathmatch - set this to 1
deathmatch 1
// allow players to upload sprays (default 1)
sv_allowupload 1
// allow sprays and map content to be downloaded (default 1)
sv_allowdownload 1
// how often players can spray tags (default 20)
decalfrequency 30
// fast http download url address
//sv_downloadurl
// Enable instanced baselines - Saves network overhead
sv_instancebaselines 1
//Force server side preloading (default 0)
sv_forcepreload 1
// set timelimit before map change
//mp_timelimit 30
// How many minutes each round takes (min. 1.000000 max. 9.000000)
mp_roundtime 5
// Max bandwidth rate allowed on server, 0 == unlimited
sv_maxrate 9999
// Min bandwidth rate allowed on server, 0 == unlimited
sv_minrate 5000
// Maximum updates per second that the server will allow (default 60)
sv_maxupdaterate 30
// Minimum updates per second that the server will allow (default 10)
sv_minupdaterate 10
// Maximum lag compensation in seconds (min. 0.000000 max. 1.000000)
sv_maxunlag 1
// Maximum speed any ballistically moving object is allowed to attain per axis (default 3500)
sv_maxvelocity 3000
// rcon failure settings
//Number of minutes to ban users who fail rcon authentication
sv_rcon_banpenalty 0
//Number of minutes to ban users who fail rcon authentication
sv_rcon_maxfailures 10
// Number of times a user can fail rcon authentication in sv_rcon_minfailuretime before being banned
sv_rcon_minfailures 5
// Number of seconds to track failed rcon authentications
sv_rcon_minfailuretime 30
//The region of the world to report this server in (255 = world)
sv_region 255
// gather server statistics
sv_stats 1
//After this many seconds without a message from a client, the client is dropped (default 65)
sv_timeout 65
//Enables player lag compensation
sv_unlag 1
//Specifies which voice codec DLL to use in a game. Set to the name of the DLL without the extension
sv_voicecodec vaudio_miles
//Enables HLTV on this server
sv_hltv 0
//toggles whether the server allows spectator mode or not
mp_allowspectators 1
// If set to 1 then Server is a lan server ( no heartbeat, no authentication, no non-class C addresses, 9999.0 rate, etc. )
// set to 0 for internet server
sv_lan 0
// Server contact name / url / email
sv_contact ""
// server password for players to join (default "")
//sv_password
// execute SteamID based ban list
//exec banned_user.cfg
// execute IP based ban list
//exec banned_ip.cfg
// Set packet filtering by IP mode (default 1)
sv_filterban 1
// log all bans in logfile
sv_logbans 1
// here are a few useful alias
//exec alias.cfg
//exec rate.cfg
// enable logging and start log file
sv_logfile 1
log on

Quelle: https://support.steampowered.com/kb_article.php?ref=5386-HMJI-5162

Jetzt sind wir soweit den Server zu starten. Ich nutze hier SCREEN, normal ist es bei Debain schon vor installiert zumindest bei mir, wenn nicht musst Du dies als root nach holen und mit dem Befehl:

apt-get install screen

Installieren.

Nun startest Du einen lieblings Editor bei mir ist das wie immer NANO und erstellt dir eine Datei mit der Du den Gameserver starten willst, den Namen kannst Du wählen wie Du möchtest. Ich nennen die Dateien immer start.

nano start

Hier wird der Startbefehl eingetragen:

#!/bin/sh
screen -A -m -d -S css ./srcds_run -console -game Counter-Strike Source -port 27055 -ip [IPDEINESSERVER-BITTE ERSETZTEN] -autoupdate -maxplayers 8

Die Datei speichern und wenn Du jetzt noch die Datei Ausführrechte gibst mit chmod +x start kannst Du den Server mit ./start starten.

Um den Server wieder zu stoppen benötigst Du noch eine Stopdatei.
Die Datei erstelle ich wie immer auch mit NANO.

nano stop

Und Du trägst folgendes ein:

#!/bin/sh
screen -S css -X quit

Vergiss der Datei nicht Ausführrechte zu geben mit chmod +x stop.
Ab sofort kannst Du mit dem Kommando ./stop deinen Server jeder Zeit wieder stoppen.

Die Port einstellungen kannst Du natürlich selbst wählen, wie Du das möchtest.

Für Addons zwecks HLDS und Admin mods kann ich leider nicht weiter Heflen da ich diese nie ans laufen bekomme habe 😉

ich gehe mal davon aus das die Anleitung noch immer funktioniert und auch für CS:Go gültig ist genauso wie für andere Aktuelle Steam Spiele.

Viel Spass bei Zocken 😉

Gruß
DocSchneidi ak Cheech

Tagged , , , , , , , , , , , .Speichere in deinen Favoriten diesen permalink.

2 Antworten zu Linux Steam Game Server installation

  1. Rogue sagt:

    Hallo,

    eine sehr gute anleitung für Counter-Strike Source user…

    Ich suche seit woche eine möglichkeit Farcry2 auf meinen rootserver = gameserver zu installieren,
    leider ohne erfolg..

    Kannst du mir in den Punkt werter helfen?

    Gruß
    Rogue

    • Cheech sagt:

      Bei FarCry habe ich leider keine Ahnung, da müsste ich auch erstmal schauen wie das gehen soll wenn das Game NICHT direkt über Steam zu installieren ist und es keine Linux Server Variante gibt, kann es sein das man wie bei COD4 die komplette DVD hochladen muss und sich dann eine Linux bin zum starten finden muss. Mehr fällt mir da aus dem stand auch nicht ein.

      Gruß
      Cheech

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.