T8 Ark Startsettings Modul Beta 1.0.2b

gamerzhost.de -

Das Modul reguliert die Serverstartsettings, sowie die Erstellung von Clustern auf dem selbigen Rootserversystem.

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

Der neue Support Bereich ist absofort unter community.teklab.de zu finden.

Leider bietet das WBB keinen vernünftigen Spamschutz, daher sind Neuanmeldungen gesperrt. Wir werden die nächsten Tage das Handbuch/WIKI im neuen Support Bereich übernehmen. Dieses Forum bleibt jedoch mit seinen bisherigen Beiträgen, für alle die die Suchfunktion nutzen wollen, vorerst erhalten. User die über den Kundenbereich die Zugangsdaten erhalten und Bestandsuser können das Forum weiter nutzen. Jedoch würden wir alle gerne im neuen Support Bereich begrüßen wollen.

Anfang Juni wird im Kundenbereich automatisch ein Zugang zum neuen Support Bereich angelegt, ähnlich wie es derzeit für WBB geschieht. Somit entfällt dann die Neuanmeldung. ;)

Lizenzbestimmungen
Standard (kostenlos)
Die Zeiten wo Gameserverkunden/User sich mit einen Start / Stop Button und einem FTP Zugriff zufrieden stellen lassen sind schon lange vorbei. Heute zählen entweder der Preis oder die Qualität ( Stabilität + Features). Ein Ark Server hat mit den Serverstartparametern, der Gameusersettings.ini und der Game.ini weit über 200 Einstellungsmöglichkeiten. Der Benutzer möchte am liebsten wenige Klicks machen und loszocken. Aus dem Grunde bieten wir seit Tekbase 7 unseren Kunden entsprechende Module dafür an. Mit der Umstellung auf Tekbase8 haben wir uns entschlossen einige davon für T8 zu veröffentlichen.

Das Ark Startsettings Modul reguliert die Serverstartsettings, sowie die Erstellung von Clustern (inkl. der nötigen Symlinks) auf dem selbigen Rootserversystem.

Vorraussetzung:
Tekbase 8
PHP 5.6 , 7.0 oder 7.1
Ioncube
Verbindung via SSH

Install:
Den Inhalt des jeweiligen PHP Ordners (5.6 geht auch auf 7.0) auf den Webspace in den Hauptordner Eures Tekbase 8 uploaden. Sollte Ihr ein anderes Kürzel außer "ark" verwenden hier bitte den Ordner "ark" in mytekbase\members\modules\games entsprechend umbenennen. Danach die 2 beiliegende SQL Dateien via z.b. PHPMyAdmin importieren. solltet Ihr ein anderes Datenbankprefix wie "teklab" benutzen die Datenbanktabelle entsprechend umbenennen. Zu guter Letzt das ssh Script in den Scripte Ordner der Rootserver legen wo das Modul Anwendung findet.

Arbeitsweise:
Beide Module, das Startsettingsmodul sowie das Cluster Modul, legen für jeden Startparameter eine Config im Ordner .run des Gameservers ab. Mit einem entsprechenden Startscript kann dann die umfangreichen Parameter für Ark ausgelesen und beim Serverstart mitgegeben werden.
Zusätzlich erstellt das Clustermodul das entsprechenden Cluster und die dazugehörigen Symlinks.

-useallavailablecores & -automanagedmods
sind beides Sachen welche nicht jeder für den Endnutzer freigeben möchte, das wurde wie folgt geregelt:
Sobald dieses in dem Startscript eingetragen ist, egal ob in der Spieleliste oder direkt beim Gameserver sind die Parameter im Startsettingsmodul für den Enduser wahlweise verfügbar.


In einen eigenen Bash Datei für den Server Start kann man das auslesen der Startparameter dann relativ einfach z.b. wie folgt einbauen, da hat sicherlich jeder seine andere Methode:

