1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Sa: 17 Mai 2025
  • Anmelden oder registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Mitglieder
    3. Lukas_Multi

    Beiträge von Lukas_Multi

    • PHP Com error

      • Lukas_Multi
      • 29. Juni 2017 um 12:48

      ja habe xampp bei jeder änderung neugestartet

    • PHP Com error

      • Lukas_Multi
      • 29. Juni 2017 um 12:00

      Hab ich enabled geht immer noch nicht. Ich habe ja schon im internet rumgesucht und dazu nix gefunden, deswegen frage ich ja hier

    • PHP Com error

      • Lukas_Multi
      • 29. Juni 2017 um 11:35

      Mein vorhaben ist diese Ts3 Tool zu installieren. Ich habe es 2 mal versucht zu installieren aber das hat nicht so ganz geklappt.

      ich habe die ";" weggemacht funktioniert trozdem nicht...

    • PHP Com error

      • Lukas_Multi
      • 29. Juni 2017 um 10:54

      Bei mir sieht das ganze so aus:

      Code
      [COM]
      ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
      ; http://php.net/com.typelib-file
      ;com.typelib_file =
      
      ; allow Distributed-COM calls
      ; http://php.net/com.allow-dcom
      ;com.allow_dcom = true
      
      ; autoregister constants of a components typlib on com_load()
      ; http://php.net/com.autoregister-typelib
      ;com.autoregister_typelib = true
      
      ; register constants casesensitive
      ; http://php.net/com.autoregister-casesensitive
      ;com.autoregister_casesensitive = false
      
      ; show warnings on duplicate constant registrations
      ; http://php.net/com.autoregister-verbose
      ;com.autoregister_verbose = true
      
      ; The default character set code-page to use when passing strings to and from COM objects.
      ; Default: system ANSI code page
      ;com.code_page=
      Alles anzeigen

      Was muss ich da jetzt umstellen ?

    • PHP Com error

      • Lukas_Multi
      • 28. Juni 2017 um 17:28

      ich finde php_com_dotnet.dll in der php.ini nicht ...

    • PHP Com error

      • Lukas_Multi
      • 28. Juni 2017 um 17:09

      wo ist die php.ini

    • PHP Com error

      • Lukas_Multi
      • 28. Juni 2017 um 16:32

      ähh... wie geht das ?

    • PHP Com error

      • Lukas_Multi
      • 28. Juni 2017 um 14:31

      Ich habe das problem das ich die Fehlermeldung bekomme: "Fatal error: Class 'COM' not found in C:\xampp\htdocs\ranksystem_1.2.2\webinterface\bot.php on line 136"

      Code
      <?PHP
      session_start();
      
      require_once('../other/config.php');
      require_once('../other/phpcommand.php');
      
      function getclientip() {
          if (!empty($_SERVER['HTTP_CLIENT_IP']))
              return $_SERVER['HTTP_CLIENT_IP'];
          elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
              return $_SERVER['HTTP_X_FORWARDED_FOR'];
          elseif(!empty($_SERVER['HTTP_X_FORWARDED']))
              return $_SERVER['HTTP_X_FORWARDED'];
          elseif(!empty($_SERVER['HTTP_FORWARDED_FOR']))
              return $_SERVER['HTTP_FORWARDED_FOR'];
          elseif(!empty($_SERVER['HTTP_FORWARDED']))
              return $_SERVER['HTTP_FORWARDED'];
          elseif(!empty($_SERVER['REMOTE_ADDR']))
              return $_SERVER['REMOTE_ADDR'];
          else
              return false;
      }
      
      function getlog($logpath,$number_lines,$filters,$filter2) {
          $lines=array();
          if(file_exists($logpath."ranksystem.log")) {
              $fp = fopen($logpath."ranksystem.log", "r");
              while(!feof($fp)) {
                  $line = fgets($fp, 4096);
                  foreach($filters as $filter) {
                      if(($filter != NULL && strstr($line, $filter) && $filter2 == NULL) || ($filter2 != NULL && strstr($line, $filter2) && $filter != NULL && strstr($line, $filter))) {
                          array_push($lines, $line);
                          if (count($lines)>$number_lines) array_shift($lines);
                          continue;
                      }
                  }
              }
              fclose($fp);
          } else {
              $lines[] = "No log entry found...\n";
              $lines[] = "The logfile will be created with next startup.\n";
          }
          return $lines;
      }
      
      $number_lines = 20;
      if (isset($_POST['number'])) {
          if($_POST['number'] == 20) {
              $number_lines = 20;
          } elseif($_POST['number'] == 50) {
              $number_lines = 50;
          } elseif($_POST['number'] == 100) {
              $number_lines = 100;
          } elseif($_POST['number'] == 200) {
              $number_lines = 200;
          } elseif($_POST['number'] == 500) {
              $number_lines = 500;
          } elseif($_POST['number'] == 9999) {
              $number_lines = 9999;
          } else {
              $number_lines = 20;
          }
          $_SESSION['number_lines'] = $number_lines;
      } elseif (isset($_SESSION['number_lines'])) {
          $number_lines = $_SESSION['number_lines'];
      }
      
      if(isset($_SESSION['logfilter2'])) {
          $filter2 = $_SESSION['logfilter2'];
      } else {
          $filter2 = '';
      }
      $filters = '';
      if(isset($_POST['logfilter']) && in_array('critical', $_POST['logfilter'])) {
          $filters .= "CRITICAL,";
      }
      if(isset($_POST['logfilter']) && in_array('error', $_POST['logfilter'])) {
          $filters .= "ERROR,";
      }
      if(isset($_POST['logfilter']) && in_array('warning', $_POST['logfilter'])) {
          $filters .= "WARNING,";
      }
      if(isset($_POST['logfilter']) && in_array('notice', $_POST['logfilter'])) {
          $filters .= "NOTICE,";
      }
      if(isset($_POST['logfilter']) && in_array('info', $_POST['logfilter'])) {
          $filters .= "INFO,";
      }
      if(isset($_POST['logfilter']) && in_array('debug', $_POST['logfilter'])) {
          $filters .= "DEBUG,";
      }
      if(isset($_POST['logfilter'][0])) {
          $filter2 = $_POST['logfilter'][0];
          $_SESSION['logfilter2'] = $filter2;
      }
      
      if($filters != '') {
          $_SESSION['logfilter'] = $filters;
      }
      
      if (!isset($_SESSION['logfilter'])) {
          $_SESSION['logfilter'] = "CRITICAL,ERROR,WARNING,NOTICE,INFO,DEBUG";
      }
      
      $filters = explode(',', $_SESSION['logfilter']);
      
      if (isset($_POST['logout'])) {
          echo "logout";
          $_SESSION = array();
          session_destroy();
          if($_SERVER['HTTPS'] == "on") {
              header("Location: https://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\'));
          } else {
              header("Location: http://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\'));
          }
          exit;
      }
      
      if (!isset($_SESSION['username']) || $_SESSION['username'] != $webuser || $_SESSION['password'] != $webpass || $_SESSION['clientip'] != getclientip()) {
          if($_SERVER['HTTPS'] == "on") {
              header("Location: https://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\'));
          } else {
              header("Location: http://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\'));
          }
          exit;
      }
      
      require_once('nav.php');
      $logoutput = getlog($logpath,$number_lines,$filters,$filter2);
      
      if (isset($_POST['start']) && $_SESSION['username'] == $webuser && $_SESSION['password'] == $webpass && $_SESSION['clientip'] == getclientip()) {
          if(substr(sprintf('%o', fileperms($logpath)), -3, 1)!='7') {
              $err_msg = "!!!! Logs folder is not writable !!!!<br>Cancel start request!"; $err_lvl = 3;
          } else {
              if (substr(php_uname(), 0, 7) == "Windows") {
                  $WshShell = new COM("WScript.Shell");
                  $oExec = $WshShell->Run("cmd /C ".$phpcommand." ".substr(__DIR__,0,-12)."\worker.php start", 0, false); 
              } else {
                  exec($phpcommand." ".substr(__DIR__,0,-12)."worker.php start");
              }
              $err_msg = $lang['wibot2'];
              $err_lvl = 1;
              usleep(80000);
              $logoutput = getlog($logpath,$number_lines,$filters,$filter2);
          }
      }
      
      if (isset($_POST['stop']) && $_SESSION['username'] == $webuser && $_SESSION['password'] == $webpass && $_SESSION['clientip'] == getclientip()) {
          if (substr(php_uname(), 0, 7) == "Windows") {
              $WshShell = new COM("WScript.Shell");
              $oExec = $WshShell->Run("cmd /C ".$phpcommand." ".substr(__DIR__,0,-12)."\worker.php stop", 0, false); 
          } else {
              exec($phpcommand." ".substr(__DIR__,0,-12)."worker.php stop");
          }
          $err_msg = $lang['wibot1'];
          $err_lvl = 1;
          usleep(80000);
          $logoutput = getlog($logpath,$number_lines,$filters,$filter2);
      }
      
      if (isset($_POST['restart']) && $_SESSION['username'] == $webuser && $_SESSION['password'] == $webpass && $_SESSION['clientip'] == getclientip()) {
          if(substr(sprintf('%o', fileperms($logpath)), -3, 1)!='7') {
              $err_msg = "!!!! Logs folder is not writable !!!!<br>Cancel restart request!"; $err_lvl = 3;
          } else {
              if (substr(php_uname(), 0, 7) == "Windows") {
                  $WshShell = new COM("WScript.Shell");
                  $oExec = $WshShell->Run("cmd /C ".$phpcommand." ".substr(__DIR__,0,-12)."\worker.php restart", 0, false); 
              } else {
                  exec($phpcommand." ".substr(__DIR__,0,-12)."worker.php restart");
              }
              $err_msg = $lang['wibot3'];
              $err_lvl = 1;
              usleep(80000);
              $logoutput = getlog($logpath,$number_lines,$filters,$filter2);
          }
      }
      
      $disabled = '';
      if($ts['host'] == NULL || $ts['query'] == NULL || $ts['voice'] == NULL || $ts['user'] == NULL || $ts['pass'] == NULL || $queryname == NULL || $queryname2 == NULL || $grouptime == NULL || $logpath == NULL) {
          $disabled = 1;
          $err_msg = $lang['wibot9'];
          $err_lvl = 2;
      }
      ?>
              <div id="page-wrapper">
      <?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
                  <div class="container-fluid">
                      <div class="row">
                          <div class="col-lg-12">
                              <h1 class="page-header">
                                  <?PHP echo $lang['wibot4']; ?>
                              </h1>
                          </div>
                      </div>
                      <form class="form-horizontal" name="start" method="POST">
                          <div class="row">&nbsp;</div>
                          <div class="row">
                              <div class="text-center">
                                  <button type="submit" class="btn btn-primary" name="start"<?PHP if($disabled == 1) echo " disabled"; ?>>
                                  <i class="fa fa-fw fa-power-off"></i>&nbsp;<?PHP echo $lang['wibot5']; ?>
                                  </button>
                              </div>
                          </div>
                          <div class="row">&nbsp;</div>
                      </form>
                      <form class="form-horizontal" name="stop" method="POST">
                          <div class="row">&nbsp;</div>
                          <div class="row">
                              <div class="text-center">
                                  <button type="submit" class="btn btn-primary" name="stop">
                                  <i class="fa fa-fw fa-close"></i>&nbsp;<?PHP echo $lang['wibot6']; ?>
                                  </button>
                              </div>
                          </div>
                          <div class="row">&nbsp;</div>
                      </form>
                      <form class="form-horizontal" name="restart" method="POST">
                          <div class="row">&nbsp;</div>
                          <div class="row">
                              <div class="text-center">
                                  <button type="submit" class="btn btn-primary" name="restart"<?PHP if($disabled == 1) echo " disabled"; ?>>
                                  <i class="fa fa-fw fa-refresh"></i>&nbsp;<?PHP echo $lang['wibot7']; ?>
                                  </button>
                              </div>
                          </div>
                          <div class="row">&nbsp;</div>
                      </form>
                      <div class="row">&nbsp;</div>
                      <div class="row">
                          <div class="col-lg-2">
                              <h4>
                                  <?PHP echo $lang['wibot8']; ?>
                              </h4>
                          </div>
                          <form class="form-horizontal" name="logfilter" method="POST">
                          <div class="col-lg-2">
                              <div class="col-sm-12">
                                  <?PHP if($filter2!=NULL) { ?>
                                      <input type="text" class="form-control" name="logfilter[]" value="<?PHP echo $filter2; ?>" data-switch-no-init onchange="this.form.submit();">
                                  <?PHP } else { ?>
                                      <input type="text" class="form-control" name="logfilter[]" placeholder="filter the log entries..." data-switch-no-init onchange="this.form.submit();">
                                  <?PHP } ?>
                              </div>
                          </div>
                          <div class="col-lg-1">
                              <div class="checkbox">
                                  <label><input id="switch-create-destroy" type="checkbox" name="logfilter[]" value="critical" data-switch-no-init onchange="this.form.submit();"
                                  <?PHP if(in_array('CRITICAL', $filters)) { echo "checked"; } ?>
                                  >Critical</label>
                              </div>
                          </div>
                          <div class="col-lg-1">
                              <div class="checkbox">
                                  <label><input id="switch-create-destroy" type="checkbox" name="logfilter[]" value="error" data-switch-no-init onchange="this.form.submit();"
                                  <?PHP if(in_array('ERROR', $filters)) { echo "checked"; } ?>
                                  >Error</label>
                              </div>
                          </div>
                          <div class="col-lg-1">
                              <div class="checkbox">
                                  <label><input id="switch-create-destroy" type="checkbox" name="logfilter[]" value="warning" data-switch-no-init onchange="this.form.submit();"
                                  <?PHP if(in_array('WARNING', $filters)) { echo "checked"; } ?>
                                  >Warning</label>
                              </div>
                          </div>
                          <div class="col-lg-1">
                              <div class="checkbox">
                                  <label><input id="switch-create-destroy" type="checkbox" name="logfilter[]" value="notice" data-switch-no-init onchange="this.form.submit();"
                                  <?PHP if(in_array('NOTICE', $filters)) { echo "checked"; } ?>
                                  >Notice</label>
                              </div>
                          </div>
                          <div class="col-lg-1">
                              <div class="checkbox">
                                  <label><input id="switch-create-destroy" type="checkbox" name="logfilter[]" value="info" data-switch-no-init onchange="this.form.submit();"
                                  <?PHP if(in_array('INFO', $filters)) { echo "checked"; } ?>
                                  >Info</label>
                              </div>
                          </div>
                          <div class="col-lg-1">
                              <div class="checkbox">
                                  <label><input id="switch-create-destroy" type="checkbox" name="logfilter[]" value="debug" data-switch-no-init onchange="this.form.submit();"
                                  <?PHP if(in_array('DEBUG', $filters)) { echo "checked"; } ?>
                                  >Debug</label>
                              </div>
                          </div>
                          <div class="col-lg-2">
                              <div class="col-sm-8 pull-left">
                                  <select class="selectpicker show-tick form-control" id="number" name="number" onchange="this.form.submit();">
                                  <?PHP
                                  echo '<option value="20"'; if($number_lines=="20") echo " selected=selected"; echo '>20</option>';
                                  echo '<option value="50"'; if($number_lines=="50") echo " selected=selected"; echo '>50</option>';
                                  echo '<option value="100"'; if($number_lines=="100") echo " selected=selected"; echo '>100</option>';
                                  echo '<option value="200"'; if($number_lines=="200") echo " selected=selected"; echo '>200</option>';
                                  echo '<option value="500"'; if($number_lines=="500") echo " selected=selected"; echo '>500</option>';
                                  echo '<option value="9999"'; if($number_lines=="9999") echo " selected=selected"; echo '>9999</option>';
                                  ?>
                                  </select>
                              </div>
                          </div>
                          </form>
                      </div>
                      <div class="row">
                          <div class="col-lg-12">
                              <pre><?PHP krsort($logoutput); foreach ($logoutput as $line) { echo $line; } ?></pre>
                          </div>
                      </div>
                  </div>
              </div>
          </div>
      </body>
      </html>
      Alles anzeigen

      nox

    • [Entwicklungsthread] ArmA Control (ehem. LifeControl) - Cloud-basiertes RCON- und Supporttool für Altis Life

      • Lukas_Multi
      • 17. April 2017 um 14:32

      Sehr schön überarbeitet :)

    • Altis life "altis-life-rpg-4.ini" für 4.4

      • Lukas_Multi
      • 23. März 2017 um 20:40

      doch in der extDB2 muss die rein und die is bei mir ned da ...

    • Altis life "altis-life-rpg-4.ini" für 4.4

      • Lukas_Multi
      • 23. März 2017 um 19:05

      Weiß jemand wo ich die altis-life-rpg-4.ini für die 4.4 bekomme ?

    • Arma 3 U_Rangemaster modskinnen

      • Lukas_Multi
      • 14. März 2017 um 19:44

      Gibt es jemanden der sich damit auskennt ?

    • Problem mit den Copslots

      • Lukas_Multi
      • 11. März 2017 um 12:06

      Danke an alle!

      ich habe jetzt das vom lieben powerafro2 getestet und es aht Funktioniert!

    • Arma 3 U_Rangemaster modskinnen

      • Lukas_Multi
      • 11. März 2017 um 12:05

      Könnte mir einer helfen und mir sagen wie ich skins für die kleidung U_Rangemaster als mod einfügen kann ?

    • Problem mit den Copslots

      • Lukas_Multi
      • 10. März 2017 um 14:48

      Hallo,

      Aktuell habe ich das problem das jeder als Cop joinen kann. Ich habe erst daran rumgespilet aber leider kann man immer noch ohne Gewhitelistet zu sein Joinen.

      Weiß Jemand woran das Liegt ?


      Die fn_initCop

      Code
      #include "..\script_macros.hpp"
      /*
          File: fn_initCop.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Cop Initialization file.
      */
      private "_end";
      player addRating 9999999;
      waitUntil {!(isNull (findDisplay 46))};
      _end = false;
      
      if (life_blacklisted) exitWith {
          ["Blacklisted",false,true] call BIS_fnc_endMission;
          sleep 30;
      };
      
      if (!(str(player) in ["cop_1","cop_2","cop_3","cop_4","cop_5","cop_6","cop_7","cop_8","cop_9","cop_10","cop_11","cop_12","cop_13","cop_14","cop_15","cop_16","cop_17","cop_18","cop_19"])) then {
          if ((FETCH_CONST(life_coplevel) isEqualTo 0) && (FETCH_CONST(life_adminlevel) isEqualTo 0)) then {
              ["NotWhitelisted",false,true] call BIS_fnc_endMission;
              sleep 35;
          };
      };
      
      
      [] call life_fnc_spawnMenu;
      [] spawn life_fnc_placeablesInit;
      waitUntil{!isNull (findDisplay 38500)}; //Wait for the spawn selection to be open.
      waitUntil{isNull (findDisplay 38500)}; //Wait for the spawn selection to be done.
      [player, uniform player] call life_fnc_equipGear;
      Alles anzeigen
    • Arma 3 Modskinnen

      • Lukas_Multi
      • 9. März 2017 um 17:35

      @br1zey
      Funktioniert das ganze auch mit Kleidungen ?

      Wenn ja kannst du mir da auch ne vorgabe geben?

    • Polizei Leitstelle

      • Lukas_Multi
      • 1. März 2017 um 22:19

      Ich hab so gut wie keine ahnung ^^

    • Polizei Leitstelle

      • Lukas_Multi
      • 1. März 2017 um 22:16
      Code
      /*
          File: fn_copMarkers.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Marks cops on the map for other cops. Only initializes when the actual map is open.
      */
      private["_markers","_cops"];
      _markers = [];
      _cops = [];
      
      sleep 0.5;
      if (visibleMap) then {
          {if (side _x isEqualTo west) then {_cops pushBack _x;}} forEach playableUnits; //Fetch list of cops / blufor
      
          //Create markers
          {
              if (_x != player) then {
                  _marker = createMarkerLocal [format["%1_marker",_x],visiblePosition _x];
                  _marker setMarkerColorLocal "ColorBLUFOR";
                  _marker setMarkerTypeLocal "Mil_dot";
                  _marker setMarkerTextLocal format["%1", _x getVariable["realname",name _x]];
      
                  _markers pushBack [_marker,_x];
              };
          } forEach _cops;
      
          while {visibleMap} do {
              {
                  private["_unit"];
                  _unit = _x select 1;
                  if (!isNil "_unit" && !isNull _unit) then {
                      (_x select 0) setMarkerPosLocal (visiblePosition _unit);
                  };
              } forEach _markers;
              if (!visibleMap) exitWith {};
              sleep 0.02;
          };
      
          {deleteMarkerLocal (_x select 0);} forEach _markers;
          _markers = [];
          _cops = [];
      };
      Alles anzeigen

      So sieht die aus wie müsste das dann überarbeitet sein ?

    • Polizei Leitstelle

      • Lukas_Multi
      • 1. März 2017 um 22:11

      das hat vermutlich was mit der fn_copmarker zu tun

    • Polizei Leitstelle

      • Lukas_Multi
      • 1. März 2017 um 21:42

      Wie kann ich es anstellen das nur ein Copslot (Leitstelle) die anderen Cops auf der map sieht unter der bedingung das die Polizisten ein GPS dabei haben?

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™