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
So: 18 Mai 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • 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. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Hilfeforum

    Datenbank ? SaveGear ?

    • Leokadia
    • 19. Dezember 2016 um 18:34
    • Geschlossen
    • Erledigt
    • nox
      Administrator
      Reaktionen
      1.861
      Trophäen
      11
      Artikel
      2
      Beiträge
      1.866
      Dateien
      36
      Bilder
      11
      • 22. Dezember 2016 um 14:57
      • Offizieller Beitrag
      • #21
      Zitat von powerafro2

      Melde dich mal im Native ts. Bin heute Dauer-Online ab jetzt. Einfach anschreiben. Dann schau ich mal drüber.


      Falls ihr es löst dann gerne hier posten... ;)

      Wichtige Links:

      [Erklärung|Leitfaden] Arma 3 Logs - Client, Server & extDB Log
      [Tutorial] ArmA 3 Altis Life RPG & Tanoa Life RPG Server einrichten unter Windows (mit extDB & BEC)
      BattlEye Filter - Guide und Erklärungen

      • Vorheriger offizieller Beitrag
    • Leokadia
      Amateur
      Reaktionen
      17
      Trophäen
      10
      Beiträge
      225
      • 22. Dezember 2016 um 21:31
      • #22

      @Rom Weist du an was das liegen kann ? Kann es vill. doch an dem Perso liegen ?

      Frohe Weihnachten santa

    • Rom
      Kenner
      Reaktionen
      156
      Beiträge
      533
      • 22. Dezember 2016 um 22:23
      • #23

      Der Perso hat damit Glücklicherweise nichts am Hut ;)

      Die wunderschöne Markierung mal vernachlässigen ;)
      Es kann sein, dass das irgendwo aufgerufen wird, und wenn Parameter fehlerhaft sind (falscher Datentyp oder nil/nicht vorhanden), dann wird der Standartwert genommen. Da kommen deine 5000 her

      Wenn ich etwas missverstanden habe, hoppala

    • Leokadia
      Amateur
      Reaktionen
      17
      Trophäen
      10
      Beiträge
      225
      • 22. Dezember 2016 um 22:28
      • #24
      Zitat von Rom

      Der Perso hat damit Glücklicherweise nichts am Hut ;)

      Die wunderschöne Markierung mal vernachlässigen ;)
      Es kann sein, dass das irgendwo aufgerufen wird, und wenn Parameter fehlerhaft sind (falscher Datentyp oder nil/nicht vorhanden), dann wird der Standartwert genommen. Da kommen deine 5000 her

      Das mit den 5000 ist gefixt. Aber Das wenn die Alt+F4 Drücken dass die dann keine Sachen mehr haben usw.

      Frohe Weihnachten santa

    • Rom
      Kenner
      Reaktionen
      156
      Beiträge
      533
      • 22. Dezember 2016 um 22:29
      • #25

      Gibt es einen versteckten Key-Handler mit ALT+F4 der dein Gear wegen "rage quit" entfernt?

      Wenn ich etwas missverstanden habe, hoppala

    • Leokadia
      Amateur
      Reaktionen
      17
      Trophäen
      10
      Beiträge
      225
      • 22. Dezember 2016 um 23:09
      • #26
      Zitat von Rom

      Gibt es einen versteckten Key-Handler mit ALT+F4 der dein Gear wegen "rage quit" entfernt?

      Ich glaube nicht. auch wenn jemand Disconnectet also durch ein Restart gekickt wird dann verliert er seine sachen.

      Frohe Weihnachten santa

    • powerafro2
      Profi
      Reaktionen
      357
      Trophäen
      11
      Beiträge
      1.342
      Dateien
      1
      Bilder
      4
      • 23. Dezember 2016 um 14:28
      • #27

      Habe noch eine Idee.

      Vielleicht hilft das mal in der fn_escInterupt.sqf  mach aber ein Backup!

      Code
      #include <macro.h>
      /*
      	File: fn_escInterupt.sqf
      	Author: Bryan "Tonic" Boardwine
      
      	Description:
      	Monitors when the ESC menu is pulled up and blocks off
      	certain controls when conditions meet.
      */
      private["_abortButton","_respawnButton","_fieldManual","_escSync","_canUseControls"];
      disableSerialization;
      
      
      
      
      _escSync = {
      	private["_abortButton","_thread","_syncManager"];
      	disableSerialization;
      
      	_syncManager = {
      		disableSerialization;
      		private["_abortButton","_timeStamp"];
      		_abortButton = CONTROL(49,104);
      		_timeStamp = time + 10;
      
      		waitUntil {
      			_abortButton ctrlSetText format[localize "STR_NOTF_AbortESC",[(_timeStamp - time),"SS.MS"] call BIS_fnc_secondsToString];
      			_abortButton ctrlCommit 0;
      			round(_timeStamp - time) <= 0 || isNull (findDisplay 49)
      		};
      
      		_abortButton ctrlSetText localize "STR_DISP_INT_ABORT";
      		_abortButton ctrlCommit 0;
      	};
      
      	_abortButton = CONTROL(49,104);
      	[] call SOCK_fnc_updateRequest; 
      
      	if(_this) then {
      		_thread = [] spawn _syncManager;
      		waitUntil{scriptDone _thread OR isNull (findDisplay 49)};
      		_abortButton ctrlEnable true;
      	};
      };
      
      
      
      
      _canUseControls = {
      	if(playerSide == west) exitWith {true};
      	if((player GVAR ["restrained",FALSE]) OR (player GVAR ["Escorting",FALSE]) OR (player GVAR ["transporting",FALSE]) OR (life_is_arrested) OR (life_istazed)) then {false} else {true};
      };
      
      while {true} do
      {
      	waitUntil{!isNull (findDisplay 49)};
      	_abortButton = CONTROL(49,104);
      	_abortButton buttonSetAction "[[player],""TON_fnc_cleanupRequest"",false,false] call life_fnc_MP";
      	_respawnButton = CONTROL(49,1010);
      	_fieldManual = CONTROL(49,122);
      
      	//Block off our buttons first.
      	_abortButton ctrlEnable false;
      	_respawnButton ctrlEnable false;
      	_fieldManual ctrlEnable false; 
      
      	_usebleCtrl = call _canUseControls;
      	_usebleCtrl spawn _escSync;
      	if(_usebleCtrl) then {
      		_respawnButton ctrlEnable true;
      	};
      	waitUntil{isNull (findDisplay 49)};
      };
      Alles anzeigen

      Mfg powerafro2

    • Leokadia
      Amateur
      Reaktionen
      17
      Trophäen
      10
      Beiträge
      225
      • 23. Dezember 2016 um 14:36
      • #28
      Zitat von powerafro2

      Habe noch eine Idee.

      Vielleicht hilft das mal in der fn_escInterupt.sqf  mach aber ein Backup!

      Code
      #include <macro.h>
      /*
      	File: fn_escInterupt.sqf
      	Author: Bryan "Tonic" Boardwine
      	Description:
      	Monitors when the ESC menu is pulled up and blocks off
      	certain controls when conditions meet.
      */
      private["_abortButton","_respawnButton","_fieldManual","_escSync","_canUseControls"];
      disableSerialization;
      
      
      
      
      _escSync = {
      	private["_abortButton","_thread","_syncManager"];
      	disableSerialization;
      	_syncManager = {
      		disableSerialization;
      		private["_abortButton","_timeStamp"];
      		_abortButton = CONTROL(49,104);
      		_timeStamp = time + 10;
      		waitUntil {
      			_abortButton ctrlSetText format[localize "STR_NOTF_AbortESC",[(_timeStamp - time),"SS.MS"] call BIS_fnc_secondsToString];
      			_abortButton ctrlCommit 0;
      			round(_timeStamp - time) <= 0 || isNull (findDisplay 49)
      		};
      		_abortButton ctrlSetText localize "STR_DISP_INT_ABORT";
      		_abortButton ctrlCommit 0;
      	};
      	_abortButton = CONTROL(49,104);
      	[] call SOCK_fnc_updateRequest; 
      	if(_this) then {
      		_thread = [] spawn _syncManager;
      		waitUntil{scriptDone _thread OR isNull (findDisplay 49)};
      		_abortButton ctrlEnable true;
      	};
      };
      
      
      
      
      _canUseControls = {
      	if(playerSide == west) exitWith {true};
      	if((player GVAR ["restrained",FALSE]) OR (player GVAR ["Escorting",FALSE]) OR (player GVAR ["transporting",FALSE]) OR (life_is_arrested) OR (life_istazed)) then {false} else {true};
      };
      while {true} do
      {
      	waitUntil{!isNull (findDisplay 49)};
      	_abortButton = CONTROL(49,104);
      	_abortButton buttonSetAction "[[player],""TON_fnc_cleanupRequest"",false,false] call life_fnc_MP";
      	_respawnButton = CONTROL(49,1010);
      	_fieldManual = CONTROL(49,122);
      	//Block off our buttons first.
      	_abortButton ctrlEnable false;
      	_respawnButton ctrlEnable false;
      	_fieldManual ctrlEnable false; 
      	_usebleCtrl = call _canUseControls;
      	_usebleCtrl spawn _escSync;
      	if(_usebleCtrl) then {
      		_respawnButton ctrlEnable true;
      	};
      	waitUntil{isNull (findDisplay 49)};
      };
      Alles anzeigen

      Werde ich gleichmal ausprobieren :)

      Frohe Weihnachten santa

    • Leokadia
      Amateur
      Reaktionen
      17
      Trophäen
      10
      Beiträge
      225
      • 23. Dezember 2016 um 19:56
      • #29

      @powerafro2

      Es Geht immer noch nicht, bei den Cops funktioniert es. bei den Ziv´s nicht.

      Frohe Weihnachten santa

    • powerafro2
      Profi
      Reaktionen
      357
      Trophäen
      11
      Beiträge
      1.342
      Dateien
      1
      Bilder
      4
      • 23. Dezember 2016 um 19:59
      • #30

      Hmm, Dann hätte ich so auch keine Lösung mehr. Einzigste Möglichkeit wäre das ich noch meine fn_saveGear hier reinschicke.

      Mach aber wieder ein Backup.

      Code
      #include <macro.h>
      /*
          File: fn_saveGear.sqf
          Author: Bryan "Tonic" Boardwine
          Full Gear/Y-Menu Save by Vampire
          Edited: Itsyuka
      
          Description:
          Saves the players gear for syncing to the database for persistence..
      */
      private["_return","_uItems","_bItems","_vItems","_pItems","_hItems","_yItems","_uMags","_vMags","_bMags","_pMag","_hMag","_uni","_ves","_bag","_handled"];
      _return = [];
      
      
      
      
      _return pushBack uniform player;
      _return pushBack vest player;
      _return pushBack backpack player;
      _return pushBack goggles player;
      _return pushBack headgear player;
      _return pushBack assignedITems player;
      if(playerSide == west || playerSide == civilian && {EQUAL(LIFE_SETTINGS(getNumber,"save_civ_weapons"),1)}) then {
          _return pushBack RIFLE;
          _return pushBack PISTOL;
      } else {
          _return pushBack [];
          _return pushBack [];
      };
      
      
      
      
      _uItems = [];
      _uMags  = [];
      _bItems = [];
      _bMags  = [];
      _vItems = [];
      _vMags  = [];
      _pItems = [];
      _hItems = [];
      _yItems = [];
      _uni = [];
      _ves = [];
      _bag = [];
      
      
      
      
      if(!(EQUAL(uniform player,""))) then {
          {
              if (_x in (magazines player)) then {
      			ADD(_uMags,[_x]);
              } else {
                  ADD(_uItems,[_x]);
              };
          } forEach (uniformItems player);
      };
      
      
      
      
      if(!(EQUAL(backpack player,""))) then {
          {
              if (_x in (magazines player)) then {
      			ADD(_bMags,[_x]);
              } else {
      			ADD(_bItems,[_x]);
              };
          } forEach (backpackItems player);
      };
      
      
      
      
      if(!(EQUAL(vest player,""))) then {
          {
              if (_x in (magazines player)) then {
      			ADD(_vMags,[_x]);
              } else {
      			ADD(_vItems,[_x]);
              };
          } forEach (vestItems player);
      };
      
      
      
      
      if(count (primaryWeaponMagazine player) > 0 && alive player) then {
          _pMag = SEL((primaryWeaponMagazine player),0);
      
          if(!(EQUAL(_pMag,""))) then {
              _uni = player canAddItemToUniform _pMag;
              _ves = player canAddItemToVest _pMag;
              _bag = player canAddItemToBackpack _pMag;
              _handled = false;
      
              if(_ves) then {
      			ADD(_vMags,[_pMag]);
                  _handled = true;
              };
      
              if(_uni && !_handled) then {
      			ADD(_uMags,[_pMag]);
                  _handled = true;
              };
      
              if(_bag && !_handled) then {
      			ADD(_bMags,[_pMag]);
                  _handled = true;
              };
          };
      };
      
      
      
      
      if(count (handgunMagazine player) > 0 && alive player) then {
          _hMag = ((handgunMagazine player) select 0);
      
          if(!(EQUAL(_hMag,""))) then {
              _uni = player canAddItemToUniform _hMag;
              _ves = player canAddItemToVest _hMag;
              _bag = player canAddItemToBackpack _hMag;
              _handled = false;
      
              if(_ves) then {
      			ADD(_vMags,[_hMag]);
                  _handled = true;
              };
      
              if(_uni && !_handled) then {
      			ADD(_uMags,[_hMag]);
                  _handled = true;
              };
      
              if(_bag && !_handled) then {
                  ADD(_uMags,[_hMag]);
                  _handled = true;
              };
          };
      };
      
      
      
      
      if(count (RIFLE_ITEMS) > 0) then {
          {
      		ADD(_pItems,[_x]);
          } forEach (primaryWeaponItems player);
      };
      
      
      
      
      if(count (PISTOL_ITEMS) > 0) then {
          {
      		ADD(_hItems,[_x]);
          } forEach (handGunItems player);
      };
      
      
      
      
      {
      	//if(ITEM_VALUE(configName _x) > 0) then {
          _val = ITEM_VALUE(_x);
      
          if (_val > 0) then {
      		_yItems pushBack [_x,_val];
          };
      } forEach LIFE_SETTINGS(getArray,"allowedSavedVirtualItems");
      
      
      
      
      
      
      
      _return pushBack _uItems;
      _return pushBack _uMags;
      _return pushBack _bItems;
      _return pushBack _bMags;
      _return pushBack _vItems;
      _return pushBack _vMags;
      _return pushBack _pItems;
      _return pushBack _hItems;
      //if(EQUAL(LIFE_SETTINGS(getNumber,"save_virtualItems"),1)) then {
      _return pushBack _yItems;
      //} else {
      //    _return pushBack []; 
      //};
      
      
      
      
      life_gear = _return;
      Alles anzeigen

      Mfg powerafro2

    • Leokadia
      Amateur
      Reaktionen
      17
      Trophäen
      10
      Beiträge
      225
      • 23. Dezember 2016 um 20:09
      • #31
      Zitat von powerafro2

      Hmm, Dann hätte ich so auch keine Lösung mehr. Einzigste Möglichkeit wäre das ich noch meine fn_saveGear hier reinschicke.

      Mach aber wieder ein Backup.

      Code
      #include <macro.h>
      /*
          File: fn_saveGear.sqf
          Author: Bryan "Tonic" Boardwine
          Full Gear/Y-Menu Save by Vampire
          Edited: Itsyuka
          Description:
          Saves the players gear for syncing to the database for persistence..
      */
      private["_return","_uItems","_bItems","_vItems","_pItems","_hItems","_yItems","_uMags","_vMags","_bMags","_pMag","_hMag","_uni","_ves","_bag","_handled"];
      _return = [];
      
      
      
      
      _return pushBack uniform player;
      _return pushBack vest player;
      _return pushBack backpack player;
      _return pushBack goggles player;
      _return pushBack headgear player;
      _return pushBack assignedITems player;
      if(playerSide == west || playerSide == civilian && {EQUAL(LIFE_SETTINGS(getNumber,"save_civ_weapons"),1)}) then {
          _return pushBack RIFLE;
          _return pushBack PISTOL;
      } else {
          _return pushBack [];
          _return pushBack [];
      };
      
      
      
      
      _uItems = [];
      _uMags  = [];
      _bItems = [];
      _bMags  = [];
      _vItems = [];
      _vMags  = [];
      _pItems = [];
      _hItems = [];
      _yItems = [];
      _uni = [];
      _ves = [];
      _bag = [];
      
      
      
      
      if(!(EQUAL(uniform player,""))) then {
          {
              if (_x in (magazines player)) then {
      			ADD(_uMags,[_x]);
              } else {
                  ADD(_uItems,[_x]);
              };
          } forEach (uniformItems player);
      };
      
      
      
      
      if(!(EQUAL(backpack player,""))) then {
          {
              if (_x in (magazines player)) then {
      			ADD(_bMags,[_x]);
              } else {
      			ADD(_bItems,[_x]);
              };
          } forEach (backpackItems player);
      };
      
      
      
      
      if(!(EQUAL(vest player,""))) then {
          {
              if (_x in (magazines player)) then {
      			ADD(_vMags,[_x]);
              } else {
      			ADD(_vItems,[_x]);
              };
          } forEach (vestItems player);
      };
      
      
      
      
      if(count (primaryWeaponMagazine player) > 0 && alive player) then {
          _pMag = SEL((primaryWeaponMagazine player),0);
          if(!(EQUAL(_pMag,""))) then {
              _uni = player canAddItemToUniform _pMag;
              _ves = player canAddItemToVest _pMag;
              _bag = player canAddItemToBackpack _pMag;
              _handled = false;
              if(_ves) then {
      			ADD(_vMags,[_pMag]);
                  _handled = true;
              };
              if(_uni && !_handled) then {
      			ADD(_uMags,[_pMag]);
                  _handled = true;
              };
              if(_bag && !_handled) then {
      			ADD(_bMags,[_pMag]);
                  _handled = true;
              };
          };
      };
      
      
      
      
      if(count (handgunMagazine player) > 0 && alive player) then {
          _hMag = ((handgunMagazine player) select 0);
          if(!(EQUAL(_hMag,""))) then {
              _uni = player canAddItemToUniform _hMag;
              _ves = player canAddItemToVest _hMag;
              _bag = player canAddItemToBackpack _hMag;
              _handled = false;
              if(_ves) then {
      			ADD(_vMags,[_hMag]);
                  _handled = true;
              };
              if(_uni && !_handled) then {
      			ADD(_uMags,[_hMag]);
                  _handled = true;
              };
              if(_bag && !_handled) then {
                  ADD(_uMags,[_hMag]);
                  _handled = true;
              };
          };
      };
      
      
      
      
      if(count (RIFLE_ITEMS) > 0) then {
          {
      		ADD(_pItems,[_x]);
          } forEach (primaryWeaponItems player);
      };
      
      
      
      
      if(count (PISTOL_ITEMS) > 0) then {
          {
      		ADD(_hItems,[_x]);
          } forEach (handGunItems player);
      };
      
      
      
      
      {
      	//if(ITEM_VALUE(configName _x) > 0) then {
          _val = ITEM_VALUE(_x);
          if (_val > 0) then {
      		_yItems pushBack [_x,_val];
          };
      } forEach LIFE_SETTINGS(getArray,"allowedSavedVirtualItems");
      
      
      
      
      
      
      
      _return pushBack _uItems;
      _return pushBack _uMags;
      _return pushBack _bItems;
      _return pushBack _bMags;
      _return pushBack _vItems;
      _return pushBack _vMags;
      _return pushBack _pItems;
      _return pushBack _hItems;
      //if(EQUAL(LIFE_SETTINGS(getNumber,"save_virtualItems"),1)) then {
      _return pushBack _yItems;
      //} else {
      //    _return pushBack []; 
      //};
      
      
      
      
      life_gear = _return;
      Alles anzeigen

      Teste es Direkt!

      Frohe Weihnachten santa

    • Leokadia
      Amateur
      Reaktionen
      17
      Trophäen
      10
      Beiträge
      225
      • 23. Dezember 2016 um 23:31
      • #32

      @powerafro2 User Haben trotzdem probleme. mh..

      Frohe Weihnachten santa

    • powerafro2
      Profi
      Reaktionen
      357
      Trophäen
      11
      Beiträge
      1.342
      Dateien
      1
      Bilder
      4
      • 23. Dezember 2016 um 23:38
      • #33

      Dann tut es mir Leid dann bin ich raus. Hatte so ein Problem noch nie...

      Mfg powerafro2

    • Leokadia
      Amateur
      Reaktionen
      17
      Trophäen
      10
      Beiträge
      225
      • 24. Dezember 2016 um 11:23
      • #34
      Zitat von powerafro2

      Dann tut es mir Leid dann bin ich raus. Hatte so ein Problem noch nie...

      .....

      Frohe Weihnachten santa

    • Rom
      Kenner
      Reaktionen
      156
      Beiträge
      533
      • 24. Dezember 2016 um 12:15
      • #35

      Also eine Idee hätte ich noch (nicht getestet):

      • Du brauchst die Datai life_server\Functions\MySQL\fn_updateRequest.sqf
      • Entweder du hast das zu sehen _bank = [_this,4,5000,[0]] call BIS_fnc_param;

        • oder als param[ [xxx] ];
      • Mein Vorschlag: Ändere die 5000 zu -1

        • Also Bspw. so _bank = [_this,4,-1,[0]] call BIS_fnc_param;
        • -1: Ist ein Standardwert, wenn nicht definiert
        • bei _cash auch die 0 auf -1 setzen, ist die Position wie bei _bank - 5000
      • Jetzt zur Überprüfung:

        • Unter if((_uid == "") OR (_name == "")) exitWith {}; das hier einfügen:
        • if ((_gear isEqualTo []) || (_licenses isEqualTo []) || (_bank < 0) || (_cash < 0)) exitWith {}; // << Abbruch?
        • Die Überprüfung soll dafür sorgen, dass die Werte nicht zurückgesetzt werden, wenn keine oder "fehlerhafte" Übermittelt werden/wurden

      Wenn das auch nicht geht, weiß ich auch nicht weiter.

      Wenn ich etwas missverstanden habe, hoppala

    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™