Quellcode

  1. ##### Basissettings
  2. if [ -f $var/.run/mapname.ini ]; then
  3. mapname=$(cat $var/.run/mapname.ini | head -n1 | tail -n1)
  4. echo Servermap: $mapname
  5. else
  6. mapname=TheIsland
  7. echo Servermap: TheIsland
  8. fi
  9. if [ -f $var/.run/modids.ini ]; then
  10. modids=$(cat $var/.run/modids.ini | head -n1 | tail -n1)
  11. acmods="ActiveMods=$modids?"
  12. modids="GameModIds=$modids?"
  13. fi
  14. if [ -f $var/.run/totalmodids.ini ]; then
  15. totalmodids=$(cat $var/.run/totalmodids.ini | head -n1 | tail -n1)
  16. totalmodids="-TotalConversionMod=$totalmodids "
  17. fi
  18. if [ -f $var/.run/rconpassword.ini ]; then
  19. rconpassword=$(cat $var/.run/rconpassword.ini | head -n1 | tail -n1)
  20. rconpassword="ServerAdminPassword=$rconpassword?"
  21. fi
  22. if [ -f $var/.run/rconenabled.ini ]; then
  23. rconenabled="RCONEnabled=true?"
  24. fi
  25. if [ -f $var/.run/nobattleeye.ini ]; then
  26. nobattleeye="-NoBattlEye "
  27. echo BattlEye nicht aktiv
  28. else
  29. echo BattlEye aktiv
  30. fi
  31. if [ -f $var/.run/noantispeedhack.ini ]; then
  32. noantispeedhack="-noantispeedhack "
  33. fi
  34. if [ -f $var/.run/nocombineclientmoves.ini ]; then
  35. nocombineclientmoves="-nocombineclientmoves "
  36. fi
  37. if [ -f $var/.run/enableidleplayerkick.ini ]; then
  38. enableidleplayerkick="-nocombineclientmoves "
  39. fi
  40. if [ -f $var/.run/culture.ini ]; then
  41. culture=$(cat $var/.run/culture.ini | head -n1 | tail -n1)
  42. echo Culture: $culture
  43. culture="-culture=$culture "
  44. else
  45. echo Culture: Standard
  46. fi
  47. if [ -f $var/.run/useallavailablecores.ini ]; then
  48. useallavailablecores="-USEALLAVAILABLECORES "
  49. fi
  50. if [ -f $var/.run/noninlinesaveload.ini ]; then
  51. noninlinesaveload="-noninlinesaveload "
  52. fi
  53. if [ -f $var/.run/automanagedmods.ini ]; then
  54. automanagedmods="-automanagedmods "
  55. fi
  56. #####Gamesettings
  57. if [ -f $var/.run/overrideofficialdifficulty.ini ]; then
  58. overrideofficialdifficulty=$(cat $var/.run/overrideofficialdifficulty.ini | head -n1 | tail -n1)
  59. overrideofficialdifficulty="OverrideOfficialDifficulty=$overrideofficialdifficulty?"
  60. fi
  61. if [ -f $var/.run/forceallowcaveflyers.ini ]; then
  62. forceallowcaveflyers="-ForceAllowCaveFlyers "
  63. fi
  64. if [ -f $var/.run/forcerespawndinos.ini ]; then
  65. forcerespawndinos="-ForceRespawnDinos"
  66. fi
  67. if [ -f $var/.run/nonpermanentdiseases.ini ]; then
  68. nonpermanentdiseases="NonPermanentDiseases=true?"
  69. fi
  70. if [ -f $var/.run/enableextrastructurepreventionvolumes.ini ]; then
  71. enableextrastructurepreventionvolumes="EnableExtraStructurePreventionVolumes=true?"
  72. fi
  73. if [ -f $var/.run/bdisablestructureplacementcollision.ini ]; then
  74. bdisablestructureplacementcollision="bDisableStructurePlacementCollision=true?"
  75. else
  76. bdisablestructureplacementcollision="bDisableStructurePlacementCollision=false?"
  77. fi
  78. if [ -f $var/.run/fastdecayunsnappedcorestructures.ini ]; then
  79. fastdecayunsnappedcorestructures="FastDecayUnsnappedCoreStructures=true?"
  80. fi
  81. if [ -f $var/.run/onlydecayunsnappedcorestructures.ini ]; then
  82. onlydecayunsnappedcorestructures="OnlyDecayUnsnappedCoreStructures=true?"
  83. fi
  84. #####Up- /Downloadsettings
  85. if [ -f $var/.run/preventuploadsurvivors.ini ]; then
  86. preventuploadsurvivors="PreventUploadSurvivors=true?"
  87. else
  88. preventuploadsurvivors="PreventUploadSurvivors=false?"
  89. fi
  90. if [ -f $var/.run/preventuploaditems.ini ]; then
  91. preventuploaditems="PreventUploadItems=true?"
  92. else
  93. preventuploaditems="PreventUploadItems=false?"
  94. fi
  95. if [ -f $var/.run/preventuploaddinos.ini ]; then
  96. preventuploaddinos="PreventUploadDinos=true?"
  97. else
  98. preventuploaddinos="PreventUploadDinos=false?"
  99. fi
  100. if [ -f $var/.run/preventdownloadsurvivors.ini ]; then
  101. preventdownloadsurvivors="PreventDownloadSurvivors=true?"
  102. else
  103. preventdownloadsurvivors="PreventDownloadSurvivors=false?"
  104. fi
  105. if [ -f $var/.run/preventdownloaditems.ini ]; then
  106. preventdownloaditems="PreventDownloadItems=true?"
  107. else
  108. preventdownloaditems="PreventDownloadItems=false?"
  109. fi
  110. if [ -f $var/.run/preventdownloaddinos.ini ]; then
  111. preventdownloaddinos="PreventDownloadDinos=true?"
  112. else
  113. preventdownloaddinos="PreventDownloadDinos=false?"
  114. fi
  115. #####Logsettings
  116. if [ -f $var/.run/servergamelog.ini ]; then
  117. servergamelog="-servergamelog "
  118. fi
  119. if [ -f $var/.run/servergamelogincludetribelogs.ini ]; then
  120. servergamelogincludetribelogs="-servergamelogincludetribelogs "
  121. fi
  122. if [ -f $var/serverrconoutputtribelogs.run/.ini ]; then
  123. serverrconoutputtribelogs="-ServerRCONOutputTribeLogs "
  124. fi
  125. if [ -f $var/.run/tribelogdestroyedenemystructures.ini ]; then
  126. tribelogdestroyedenemystructures="TribeLogDestroyedEnemyStructures=true?"
  127. fi
  128. if [ -f $var/.run/gameplaylogging.ini ]; then
  129. gameplaylogging="-gameplaylogging "
  130. fi
  131. #####Clustersettings
  132. if [ -f $var/.run/clusterid.ini ]; then
  133. clusterid=$(cat $var/.run/clusterid.ini | head -n1 | tail -n1)
  134. echo Cluster: $clusterid
  135. clusterid='-clusterid='$clusterid''
  136. fi
  137. if [ -f $var/.run/notransferfromfiltering.ini ]; then
  138. notransferfromfiltering='-notransferfromfiltering'
  139. echo $notransferfromfiltering
  140. fi
  141. para1=$rconpassword$rconenabled$modids$acmods$overrideofficialdifficulty$nonpermanentdiseases$enableextrastructurepreventionvolumes$bdisablestructureplacementcollision$fastdecayunsnappedcorestructures$preventuploadsurvivors$preventuploaditems$preventuploaddinos$preventdownloadsurvivors$preventdownloaditems$preventdownloaddinos$tribelogdestroyedenemystructures
  142. para1="$(echo $para1 | sed -e 's/" "/""/')"
  143. para1="$(echo $para1 | sed -e 's/"\?\?"/"\?"/')"
  144. para2="$clusterid $notransferfromfiltering $totalmodids $nobattleeye $culture $noantispeedhack $nocombineclientmoves $enableidleplayerkick $forceallowcaveflyers $forcerespawndinos $noninlinesaveload $automanagedmods $servergamelog $servergamelogincludetribelogs $serverrconoutputtribelogs $gameplaylogging"
  145. para2="$(echo $para2 | sed -e 's/" "/" "/')"
  146. ./ShooterGameServer "$mapname"?MULTIHOME="$var1"?Port="$var2"?QueryPort="$var8"?RCONPort="$var9"?MaxPlayers="$var3"?"$para1"listen? $para2 -nosteam -server -log
