Gängige Gameserver unter Linux erstellen (kein Vorwissen nötig!)

06/20/2012 19:46 al.Jay#1
Hallo zusammen,

da ich Servertechniker für div. "Projekte" bin und auch einigen Leuten aus ePVP mit ihren Servern geholfen habe (beste Referenz. HolySell) dachte ich mir ich schreibe mal ein kleines rundum-sorglos Tutorial aus dem ihr nur die Befehle rauskopieren müsst und falls mal etwas nicht klappt entweder aufgrund der gegebenen Informationen oder eigener Hintergrundinformation selber basteln könnt. Natürlich besteht auch die Möglichkeit hier in diesen Thread zu posten. Ich bitte euch allerdings mir weder eure Fragen per PN zu schicken, noch privat auf eure Posts hinzuweisen. Auch in Skype werde ich nur Leute annehmen mit denen ich vorher grundsätzlich über das Problem geschrieben habe.

Bevor ich mit dem Tutorialteil anfange werde ich noch ein kleines Lexikon der wichtigsten Serverbegriffe anlegen.

VPS - Virtueller Server - Virtueller Server
Dedicated Server (fälschlich oft als Rootserver bezeichnet) - Server
Linux - Unser Kernel, als Betriebssystem nutze ich Debian - Linux
Debian - Das verwendete Betriebssystem - Debian
SSH - Unsere Verbindung zum Server - Secure Shell
screen - Programm unter Linux das benutzt wird um Programme auch nach dem Logout weiterzu nutzen - GNU Screen

So, wenn ihr jetzt euer bisheriges Wissen mit den nötigen Zusatzinformationen ergänzt habt können wir dazu übergehen die Grundlagen zu erklären die wir brauchen. Wenn ihr euch einen Linuxserver mietet bekommt ihr vom Betreiber meistens Zugang zu einem Webinterface und die sog. Root-Logindaten. Über das Webinterface könnt ihr euer Betriebssystem auswählen, ich empfehle die Nutzung von 32Bit (x86) Debian, da dort die wenigsten Kompatibilitätsprobleme auftreten. Natürlich kann es passieren, dass ihr aufgrund der Hardwarevorraussetzungen dazu gezwungen seid 64Bit zu nutzen. Für diesen Fall könnt ihr allerdings einfach die 32Bit Librarys nachinstallieren. Ein paar Infos zu dem Packet lib32 erhaltet ihr hier: [Only registered and activated users can see links. Click Here To Register...].

Um eine Verbindung zum Server herzustellen benötigen wir unter Windowsdas Programm Putty, welches ihr [Only registered and activated users can see links. Click Here To Register...] herunterladen könnt. Unter MAC geht können wir auch das Terminal nutzen, die Befehle werde ich immer parallel zu den Windowsanweisungen angeben.
Öffnet ihr PuTTY, könnt ihr unter "Hostname, or IP-Adress" die IP-Adresse eures Servers eingeben. Alles andere könnt ihr im Normalfall unverändert lassen.
Unter MAC öffnet ihr einfach das Terminal und gebt folgenden Befehl ein:
Code:
ssh <ip> -l root
Wobei "<ip>" natürlich durch eure IP-Adresse ersetzt werden sollte.

Beide Programme verbinden sich jetzt mit dem Server, sobald ihr "Enter" drückt. Bei Putty muss in der neuen Console noch der Nutzername ("root") eingegeben werden, darauf folgt das Passwort.
Im Terminal haben wir bereits unseren User angegeben und müssen nurnoch das Passwort eingeben.
In beiden Fällen werden keine Zeichen oder Sterne angezeigt. Das nennt man "stumme" Eingabe. Gebt einfach euer Passwort ein und Entert.

