Linux - Teeworlds Server Scripts

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

    • Linux - Teeworlds Server Scripts

      Linux - Teeworlds Server Scripts

      - Einfach zu installieren und aufzusetzen
      - Einfach zu bedienen
      - Nutzung mit mehreren Servern
      - Sauberes Starten, Stoppen und Neustarten von allen oder nur einzelnen Teeworlds Servern
      - Automatischer Neustart der Server, falls diese crashen oder "shutdown" eingegeben wird
      - Automatischer Serverstart, wenn das Betriebssystem hochfaehrt
      - Updatefunktion
      - Nutzt nur sehr wenige Serverresourcen

      Kompabilitaet: 0.5 trunk
      0.6.0
      0.6.1
      0.6 trunk

      Diese Skripte nutzen Linux Shell.

      Funktioniert garantiert auf Debian und Ubuntu, aber wahrscheinlich auch auf den meisten anderen Linux OS.

      Downloads:
      Install.sh
      Teeworlds.tar.gz
      Kompabilitaetsdownloads: Habt ihr Fehler, wenn ihr die Skripte ausfuehrt? Probiert diese hier!
      Install.sh
      Teeworlds.tar.gz


      Installation mit dem install.sh Skript (Funktioniert moeglicherweise nur mit Debian und Ubuntu)
      1. Logge dich als der Benutzer root ein und gebe folgende Zeile in die Konsole ein:
      aptitude install wget tar nohup
      2. Erstelle einen neuen User mit adduser, oder useradd
      3. Logge dich in deinen neuen User ein und gehe mit cd in den Order, in den Teeworlds installiert werden soll
      4. Gebe folgende Zeilen in die Konsole ein:
      wget 95.156.208.254/files/normal/install.sh
      chmod 744 install.sh
      5. Fuehre das install.sh Skript aus und folge den Anweisungen:
      sh install.sh install
      6. Gehe in den neu erstellten Teeworlds Order, dann srvfiles und bearbeite die letzten zwei add_path der storage.cfg


      Manuelle Installation (Fortgeschritten)
      1. Lade den modifizierten Teeworlds Ordner hier herunter
      2. Gebe der start.sh im Teeworlds Ordern 744 Rechte
      chmod 744 start.sh
      3. Gehe in den neu erstellten Teeworlds Ordner, dann srvfiles und bearbeite die letzten zwei add_path der storage.cfg

      Optionaler automatischer Serverstart beim Hochfahren des Betriebssystems (Funktioniert moeglicherweise nur mit Debian und Ubuntu)
      4. Mache einen Symlink der start.sh in den init.d Ordner indem du etwas aehnliches wie dies hier eingibst:
      ln -s /home/user/teeworlds /etc/init.d/teeworlds_srv
      5. Update die rc levels indem du folgendes eingibst:
      update-rc.d teeworlds_srv defaults 99 99


      Aufsetzen der Teeworlds server:
      1. Gebe alle config Dateien in den configs Ordner
      2. Gebe alle Serverdateien in den srvfiles Ordner
      3. Gebe alle Maps in den data/maps Ordner
      4. Editiere die scripts.cfg Datei im Teeworlds Ordner
      Um einen Server hinzuzufuegen:
      CONFIGFILE[SERVERNUMMER]=configdatei.cfg
      SRVFILE[SERVERNUMMER]=serverdatei


      Nutzung der Skripte:
      Start: sh start.sh start # Start aller Teeworlds Server
      Stop: sh start.sh stop # Stoppt alle Teeworlds Server
      Neustart: sh start.sh restart # Neustart aller Teeworlds Server
      Status: sh start.sh status # Zeigt den Status aller Teeworlds Server an
      Start/Stop/Neustart von nur einem Server: sh start.sh manage {start|stop|restart} SERVERNUMMER

      Update: sh install.sh update # Aktualisiert nur die Skripte und funktioniert nur, wenn zur Installation die install.sh genutzt wurde

      Die Teeworlds Server werden nun automatisch neu starten, falls sie crashen oder "shutdown" eingegeben wird
      Die Teeworlds Server werden nun automatisch mit dem Betriebssystem starten, wenn es eigestellt wurde

      Viel Spass bei der Nutzung dieser Skripte! :)

      Version: 1.3

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

    • In dem Teeworlds Ordner, der neu erstellt wurde gibts es einen Ordner "srvfiles" in dem die storage.cfg Datei drinnen ist. In der ist weiter unten beschrieben, dass du die letzten zwei Pfade aendern sollst, naemlich der 1. soll den Pfad generell zu deinem Teeworlds Ordner fuehren, der 2. soll bis in den Data Ordner fuehren. Bei den Pfaden, die du zitiert hast musst du nichts aendern, sondern die darunterliegenden Pfade die im Muster /home/User/teeworlds sind.
    • Also es tut mir wirklich leid, denke mal das ist meine Dummheit aber das Script möchte bei mir einfach nicht funktionieren..

      Spoiler anzeigen

      Terminal :
      Spoiler anzeigen

      Quellcode

      1. [teeworlds@localhost teeworlds]$ sh start.sh start
      2. Welcome to the CEHosting startscript!
      3. Starting the Teeworlds server(s)...
      4. Checking defined variables and values..
      5. Done
      6. Checking for online servers..
      7. Done
      8. Checking internet connection..
      9. Done
      10. Giving permissions..
      11. Done
      12. Clearing old PID and LOG files..
      13. Done
      14. Creating directories..
      15. Done
      16. Starting the servers..
      17. Started server '1'
      18. All servers are started!
      19. Checking server status..
      20. Di 1. Mai 22:46:28 CEST 2012 WARNING: Not all servers have started!
      21. Only '0' of '1' servers have started!
      22. You might want to check the log files of the not running servers!
      Alles anzeigen


      Log :
      Spoiler anzeigen

      Quellcode

      1. Fr. Mai 15:36:23 CEST 2012 ERROR: The defined configfile was not found!
      2. Aborting...


      scripts.cfg:
      Spoiler anzeigen

      Quellcode

      1. # This is the configuration file for the Teeworlds server scripts
      2. #
      3. SRVTOTAL=1
      4. # Please provide the total number of servers that you want to run
      5. #
      6. LOG=true
      7. # Please provide here whether you want log files to be made of your server(s)
      8. #
      9. DEBUG=false
      10. # Please provide here whether you want to start the childscript(s) in debug mode
      11. # Should only be set if 'LOG=true'
      12. #
      13. LAN=true
      14. # Please provide here whether you want your server(s) to connect to the internet
      15. #
      16. QUICKSTART=false
      17. # Please provide here whether you want the Teeworlds to be started faster than usually
      18. # NOT recommended
      19. #
      20. MAXRESTART=10
      21. # Set here how often the script tries to start the Teeworlds server, before aborting
      22. # Recommended: 5 - 10
      23. #
      24. CHKINTERVAL=1m
      25. # Insert here how often the script checks if the Teeworlds server is (still) running
      26. # Recommended: 0.1s - 60s/1m
      27. #
      28. USER=teeworlds
      29. # Provide here how the user is called that the servers are running on
      30. #
      31. #####
      32. #
      33. # This is where you define the configuration file and the serverfile for each server
      34. #
      35. CONFIGFILE[1]=configdm1.cfg
      36. SRVFILE[1]=teeworlds_srv
      Alles anzeigen


      storage.cfg :
      Spoiler anzeigen

      Quellcode

      1. ####
      2. # This specifies where and in which order Teeworlds looks
      3. # for its data (sounds, skins, ...). The search goes top
      4. # down which means the first path has the highest priority.
      5. # Furthermore the top entry also defines the save path where
      6. # all data (settings.cfg, screenshots, ...) are stored.
      7. # There are 3 special paths available:
      8. # $USERDIR
      9. # - ~/.appname on UNIX based systems
      10. # - ~/Library/Applications Support/appname on Mac OS X
      11. # - %APPDATA%/Appname on Windows based systems
      12. # $DATADIR
      13. # - the 'data' directory which is part of an official
      14. # release
      15. # $CURRENTDIR
      16. # - current working directory
      17. #
      18. #
      19. # The default file has the following entries:
      20. # add_path $USERDIR
      21. # add_path $DATADIR
      22. # add_path $CURRENTDIR
      23. #
      24. # A customised one could look like this:
      25. # add_path user
      26. # add_path mods/mymod
      27. ####
      28. add_path $USERDIR
      29. add_path $DATADIR
      30. add_path $CURRENTDIR
      31. #
      32. # For the scripts to work, you have to add following:
      33. # 1. line is the path to the Teeworlds directory
      34. add_path ~/Desktop/teeworlds/
      35. # 2. line is the path to the data directory in the Teeworlds directory
      36. add_path ~/Desktop/teeworlds/data
      Alles anzeigen


      Es gibt im configs-Ordner eine Datei die heißt : configdm1.cfg
      + im srvfiles-Ordner gibt es eine Datei die heißt : teeworlds_srv
      + start.sh hat chmod 744

      Ich habe noch nicht sehr viel Ahnung von Linux und bin gerade am Beginn. Zum Testen habe ich über den VMware Player ein Linux-Betriebssystem laufen. Ich habe keinen Vserver oder Root. Aber das Script muss doch auch auf meinem virtuellen PC funktionieren!



      Vielen Dank im Voraus für denjenigen, der mir hilft.

      MFG
      Timmy

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Timmy ()

    • Wenn die Configdatei wirklich so heisst, dann kann es sein, dass er beim lesen von scripts.cfg die Endline commands mitliest und darum die Pfade nicht gehen. Bitte probiere mal hinter allen Speicherbefehlen ein (Abstand)# anzusetzen,
      Beispiel:
      SRVTOTAL=1 #
      CONFIGFILE[1]=configdm1.cfg #
      SRVFILE[1]=teeworlds_srv #
      Sollte es danach weiterhin nicht funktionieren, probier mal die "start.sh" im Debugmodus zu starten, Das machst du indem du statt sh start.sh start eingibst:
      sh -x start.sh start
      Poste dann bitte nochmal die Konsole.

      Tut mir leid, dass es bei dir solche Probleme gibt, aber jedes Linux ist ein bisschen anders und man muss die Skripte je nachdem anpassen! :)
    • Hallo,

      vielen Dank für deine ganze Mühe ;)

      Leider geht es immer noch nicht, aber es tut sich schon was :)

      Spoiler anzeigen

      Terminal:
      Spoiler anzeigen

      Quellcode

      1. [teeworlds@localhost teeworlds]$ sh -x start.sh start
      2. ++ tput setaf 1
      3. + TXTRED=''
      4. ++ tput setaf 2
      5. + TXTGRN=''
      6. ++ tput setaf 3
      7. + TXTYLW=''
      8. ++ tput sgr0
      9. + TXTRST=''
      10. +++ readlink -f start.sh
      11. ++ dirname /home/teeworlds/Desktop/teeworlds/start.sh
      12. + DIRECTORY=/home/teeworlds/Desktop/teeworlds
      13. + '[' '!' -f /home/teeworlds/Desktop/teeworlds/scripts.cfg ']'
      14. + source /home/teeworlds/Desktop/teeworlds/scripts.cfg
      15. ++ SRVTOTAL=1
      16. ++ LOG=true
      17. ++ DEBUG=false
      18. ++ LAN=true
      19. ++ QUICKSTART=false
      20. ++ MAXRESTART=10
      21. ++ CHKINTERVAL=1m
      22. ++ USER=teeworlds
      23. ++ CONFIGFILE[1]=configdm1.cfg
      24. ++ SRVFILE[1]=teeworlds_srv
      25. + case "${1}" in
      26. + echo 'Welcome to the CEHosting startscript!'
      27. Welcome to the CEHosting startscript!
      28. + echo 'Starting the Teeworlds server(s)...'
      29. Starting the Teeworlds server(s)...
      30. + echo 'Checking defined variables and values..'
      31. Checking defined variables and values..
      32. + VARIABLECHK1
      33. + '[' 1 -lt 1 ']'
      34. + '[' 10 -lt 1 ']'
      35. ++ whoami
      36. + '[' '!' teeworlds = teeworlds ']'
      37. + VARIABLECHK2
      38. + '[' '!' -f /home/teeworlds/Desktop/teeworlds/server.sh ']'
      39. + '[' '!' -d /home/teeworlds/Desktop/teeworlds/srvfiles ']'
      40. + '[' '!' -f /home/teeworlds/Desktop/teeworlds/srvfiles/storage.cfg ']'
      41. + '[' '!' -d /home/teeworlds/Desktop/teeworlds/configs ']'
      42. + '[' '!' -f /home/teeworlds/Desktop/teeworlds/configs/configdm1.cfg ']'
      43. + '[' '!' -f /home/teeworlds/Desktop/teeworlds/data/maps/ctf1.map /home/teeworlds/Desktop/teeworlds/data/maps/ctf2.map /home/teeworlds/Desktop/teeworlds/data/maps/ctf2_old.map /home/teeworlds/Desktop/teeworlds/data/maps/ctf3.map /home/teeworlds/Desktop/teeworlds/data/maps/ctf3_old.map /home/teeworlds/Desktop/teeworlds/data/maps/ctf4.map /home/teeworlds/Desktop/teeworlds/data/maps/ctf4_old.map /home/teeworlds/Desktop/teeworlds/data/maps/ctf5.map /home/teeworlds/Desktop/teeworlds/data/maps/ctf6.map /home/teeworlds/Desktop/teeworlds/data/maps/ctf7.map /home/teeworlds/Desktop/teeworlds/data/maps/dm1.map /home/teeworlds/Desktop/teeworlds/data/maps/dm2.map /home/teeworlds/Desktop/teeworlds/data/maps/dm6.map /home/teeworlds/Desktop/teeworlds/data/maps/dm6_old.map /home/teeworlds/Desktop/teeworlds/data/maps/dm7.map /home/teeworlds/Desktop/teeworlds/data/maps/dm8.map /home/teeworlds/Desktop/teeworlds/data/maps/dm8_old.map /home/teeworlds/Desktop/teeworlds/data/maps/dm9.map /home/teeworlds/Desktop/teeworlds/data/maps/dm9_old.map ']'
      44. + echo 'Done'
      45. Done
      46. + echo 'Checking for online servers..'
      47. Checking for online servers..
      48. + SRVONLINECHK
      49. + SRVNO=0
      50. + ONLINE=0
      51. + '[' 0 -lt 1 ']'
      52. ++ expr 0 + 1
      53. + SRVNO=1
      54. + '[' -s /home/teeworlds/Desktop/teeworlds/pids/server1.pid ']'
      55. +++ cat /home/teeworlds/Desktop/teeworlds/pids/server1.pid
      56. ++ kill -0 6214
      57. + sleep 0.1s
      58. + '[' 1 -lt 1 ']'
      59. + '[' 0 -eq 1 ']'
      60. + echo 'Done'
      61. Done
      62. + echo 'Checking internet connection..'
      63. Checking internet connection..
      64. ++ ping -c 1 teeworlds.com
      65. + echo 'Done'
      66. Done
      67. + echo 'Giving permissions..'
      68. Giving permissions..
      69. + chmod -f 744 /home/teeworlds/Desktop/teeworlds/server.sh
      70. + echo 'Done'
      71. Done
      72. + echo 'Clearing old PID and LOG files..'
      73. Clearing old PID and LOG files..
      74. + rm -R -f '${DIRECTORY}/logs'
      75. + rm -R -f '${DIRECTORY}/pids'
      76. + echo 'Done'
      77. Done
      78. + echo 'Creating directories..'
      79. Creating directories..
      80. + mkdir -p /home/teeworlds/Desktop/teeworlds/pids
      81. + '[' true = true ']'
      82. + mkdir -p /home/teeworlds/Desktop/teeworlds/logs
      83. + echo 'Done'
      84. Done
      85. + echo 'Starting the servers..'
      86. Starting the servers..
      87. + '[' false = true ']'
      88. + INTERVAL=5s
      89. + SRVNO=0
      90. + '[' 0 -lt 1 ']'
      91. ++ expr 0 + 1
      92. + SRVNO=1
      93. + '[' true = true ']'
      94. + '[' false = true ']'
      95. + '[' -s /home/teeworlds/Desktop/teeworlds/pids/server1.pid ']'
      96. +++ cat /home/teeworlds/Desktop/teeworlds/pids/server1.pid
      97. ++ kill -0 6214
      98. ++ whoami
      99. + '[' '!' teeworlds = teeworlds ']'
      100. + echo 'Started server '\''1'\'''
      101. Started server '1'
      102. + sleep 5s
      103. + nohup sh /home/teeworlds/Desktop/teeworlds/server.sh 1
      104. + '[' 1 -lt 1 ']'
      105. + echo 'All servers are started!'
      106. All servers are started!
      107. + echo 'Checking server status..'
      108. Checking server status..
      109. + SRVONLINECHK
      110. + SRVNO=0
      111. + ONLINE=0
      112. + '[' 0 -lt 1 ']'
      113. ++ expr 0 + 1
      114. + SRVNO=1
      115. + '[' -s /home/teeworlds/Desktop/teeworlds/pids/server1.pid ']'
      116. +++ cat /home/teeworlds/Desktop/teeworlds/pids/server1.pid
      117. ++ kill -0 6257
      118. + sleep 0.1s
      119. + '[' 1 -lt 1 ']'
      120. + '[' 0 -lt 1 ']'
      121. ++ date
      122. + echo -e '\a' Di 1. Mai 23:51:22 CEST 2012 'WARNING: Not all servers have started!'
      123. Di 1. Mai 23:51:22 CEST 2012 WARNING: Not all servers have started!
      124. + echo 'Only '\''0'\'' of '\''1'\'' servers have started!'
      125. Only '0' of '1' servers have started!
      126. + echo 'You might want to check the log files of the not running servers!'
      127. You might want to check the log files of the not running servers!
      128. + exit 0
      Alles anzeigen


      Und ganz interessant, der Serverlog :
      Spoiler anzeigen

      Quellcode

      1. [4fa05b86][engine]: running on unix-linux-ia32
      2. [4fa05b86][engine]: arch is little endian
      3. [4fa05b86][storage]: warning no data directory found
      4. [4fa05b86][storage]: added path '$USERDIR' ('/home/teeworlds/.teeworlds')
      5. [4fa05b86][storage]: added path '$CURRENTDIR' ('/home/teeworlds/Desktop/teeworlds')
      6. [4fa05b86][storage]: added path '/home/teeworlds/Desktop/teeworlds/'
      7. [4fa05b86][console]: failed to open 'autoexec.cfg'
      8. [4fa05b86][console]: executing '/home/teeworlds/Desktop/teeworlds/configs/configdm1.cfg'
      9. [4fa05b86][server]: starting...
      10. [4fa05b86][datafile]: loading. filename='maps/dm1.map'
      11. [4fa05b86][datafile]: could not open 'maps/dm1.map'
      12. [4fa05b86][server]: failed to load map. mapname='dm1'
      Alles anzeigen


      allerdings existiert die Map dm1. Unter : /data/maps/dm1.map .. wie eben in der teeworlds.tar.gz von dir (downloadlink).

      Vielleicht wäre es ganz Sinnvoll wenn wir uns in Skypeadden (falls vorhanden), damit ich aufhören kann das Forum zu zuspammen.
      Wenn es dir nichts ausmacht, dann schau doch in deine pns.


      Vielen Dank.

      Timmy