Wie man einen Teeworlds 0.5 Server erstellt

TeeworldsNach vielen Anfragen zu diesem Thema und vielen Besuchern, die über Google mit dieser Frage dieses Blog gefunden haben, hab ich mich entschlossen mal ein kleines Tutorial zur „Erstellung“ eines Teeworlds-Servers zu schreiben. Wer Teeworlds noch nicht kennt kann sich ja mal meine kleine Vorstellung dazu ansehen.

Soo, dann fang ich mal an 😉

Voraussetzungen

Bevor man munter drauflos einrichtet, sollte man sich über die Voraussetzungen eines Teeworlds Servers im klaren sein. Wenn man einen Server für 12 oder mehr Spieler eröffnen möchte, auf welchem das Spielen auch halbwegs spaß machen soll (Keine Lags), reicht in der Regel keine normale DSL Leitung aus. Die üblichen ADSL Leitungen in Deutschland haben dafür zu geringe Uploadkapazitäten.

Das heißt: Wenn man nicht grade eine VDSL Leitung mietet, muss man entweder Abstriche bei der Spieleranzahl machen oder den Teeworlds Server auf einem gemieteten (Virtuellen-) Root Server installieren.

Wenn man trotzdem einen Teeworlds Server zeitweise über seine DSL Leitung auf dem heimischen Rechner installieren möchte, muss man in seinem Router (Sofern man einen verwendet) einen Port für Zugriffe aus dem Internet freigeben. Jedoch Z.B. bei öffentlichen Internetverbindungen kann es daran scheitern.

Modifikation oder Vanilla?

Es gibt noch etwas, das man sich vor der Installation überlegen sollte: Ob man die offiziellen, unmodifizierte, oder eine modifizierte Version von Teeworlds mit zusätzlichen Funktionen verwenden möchte. Viele Mods gibt es als fertig kompilierte, ausführbare Dateien, so dass man keinen großen Mehraufwand betreiben muss. An dieser Stelle sei z.B. das Modpack von scosu.de genannt. Dieses ermöglicht neue Spielvariationen wie Ballspiele, KO Tourniere und viele verschiedene Änderungen an der Physik und mehr.

Um sich viele Möglichkeiten offen zu lassen empfehle ich auf das scosu Modpack zu setzen. Das ändert vorerst nichts an der Funktionsweise des Servers und kann bei bedarf jederzeit für einzelne Server aktiviert werden.

Die Installation und Einrichtung

Nun zum Hauptteil dieses Turorials. Ich gehe davon aus, dass ein kleiner Teeworlds Server auf dem heimischen Computer installiert werden soll. Serverbesitzer können in der Regel genauso vorgehen, müssen jedoch gegebenenfalls den Server in einem Hintergrundprozess z.B. mit Screen laufen lassen.

Ich werde nun versuchen schrittweise die Einrichtung für die verschiedenen Betriebssysteme erklären.