Nachdem ihr euch als "root" ausgewiesen habt bekommt ihr Zugriff auf die Console des Servers.
Bevor wir hier irgendetwas anderes machen werden wir das System auf den neuesten Stand bringen. Dabei hilft uns ein Tool welches uns sehr häufig begegnen wird, dieses nennt sich Apitude. Dieses Tool versteckt sich hinter der Anweisung:
Code:
apt-get
welches immer einen Befehl einleitet bei dem Packete de-, oder installiert werden.
Um also nun unser System zu updaten geben wir folgende Befehle nacheinander ein:
Code:
apt-get update
apt-get upgrade
Nun benötigen wir noch ein wenig Handwerkszeug mit dem wir z.B. Serverprozesse überwachen, oder Einstellungen ändern können.
Code:
apt-get install nano
apt-get install htop
apt-get install screen
Nun könnt ihr mit dem Befehl "htop" eine Übersicht aller Prozesse und der CPU/RAM Nutzung ausgeben lassen. Mit "nano" könnt ihr Textdateien einfach editieren. Ich nutze deshlab nano, weil der vorinstallierte Texteditor vi mir zu schwer zu bedienen ist.

Jetzt kommt der erste optionale Schritt. Und zwar können wir einen FTP-Server einrichten. Das bräuchten wir um mit Programmen wie FileZilla auf unseren Server zu verbinden. Ich werde manchmal darauf verweisen das wir FTP Zugang benötigen, also könnt ihr die Installation im Vorfeld ausführen.
Um den FTP Zugang zu aktivieren müssen wir das Programm ProFTPd installieren und einrichten.
Mittles dem Befehl:
Code:
apt-get install proftpd
installiert der Server selbsständig das Tool. Allerdings sind noch einige grobe Sicherheitslücken vorhanden, welche aber auch einfach zu schliessen sind.
Zum einen werden wir den FTP Zugriff auf eine bestimmte Benutzergruppe beschränken, da nicht jeder Nutzer per FTP erreichbar sein soll und muss.
Zum anderen werden wir die User in ihr Homeverzeichnis "einsperren", was nichts weiter heisst als das die Benutzer nur in den ihnen zugewiesenen Verzeichnissen navigieren können. Das ist vor allem wichtig wenn wir sensible Konfigurationen von neugierigen Augen fernhalten wollen..
Um also in die Konfigurationsdatei von proftpd reinschreiben zu können nutzen wir nano:
Code:
nano /etc/proftpd/proftpd.conf
Es öffnet sich ein Textfeld in dem bereits einiges an Text zu sehen ist.
Scrollt hier ganz nach unten und kopiert folgendes in die Textdatei:
Quote:
<Global>
RequireValidShell off
</Global>

DefaultRoot ~ ftpuser

<Limit LOGIN>
DenyGroup !ftpuser
</Limit>
Mit Putty müsst ihr einfach in das Textfeld rechtsklicken, unter MAC könnt ihr die Tastenkombination CMD+V nutzen.Nun müsst ihr mit STRG+X eure Arbeit beenden. Mit Y die Änderungen bestätigen, und einmal entern um dem Dateinamen zuzustimmen.

Nun müssen wir das Tool neu starten um die Einstellungen zu übernehmen. Dies können wir mittels:
Code:
/etc/init.d/proftpd restart
Da wir den FTP Zugriff auf eine bestimmte Benutzergruppe namens "ftpuser" beschränkt haben, müssen wir diese jetzt auch anlegen.
Das erfolgt mittels:
Quote:
addgroup ftpuser
Jetzt legen wir unseren Testbenutzer an. Diesen werde ich auch in allen anderen Tutorials verwenden um die Gameserver einzurichten.
Code:
adduser spiele -home /home/spiele
Der Benutzer "spiele" wurde jetzt hinzugefügt und hat sein Heimverzeichnis in /home/spiele.
Code:
adduser spiele ftpuser
Jetzt ist unser Benutzer "spiele" auch für den Zugriff via FTP freigegeben.
Um dies zu testen Nutzen wir FileZilla ([Only registered and activated users can see links. Click Here To Register...]/[Only registered and activated users can see links. Click Here To Register...])
Nach der Installation müssen wir unsere Daten eingeben.
Server: <IP-Adresse>, Benutzername: spiele, Password: <Euer Passwort>, Port: 21
Nun sind wir auch per FTP mit dem Server verbunden und können Dateien zwischen unserem Computer und dem Server verschieben. Das wird besonders interessant wenn z.B. Plugins oder Maps hochgeladen werden müssen.