Alles anzeigen




Weiteres:

Im Package befindet sich auch ein Archiv "ark.tar". Das Archiv kann als komplettes Image benutzt werden, auch wenn dort nur das Startscript enthalten ist, installiert sich der Gameserver beim ersten Serverstart via Steamcmd durch Prüfung ob die Binarys vorhanden sind. Desweiteren werden die Symlinks für den Arkeigenen Modupdater beim ersten Serverstart gesetzt.


Die Ark Entwickler empfehlen die Ports
Gameport 7777
Query 27015
Rcon 27020
Dieses Verhältniss haben wir in dieses "Image" so eingebaut. möchte der Nutzer einen Server auf 7779 installieren ist dann der Query 27017 und der Rcon 27022

Startscript:

Quellcode

  1. ./ark_run.sh -ip gsip -port gsport -player gsplayer
Variable 1 Name: Start mit Serverupdate
Variable 1 Parameter: updater 1

Nutzungserlaubnis:
Die Nutzung ist jedem Privatnutzer ohne weiteres gestattet. Nutzung von Codeteilen in anderen Modulen sind nur mit Rücksprache erlaubt. Das Modul wurde mit einem sichtbaren Branding/Logo versehen. Die Entfernungdes Brandings/Logos und des Brandingtextes ist nicht erlaubt. Dieses kann gerne entfernt werden gegen eine Zahlung von 100 € / eine nutzbare Domain. Möchte der Kunde eine weitere Domain nutzen werden für die weiteren Domains 50,- € pro Domain berechnet. In dem Tool stecken mit der
Erstentwicklung für Tekbase 7 + Erweiterungen bei Gameupdates +Anpassung Tekbase 8 einige 100 Arbeitsstunden.





  • Version 1.0.2b

    - 373,08 kB - 43 mal heruntergeladen

    Fix
    Map Zeichenlimit
    Mods Zeichenlimit
  • Version 1.0.1b

    - 374,35 kB - 4 mal heruntergeladen

  • Mexx82 -

    frage zu diesen Modul, ist das auch mit dem Ark Updater / Modupdater Linux 1.0.0 kompatibel?

  • Vakarian -

    Funktioniert bei uns soweit alles.