1. Windows

  1. Download der regulären Teeworlds Version von der offiziellen Teeworlds Downloadseite für Windows.
  2. Entpacken des ZIP Archivs. Unter anderem sollte in dem entpackten Verzeichnis eine „teeworlds_srv.exe“ sowie ein „data“ Ordner zu finden sein. Die anderen Dateien sind für den Betrieb des Servers nicht notwendig, aber auch nicht hinderlich.
  3. [Optional] Download des Windows x86 Binaries des Modpacks von der scosu.de Webseite, Datei im Verzeichnis mit den anderen Teeworlds Dateien speichern (Wichtig ist, dass es im selben Ordner wie der „data“ Ordner liegt)
  4. Windows „Editor“ oder vergleichbares Programm zum bearbeiten reiner Textdateien öffnen. Folgenden Inhalt einfügen:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    # Unter welchem Name der Server in der Serverliste zu sehen ist
    sv_name "{gewuenschter Servername}"
     
    # Port. Ändern nur nötig wenn mehrere TW Server unter einer IP erwünscht
    sv_port 8303
     
    # Maximale Anzahl an Spielern
    sv_max_clients 6
     
    # Server in der Serverliste anzeigen? Ja (1) oder Nein (0). Für Testzwecke oder im LAN auf 0 setzen
    sv_register 1
     
    # Map, welche standardmaessig geladen werden soll
    sv_map ctf2
     
    # Passwort mit welchem man den Server im Spiel administrieren kann
    sv_rcon_password "{selbst gewaehltes Passwort}"
     
    # Ab welcher Punktzahl eine Runde zu ende ist
    sv_scorelimit 300
     
    # Spielvariante dm, tdm, ctf und mit scosu Mod noch ko, ball usw.
    sv_gametype ctf

    Zumindest „sv_name“ und „sv_rcon_password“ müssen noch angepasst werden! Datei z.B. als „testserver1.cfg“ im selben Verzeichnis wie die „teeworlds_srv.exe“ speichern. Weitere Konfigurationsvariablen findet man im Support Bereich der Teeworlds Homepage. Wenn man den scosu Mod installiert hat (Schritt 3), werden auch die Variablen unterstützt, die auf der scosu.de Seite verzeichnet sind. Allerdings muss man dafür als „sv_gametype“ statt „ctf“ „ctf-mod“, statt „dm“ „dm-mod“ usw. festlegen. Nur dann wird die Modifikation aktiv.

  5. Nun muss man, wenn man einen Router mit einer üblichen Firewall verwendet, die eingehende Verbindungsversuche blockiert, den Port „8303“ bzw. im Punkt 4. gewählten Port für UDP und TCP weiterleiten. Hilfe dazu findet man z.B. im Handbuch des verwendeten Routers. Wenn man eine Software-Firewall verwendet (z.B. Windows Firewall, Zone Alarm & co), muss man in dieser unter Umständen ebenfalls ausgehende und eingehende Verbindungen für die „teeworlds_srv.exe“ bzw. die „modpack_x86.exe“ zulassen.
  6. Das ist schon der letze Schritt! Der Server kann nun gestartet werden. Dafür ein Eingabefenster öffnen. Z.B. über „Start/Ausführen“ und die Eingabe von „cmd“, oder direkt unter „Start/Alle Programme/Zubehör/Eingabeaufforderung“.

    Im sich öffnenden Terminal muss nun in das Verzeichnis mit den Teeworlds Dateien gewechselt werden. Das geschieht durch die Eingabe von „cd <pfad zum teeworlds verzeichnis>“.

    <pfad zum teeworlds verzeichnis> muss man mit dem Pfad ersetzen. Diesen findet man z.B. im Explorer und kann ihn von dort kopieren. Nun noch „teeworlds_srv.exe“ oder, wenn das scosu Modpack installiert wurde „modpack_x86.exe“ eintippen. Daran noch “ -f testserver1.cfg“ anhängen. „testserver1.cfg“ gegebenfalls durch den unter 4. festgelegten Dateinamen ersetzen. Der Parameter „-f“ sagt dem Server, dass er die erstelle Konfigurationsdatei vor dem Start einlesen soll.Jetzt noch ein kräftiges >> Enter << und hoffen das alles geklappt hat 😉 Das ganze sollte dann in etwa so aussehen:

    Teeworlds Start unter Windows

    Wenn man nur im lokalen Netzwerk oder vom selben Computer mit dem Teeworlds Client auf den Server zugreifen kann, ist bei der Portweiterleitung in 5. etwas schief gelaufen.

