TW-Srv selbst hosten (Linux)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • TW-Srv selbst hosten (Linux)

      Vorweg: Ja es kommen neue Teeworlds-Server in euren Browser bitte nicht traurig sein:/
      Ich möchte bitte auch keine "miete dir doch dort und da server" kommentare ._. hätte gerne volle Macht auf meine Server.

      Ich bin im Besitz eines vServers (naja nicht meiner aber ich habe volle rechte) von PHP-Friends und würde gerne so um die 3 Teeworlds-Server hosten.
      Auf dem vServer ist Debian7 installiert. Das OS kann gewechselt werden wenn nötig.
      Teeworlds-Server erstellen kann ich selbst ich brauche nur Hilfe beim einrichten des vServers.

      Früher habe ich mit screen gearbeitet
      Spoiler anzeigen
      screen ./teeworlds_srv


      kann mir jemand sagen warum ich nohup verwenden sollte?:)

      BotoX schrieb:

      Nur nubs starten teeworlds server mit screen.
      NOHUP FTW!
      Wie man Nohup benutzt: nohup ./teeworlds_srv -f config.cfg > /dev/null &
      Für Logfiles: nohup ./teeworlds_srv -f config.cfg > ./teeworlds.log &
      Wäre jemand von euch so lieb und erklärt einem Linux-Newbie wie man seinen vServer einrichten muss dass tw srv drauf laufen?
      Wobei ihr mir helfen müsst

      - apt-gets installieren, bzw. sagen welche ich brauche ung ggf. wie ich die konfigurieren muss
      erledigt- Portfreigaben hat sich erledigt laut monsta sind die eh alle offen
      - screen oder nohup verwendung
      - server starten (jenachdem nohup oder screen (tendiere aber zu screen weil ich das gefühl hab das botox der einzige im forum ist der nohup beherscht)
      - restart-scripts
      erledigt- eventuell ein interface (html kann ich auch nicht gut (sieht meine website) hilfe wäre aber nicht unbedingt nötig) monsta sagt ich brauche php, meskalin macht mir eins, sonst nehme ich die externe grafische konsole von malek oder wer immer die hier vorgestellt hat



      @BoToX Es kann nicht jeder so gut mit Technik sei mir bitte nicht böse..


      sollte alles klappen bekommt der, der hilft das was er braucht. (eventuell ein eigenen tw-server, eventuell geld, vielleicht auch ein ddnet-shirt)
      ich würde das dann aber ungern hier im forum via thread oder pn machen. Lieber wäre mir Skype.


      Wenn ihr nicht interessiert seid, am geld, oder dem shirt. Dann könnt ihr mich auch auf ein Video verweisen, welches alles ins genauste auf Deutsch erklärt.


      Ich habe nicht vor später mal ein hosting zumachen. die server sind für privaten gebrauch (und clan:3)


      also wenn jemand lust hat hier melden ich schreibe euch dann an.




      Patrick hat gesagt ich soll mich bei euch melden weil man hier viele erreicht.:)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Nex ()

    • Naja wie Assa meinte:

      man screen oder man nohup.
      Mit man (manual btw) bekommst du zu so ziemlich jedem Programm eine extrem ausführliche Erklärung mit allem möglichen.
      Wenn du weniger lesen und mehr ausprobieren willst kannst du auch <cmd> --help benutzen, das wird auch fast immer unterstützt.

      Dein screen-cmd funzt ja schonmal, wenn du nohup nutzen möchtest um das ganze als Daemon zu starten machst du das einfach darüber (nicht ausprobiert, bitte berichtigen wenn falsch):

      Quellcode

      1. nohup <pfad|zum|programm> &


      Ach hab grade gesehen, dass Botox dir ja schon geschrieben hat was du bei nohup ausführen musst.

      Im Prinzip macht das dasselbe wie meine Variante, nur dass er die (Standard)Ausgabe vom Bildschirm umleitet auf den Abfalleimer für alles ( >/dev/null).
      Er sorgt also dafür, dass nur Fehler angezeigt werden ^^

      In der zweiten Variante leitet er die Ausgaben vom Server nicht auf den Abfall, sondern in eine beliebige Datei mit dem Namen teeworlds.log - falls du das brauchst um irgendwas zu protokollieren.

      Was meinste mit einem Interface?
      Bzw. was willst du damit erreichen?

      Meinst du mit restart-scripts SystemV-Scripts, die die die Server automatisch beim booten mit anschalten?

      Achja eins noch:
      PHP scriptet man eigtl. nicht, sondern man programmiert in PHP ::P:


      @OT:
      Hab ich da etwas _gegen_ screen gehört?
      screen > all
    • würde auch gerne screen verwenden

      das interface sollte so n paar knöpfe haben zum ein/ausschalten/restarten der server haben
      zudem sollte man auch massen-brot-casts ausführen sollen
      es sollte verschiedene benutzer gruppen geben die verschiedenes machen können (map wechsel erzwingen, config ändern, leute kicken, pi pa po) das ist nicht für ein hosting gedacht sondern für einen clan (wo member z.B. maps erzwingen können und mods kicken können)
    • Weil ich IMMER in Chrome bin? Das startet mit Windows mit, zudem möchte ich nicht auf jeden Server drauf gehen um einen broadcast an alle Server zu schicken.
      Manchmal geht es einfach schneller übers Internet. Zudem habe ich dann auch Zugriff auf maps und kicks wenn ich am Handy bin. (Und Schlag jetzt nicht vor das ich mir dafür TeeworldsDroid runterladen sollte!)
    • lush schrieb:

      Du kannst vllt. auch mal deen fragen, wie er das mit den broadcasts für DDNet übernimmt.
      Da alles was er bisher gemacht hat OpenSource ist, kann ich mir gut vorstellen, dass er dir seine Variante zeigt/erklärt.
      Vllt. ist sie ja so ähnlich wie dein Ansatz..

      Fragt besser nicht...

      Ich habe auf jedem DDNet-Server eine FIFO-Console am Laufen: github.com/def-/ddnet/blob/9f4…ne/shared/fifoconsole.cpp und github.com/def-/ddnet/blob/9f4…e/server/server.cpp#L2033
      So dass man mit sv_fifoconsole einen Pfad setzen kann und alles was man in diese FIFO-Datei schreibt wird ausgeführt auf dem Server.

      Massenbroadcasts gehen dann einfach mit einem

      Quellcode

      1. echo broadcast "Hallo alle" > servers/*.fifo


      Das tatsächliche Script das ich verwende gibt es hier: github.com/def-/ddnet-scripts/blob/master/servers/bc.py mit schickem großen Text: github.com/def-/ddnet-scripts/…/servers/scripts/asciiart

      Damit lässt sich übrigens auch in den Client leicht ein Bot wie der von Meskalin einbauen, der einfach die log-datei liest und in die fifo schreibt:

      Quellcode

      1. import math, os, strutils, times
      2. randomize()
      3. const pairs =
      4. [ ("Which fictional hero is Clark kent?", "Superman")
      5. , ("Which fictional hero is Paul Metcalfe?", "Captain Scarlet")
      6. , ("Which fictional hero is Dick Grayson?", "Robin")
      7. , ("Which fictional hero is Mark Harris?", "The Man From Atlantis")
      8. , ("Which fictional hero is John Reid?", "The Lone Ranger")
      9. , ("Which fictional hero is Billy Batson?", "Captain Marvel")
      10. , ("Which fictional hero is Doctor Banner?", "The Incredible Hulk")
      11. , ("Which fictional hero is Henry Penfold?", "Hong Kong Phooey")
      12. , ("Which fictional hero is Peter Parker?", "Spiderman")
      13. , ("Which fictional hero is Don Blake?", "The Mighty Thor ")
      14. ]
      15. proc say(xs: varargs[string, `$`]) =
      16. stdout.write "say \\""
      17. for x in xs:
      18. stdout.write x
      19. stdout.write "\\"\n"
      20. flushFile stdout
      21. say "Trivia bot rewrite by deen"
      22. sleep 4000
      23. while true:
      24. let (q,a) = pairs[random(pairs.high)]
      25. let t = Time(int(getTime()) + 15)
      26. say q
      27. while getTime() < t:
      28. let i = stdin.readLine.toLower
      29. if i.contains("chat") and not i.contains(": deen: ") and i.contains(a.toLower):
      30. let n = i[27 .. i.find(a, 27) - 3]
      31. say n, "s answer was correct: ", a
      32. break
      33. say "Noone could answer the question. The answer was: ", a
      34. sleep 4000
      Alles anzeigen

      Kompilieren und aufrufen:

      Quellcode

      1. nimrod c bot
      2. tail -f -n 0 client.log | ./bot > client.fifo