Tipp: Für die Macnutzer, ihr werdet feststellen das ihr aus HTOP nicht mittels F10 herauskommt. Nutzt einfach STRG+C!

Jetzt sind alle Vorraussetzungen geschaffen um unseren ersten Gameserver einzurichten. Dieses Tutorial erweitere ich nach Lust und Laune, und ich bin dankbar wenn ihr mir eure Tutorials zur Verfügung stellen wollt und diese in den Thread passen (PN an mich!).


[Only registered and activated users can see links. Click Here To Register...]



Forum

Teamspeak3

Steam Servertool

Counterstrike 1.6

Counterstrike Source

Teeworlds

Minecraft

Multi Theft Auto:SA

KillingFloor

Call of Duty Modern Warfare *ranked*


Quellen:
06/22/2012 23:07 .Tim#2
Nice Tutorials echt gut für Einsteiger hast nen Thanks
06/23/2012 18:41 al.Jay#3
Nochmal die ausdrückliche Bitte, wenn ihr selber gute Tutorials habt die nurnoch minimal umgeschrieben, oder getestet werden müssen, schickt die mir!
Ihr könnt auch Wünsche abgeben welche Games ich noch aufnehmen sollte ;)

mfG
07/21/2013 17:42 Kitzingen#4
Geht bei mir nicht.
07/21/2013 18:30 al.Jay#5
Was genau nicht?
Viele der Tutorials sind schon out-to-date ;)

mfG
07/22/2013 14:26 Kugane#6
sind nette tuts, aber ich mag kein ftp xD sftp FTW :)
hätte nochn chivalry medieval warfare tut, getestet von mir auf ubuntu 12.04lts 64bit mit wine 1.5
empfehle ich aber nur für "richtige" root server mit ner ordentlichen cpu! min. 2.5ghz quad core, weil der server sehr viel cpu zieht (hab nen xeon 2.8ghz 8core, mit 32slots=35% cpu auslatung) & denke nicht das nen vserver das packt, ohne das der server laggt

[Only registered and activated users can see links. Click Here To Register...]
07/23/2013 08:37 ҳc3ρ0™#7
Danke für das schöne & detaillierte Tutorial!
07/28/2013 10:23 xRav3r#8
Bei mir sagt der Server bei dem nano /etc/proftpd/[...] dass das Kommando nicht gefunden wird
07/28/2013 10:37 al.Jay#9
Du musst den Editor vorher installieren.
Entweder per
apt-get install nano
oder per
aptitude install nano
07/28/2013 10:46 xRav3r#10
hab ich ja lles gemacht wie dus bisher beschrieben hast, nur dann findet er halt das kommando nich

- findet er jetzt, danke
08/16/2013 09:56 Manu221338#11
Kann ich dein Tutorial verwenden und es als Video auf YouTube Produzieren?! :)
PS: Gutes Tutorial!
08/16/2013 12:48 al.Jay#12
Kannst du gerne machen, du solltest aber unbedingt vorher überprüfen ob sie noch funktionieren da sie teilweise veraltete Links enthalten.

mfG
08/17/2013 12:01 Manu221338#13
Vielen Dank.
Das erste Video ist schon fertig: [Only registered and activated users can see links. Click Here To Register...]
Teilen erwünscht :)
04/06/2014 15:14 PuffReis86#14
Servus Leute, bei mir ist das Problem wenn ich die <Global>....... mache kommt nur eine Fehlermeldung: Fehler beim Schreiben von /etc/proftpd/proftpd.conf: Datei oder Verzeichnis.



ach und davor:


kann mir jemand helfen??
04/08/2014 12:55 al.Jay#15
Du hast bereits einen FTP Server (psa-proftpd 1.3.4a-ubuntu12.04.build110120606.19) installiert.

mfG