2. Linux

  1. Download der regulären Teeworlds Version von der offiziellen Teeworlds Downloadseite für Linux.
  2. Entpacken des ZIP Archivs. Unter anderem sollte in dem entpackten Verzeichnis eine ausführbare „teeworlds_srv“ sowie ein „data“ Ordner zu finden sein. Die anderen Dateien sind für den Betrieb des Servers nicht notwendig, aber auch nicht hinderlich.
  3. [Optional] Download des Linux x86 Binaries des Modpacks von der scosu.de Webseite, Datei im Verzeichnis mit den anderen Teeworlds Dateien speichern (Wichtig ist, dass es im selben Ordner wie der „data“ Ordner liegt)
  4. Erstellen einer Textdatei im Verzeichnis mit den entpackten Teeworlds Dateien. Der Dateiname könnte z.B. „testserver1.cfg“ sein. Diese Datei mit den Beispieldaten aus der Windowsanleitung füllen. Auch 5., also die Portweiterleitung am Router, muss wie in der Windowsanleitung durchgeführt werden.
  5. Ausführen im Terminal durch das Wechseln in das Verzeichnis mit den Dateien mit „cd /pfad/zum/verzeichnis“ und dann Ausführen mit „./teeworlds_srv -f testserver1.cfg“ bzw „./modpack_x86 -f testserver1.cfg“
  6. [Optional] Wenn man den Server beim Start in den Hintergrund schicken möchte um nicht immer ein Terminal Fenster offen haben zu müssen kann man „Screen“ benutzen. Dieses muss natürlich installiert sein (Bei Debian basierten Systemen reicht ein „apt-get install screen“). Der Terminal Eingabe ein „screen -dmS <ErkennungsName>“ voranstellen. Also z.B.:
    1
    
    screen -dmS tw1 ./teeworlds_srv -f testserver1.cfg

    Mit

    1
    
    screen -x tw1

    kann man dann jederzeit wieder auf die Terminalausgabe zugreifen – auch nachdem man das ursprüngliche Terminal geschlossen hat.

3. Mac OS X

Wie soll es auch anders sein: Das Starten eines einfachen Teeworlds Servers gestaltet sich beim Mac deutlich einfacher als bei den anderen Betriebssystemen. Trotzdem eine kleine Erklärung:

  1. Erstellen einer Textdatei im Verzeichnis mit den entpackten Teeworlds Dateien. Der Dateiname könnte z.B. „testserver1.cfg“ sein. Diese Datei mit den Beispieldaten aus der Windowsanleitung füllen.
  2. Doppelklick auf „Teeworlds Server“ im Programmverzeichnis (Wird im .dmg Image von der Homepage mitgeliefert)
  3. Auswahl der unter 1. erstellen Datei. Fertig!

Wenn man jedoch das Modpack nutzen möchte gestaltet sich das ganze deutlich schwerer, zumal  der Entwickler des Mods keine fertig kompilierten Binaries für Mac bereit stellt. Selber kompilieren ist hier angesagt. Ich denke das sprengt aber den Rahmen dieses Tutorials. Vielleicht setz ich mich demnächst mal hin, kompilier Teeworlds mit dem Patch für Mac OS X 10.5 Intel und veröffentlich das hier.

Wenn es Verständnisprobleme oder weitere Fragen zum Thema gibt , kann selbstverständlich wie immer die Kommentarfunktion verwendet werden. Auch wenn es keine Probleme gibt freu ich mich natürlich über jeden netten Kommentar 😉

54 Gedanken zu „Wie man einen Teeworlds 0.5 Server erstellt

  1. @TeeTee: Danke! Mal ne Frage zu teeworlds-server.de – Sind das ganz normale „vanilla“ Server, also ohne Anpassungen, oder sind dort auch Mods wie instagib, scosu Modpack oder so installiert?

    @TeeWorlDeR: Ich habe im Moment keine Zeit für ein Video. Aber wenn du dir den Text genau durchliest wirst du den auch verstehen können denk ich. Wenn etwas unverständlich ist schreib doch bitte was genau du nicht verstehst.

  2. Hab einen Mac.
    1. Wo kommen gedownloadete Maps hin?
    2. Fehlermeldung beim Hochladen vom Server:
    failed to open autoexec.cfg? Hab ich nich…
    dann failed to open map ctf 5

    Bitte Lösung an mich schreiben: [email protected]

  3. Hi Julian,

    1. Benutzerordner/Library/Application Support/Teeworlds/downloadedmaps

    2. Wie hast du denn in deiner Konfigurationsdatei die Map eingetragen? Steht da zufällig „sv_map ctf 5“? Dann mach daraus mal „sv_map ctf5“. Der Name den du da einträgst muss genau der Dateiname der Map sein nur ohne das „.map“

  4. @foxx
    sv_name MEIN TESTSERVER
    sv_map ctf5
    sv_scorelimit 500
    sc_mac_clients 16
    sv_gametype ctf
    sv_rcon_password PASSWORT
    sv_motd TEXT BEIM STARTEN DES SERVERS

    So sieht es aus.

    In Application Support ist kein Teeworldsordner.
    Was ist denn da alles drin? Merkwürdig…

  5. das sieht doch gut aus. Startet der Server denn jetzt? müsste er eigentlich. Die erste Fehlermeldung mit der autoexec.cfg kannst du getrost ignorieren, die zweite Meldung mit der nicht gefundenen Map sollte bei deiner Konfiguration nicht mehr auftauchen.

  6. danke man das mit dem mod pak geil das hab ich selberrausgefunden mein name bei Teeworlds ist ::
    [_M&J_]-LeaderEistee

  7. eine frage ich hab au en mac und bei mier ist kein teeworlds ordner in der Application support

  8. ich vermute du hast auf deiner festplatte in /Library/Application Support geschaut, allerdings liegt der Ordner in /Benutzer//Library/Application Support
    Außerdem erscheint der nur, wenn du Teeworlds mindestens einmal ausgeführt hast (was aber denke ich mal gegeben ist).

  9. [4aeeeadf][engine]: running on unix-macosx-ppc
    [4aeeeadf][engine]: arch is big endian
    [4aeeeadf][engine/datadir]: paths used:
    [4aeeeadf][engine/datadir]: .
    [4aeeeadf][engine/datadir]: /Users/ws/Library/Application Support/Teeworlds
    [4aeeeadf][engine/datadir]: data
    [4aeeeadf][engine/datadir]: saving files to: /Users/ws/Library/Application Support/Teeworlds
    [4aeeeadf][console]: executing ‚/Users/ws/Desktop/teeworld/server1.cfg‘
    [4aeeeadf][console]: failed to open ‚autoexec.cfg‘
    [4aeeeadf][datafile]: datafile loading. filename=’maps/ctf2\.map‘
    [4aeeeadf][server]: failed to load map. mapname=’ctf2\‘

  10. ich hab das problkem bei mir sind nur die maps in downloaded maps die nciht stanbdert sind z.b. zomb

  11. Hast du die .cfg Datei eventuell mit „TextEdit“ erstellt? Das könnte das Problem sein. Die Datei muss mit einem reinen Texteditor (also ohne Formatierungen wie „Fett“, kursiv usw.) erstellt werden.
    Kostenlos & OpenSource ist da zum Beispiel „Smultron“: http://smultron.sourceforge.net/
    Sehr beliebt allerdings kostenpflichtig ist TextMate (Testversion kostenlos)

  12. JulianMark: Versuch doch auch mal einen anderen Editor wie zum Beispiel den genannten „Smultron“. Bei mmh?? und dir gibt es gleiche fehlermeldungen. Und zwar erkennt Teeworlds ein normalerweise nicht richtiges Backslash am Ende des Map-Namens. Das könnte zum Beispiel durch die Verwendung des MacOS X eigenen „TextEdit“ Editor verursacht worden sein.

  13. Kannst du deine Konfigurationsdatei mal irgendwo hochladen? Dann schau ich mir die mal an. Also nicht den Inhalt der angezeigt wird bei einem Doppelklick sondern die Originaldatei.

  14. Was steht denn in deiner Server Konfiguration hinter „sv_name“? Dort kann man den Servernamen einstellen.

  15. hi ich habe einen mac und wollte mal was fragen
    ich finde die anleitung für mac sehr dürftig aber sie ist da:-)
    jedenfalls weiss ich nicht wie ich meine cfg datei mit teeworlds server öffnen soll ich zeig dir mal was er geschrieben hat und was ich geschrieben habe
    [4b60b932][engine]: running on unix-macosx-ia32
    [4b60b932][engine]: arch is little endian
    [4b60b932][engine/datadir]: paths used:
    [4b60b932][engine/datadir]: .
    [4b60b932][engine/datadir]: /Users/Peter911/Library/Application Support/Teeworlds
    [4b60b932][engine/datadir]: data
    [4b60b932][engine/datadir]: saving files to: /Users/Peter911/Library/Application Support/Teeworlds
    [4b60b932][console]: executing ‚/Users/Peter911/Library/Application Support/Teeworlds/maps/survival.map‘
    [4b60b932][console]: failed to open ‚autoexec.cfg‘
    [4b60b932][datafile]: datafile loading. filename=’maps/dm1.map‘
    [4b60b932][server]: maps/dm1.map crc is f35c9309
    [4b60b932][server]: server name is ‚unnamed server‘
    [4b60b932][datafile]: loading data index=16 size=325 uncompressed=12000
    [4b60b932][server]: version 0.5 b67d1f1a1eea234e
    [4b60b932][engine/mastersrv]: refreshing master server addresses
    [4b60b932][register]: refreshing ip addresses
    [4b60b933][engine/mastersrv]: saving addresses
    [4b60b933][register]: fetching server counts
    [4b60b936][register]: choosen ‚master1.teeworlds.com‘ as master, sending heartbeats
    [4b60b937][register]: no firewall/nat problems detected
    [4b60b937][register]: no firewall/nat problems detected
    [4b60b937][register]: server registered

    sv_name „{easy Fight}“
    sv_port 8303
    sv_max_clients 16
    sv_register 1
    sv_map iCTF
    sv_rcon_password „{911911}“
    sv_scorelimit 500
    sv_gametype ctf

    habe ich alles richtig gemacht oder was stimmt nicht? ich habe meine cfg datei zusammen mit teeworlds etc in einem ordner gespeichert weiss nur nicht wieso das nicht klappt HELP!!
    Danke schon im voraus

  16. achso ja wie kann ich in dem server meine eigenen erstellten maps testen weil ich hab doch geschafft mich einzuloggen er war online etc ich habe es auch nachvollziehen können wenn einer gejoined ist
    wollte mal meine map testen wie geht das?

  17. hallo PorsscheTee,

    wenn du auf die „Teeworlds Server.app“ doppelklickst sollte dir ein Datei Auswahldialog begegenen. In diesem wählst du deine cfg Datei aus. Es ist egal ob diese im selben Ordner liegt wie die Teeworlds Server.app.
    Ansonsten scheint dein Server ordnungsgemäß zu starten.

    Etwas komisch scheint aber, dass der Server versucht die Datei „/Users/Peter911/Library/Application Support/Teeworlds/maps/survival.map“ zu laden – also die survival Map. Das schlägt fehl, weil die Datei nicht gefunden wurde, deshalb wird die dm1.map stattdessen verwendet. Schau doch noch einmal nach, ob die survival.map Datei wirklich unter dieser Adresse zu finden ist.

    Dann fällt noch auf, dass du in deiner cfg Datei die geschweiften Klammern beim Servernamen und RCOn Passwort nicht entfernt hast. Diese dienten im Tutorial nur zur Beschreibung von Platzhaltern. Also einfach die geschweiften Klammern entfernen und dann sollte auch der RCON Login auf dem Server klappen.

    Für den RCON Login einfach mit „F2“ die Konsole öffnen, dein „sv_rcon_password“ eingeben und bestätigen. Dir stehen dann unter anderem Commands zur Verfügung um die Map zu wechseln („sv_map deinemap“). Steht auch hier beschrieben: http://teeworlds.com/?page=docs&wiki=ServerCommands

    Viel Glück! 🙂

  18. hallo,ne frage!.!bei mir steht da immer wenn ich des öffne mit eingabeaufforderung:Failed to open Server_config.cfg
    was muss ich tun?

  19. Welches Betriebssystem benutzt du? Scheinbar scheint die „Server_config.cfg“ nicht zu existieren, Schau doch mal ob du eventuell einen Tippfehler im Dateinamen hast.

  20. hab ein problem und zwar steht bei mir „failed to open ‚testserver1.cfg‘ “ benutz windows editor

  21. Existiert denn die Datei testserver1.cfg in dem gleichen Verzeichnis, in welchem auch die teeworlds_srv Datei liegt? Schaue doch einfach mal mit einem Dateibrowser nach. Wenn sie nicht dort liegt, dann verschiebe/kopiere die Datei doch mal dort hinein.

  22. Pingback: Anonymous

  23. Hey foxx
    Mich würde jetzt einmal interessieren ob du den Mac Mod umgeschrieben hast!
    Bin gerade dabei mir einen Server zu erstellen.
    Danke im Vorraus 😉

  24. ich habe mich schon lange nicht mehr mit Teeworlds (Servern) beschäftigt. Den Scosu Mod scheint es zumindest auf der ursprünglichen Webseite ja nicht mehr zu geben. Für vergleichbare Mods solltet ihr mal im Forum nachschauen.

    @korlo: Mit „screen -x tw1“ kannst du in das Terminal kommen, in welchem der Server läuft. Das steht auch oben in der Anleitung. Dort kannst du dann einfach mit STRG-C das laufende Programm beenden.

  25. hey, gut erklärt,
    aber ich hab ne frage: wie machst du das das man das game auch im internet funktioniert. bei mir finde ich es nur im Lan. Das mit sv_register 1 hab ich zwar eingegeben und den Server Filter im Game auch ausgestellt, aber ich höre immer wieder das man 8303 oder so auf der w-Lan und der Fire wall frei geben muss, aber wie mache ich das auf mac???

    Danke im voraus, HimGHimG

    achja, kannst du noch mal ein tut mit modpack für mac machen und nen mac download wo ich das modpack für mac runter laden kann?

  26. Du musst keine Firewall bei deinem Mac einstellen. Wenn du die Mac interne Firewall aktiviert hast wird sich diese schon melden, wenn der Teeworlds Server versucht eingehende Verbindungen aus dem Internet zu erlauben. Diese Meldung musst du bestätigen.

    Ansonsten musst du noch falls du den Server zuhause auf deinem Desktop-PC/Notebook ausführst wahrscheinlich bei deinem Router den Port 8303 (Wenn du diesen nutzt) weiterleiten/freigeben.

    Wenn du eine Fritz!Box hast kannst du hier schauen: http://www.avm.de/de/Service/Service-Portale/Service-Portal/News_und_Ausblick/43_portfreigaben_eingehende_Verb.php

    Für (fast) alle anderen Router (inklusive Fritz!Box) findest du bestimmt hier eine Anleitung: http://portforward.com/english/routers/port_forwarding/routerindex.htm

    Mit dem Modpack schau ich mal. Vielleicht mache ich das mal die Tage aber ich verspreche nichts. Kann es auch wenn dann erst frühestens ab dem 12.2. oder so angehen.

  27. hi leute, ich habe ein problem.
    ich hab einen mac und habe auch meinen teeworlds-server offen, aber ich habe nicht heraus gefunden wie ich mein pproblem lösen kann. wenn ich in meinen server gehe, dann steht dar: only 0 players allowed to play.
    warum ist es keinem spieler erlaubt auf meinem server irgen einem team zu joinen.
    ich habe auch eingegeben. sv_maxclients „10“ und es geht trotzdem nich. kann mir bitte jemand helfen. DANKE schonmal im voraus!!!!!!!!!!!!!!!!!!

  28. Hi Lukki, poste doch bitte mal deine Konfigurationsdatei und die Ausgaben des Servers nach dem starten.

  29. sv_name „lukas-server“
    sv_gametype „ctf“
    sv_max_clients „10“
    sv_scorelimit= „40“
    sv_spectator_slots „5“
    sv_register „1“

  30. und ich kann den anderen text nich kopieren, aber mein port is offen. bei dem teeworlds-server programm steht auch, dass es keine probleme mit der firewall gibt. und jetz noch n neues problem. was hat es zu bedeuten, wenn beim connecten da steht: timed out PLS HELP!!??

Kommentare sind geschlossen.