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
Di: 17 Juni 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. Entwicklung & Scripting
    4. Webentwicklung
    5. HTML, CSS, PHP, JS

    GUID zu UID | Arma3

    • NiklasIT
    • 27. Juni 2016 um 20:17
    • NiklasIT
      Frischling
      Trophäen
      9
      Beiträge
      3
      • 27. Juni 2016 um 20:17
      • #1

      Guten Tag liebe Native-Network Community,
      ich bin gerade dabei ein kleines Projekt mit der RCON API zumachen. Leider habe ich festgestellt das ich die GUID zu UID ändern muss bzw. ich muss die erhaltene GUID zur UID umwandeln. Ich habe lange gesucht und gegoogelt. Ich finde leider nur converter diese die UID zur GUID umwandeln. Hat einer eine Idee wie ich das schaffe eine GUID zur UID umzuwandeln?

      Ich freu mich auf eure Hilfe, wenn noch fragen dazu bestehen. LEGT LOS!

      Mit freundlichen Grüßen
      NiklasIT - Entwickler

    • Zhavok
      Anfänger
      Reaktionen
      5
      Trophäen
      10
      Beiträge
      51
      • 27. Juni 2016 um 21:17
      • #2

      http://www.playerindex.de/check.aspx

      Da kannste uid oder guid reinschreiben und bekommst immer alles als Antwort

    • NiklasIT
      Frischling
      Trophäen
      9
      Beiträge
      3
      • 28. Juni 2016 um 02:23
      • #3

      @Zhavok, danke aber lies bitte nochmal drüber. Ich will die GUID zu UID umwandeln und nicht UID zu GUID!

    • Zhavok
      Anfänger
      Reaktionen
      5
      Trophäen
      10
      Beiträge
      51
      • 28. Juni 2016 um 08:09
      • #4

      Ja, lies auch meinen text richtig, schreib einfach die guid rein und du bekommst komplett alle Angaben zurück, eben auch die uid

    • beatzcraft
      Schüler
      Reaktionen
      64
      Trophäen
      11
      Beiträge
      140
      • 28. Juni 2016 um 12:21
      • #5
      Zitat von Zhavok

      Ja, lies auch meinen text richtig, schreib einfach die guid rein und du bekommst komplett alle Angaben zurück, eben auch die uid

      Er möchte einen eigenen Umwandler haben, um diesen in sein Projekt zu integrieren. Nicht aber eine Lösung bei der man das ganze immer auf einer Webseite eintippen muss.

      Follow me on Twitter

      Discord: beatzcraft#7859

    • Multivitamin
      aka Saft
      Reaktionen
      201
      Trophäen
      11
      Beiträge
      352
      • 28. Juni 2016 um 15:13
      • #6

      Das Problem ist ja dass das UID > GUID mittels md5 hash geregelt wird

      entweder du legst jetzt ein paar millionen einträge in deiner DB an welche schon die einzelnen SteamIDs "vorrenderst" damit du über die GUID später dann ne Query machen kannst um die UID herauszufinden
      MD5 Reverse ist soweit ich weis unmöglich bzw dauert halt ne ewigkeit

    • Multivitamin
      aka Saft
      Reaktionen
      201
      Trophäen
      11
      Beiträge
      352
      • 28. Juni 2016 um 17:38
      • #7

      Hier ein PHP Script um die Datenbank vollzuspamen mit uid + guid :P

      Ich generiere derzeit mit 230k Entries / Minute


      Spoiler anzeigen
      PHP
      <?php
      	function s64toGuid($int) {
      		$temp = '';
      		for ($i = 0; $i < 8; $i++) {
      			$temp .= chr($int & 0xFF);
      			$int >>= 8;
      		}
      		$guid = md5('BE' . $temp);
      		return $guid;
      	}
      	$conn = new mysqli('127.0.0.1', 'DATABASE_USERNAME', 'DATABASE_PASSWORD', 'DATABASE_NAME');
      	if ($conn->connect_error) {
      		echo "Could not create Database Connection: ".$conn->connect_error;
      		die();
      	}
      	$result = $conn->query("SELECT MAX(steamId64) as maxid FROM guid");
      	$steamid = $result->fetch_assoc()['maxid'];
      	if ($result->num_rows != 1 || $steamid < 76561197960265730) {
      		$steamid = 76561197960265730;
      	} else {
      		$steamid++;
      	}
      	$i = 0;
      	echo "Starting at ".$steamid."\n";
      	$stopwatch = time();
      	$last = 0;
      	while ($steamid <= 9223372036854775807) {
      		if ($stopwatch < (time() - 60)) {
      			echo "Generating with ".($i - $last)." Entries per Minute!\n";
      			$stopwatch = time();
      			$last = $i;
      		}
      		if ($i % 10000 == 0) echo "Generated ".$i." UIDs!\n";
      		if ($conn->query("INSERT INTO guid (steamId64, guid) VALUES (".$conn->escape_string($steamid).", '".$conn->escape_string(s64toGuid($steamid))."')") !== TRUE) {
      		    echo "Insert Error! ".$conn->error;
      		    die();
      		}
      		$i++;
      		$steamid++;
      	}
      Alles anzeigen

      Datenbank Struktur:

      Spoiler anzeigen
      SQL
      SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
      SET time_zone = "+00:00";
      CREATE TABLE IF NOT EXISTS `guid` (
        `id` int(11) NOT NULL,
        `steamId64` bigint(17) NOT NULL,
        `guid` varchar(32) NOT NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
      ALTER TABLE `guid`
        ADD PRIMARY KEY (`id`),
        ADD UNIQUE KEY `steamId64` (`steamId64`);
      ALTER TABLE `guid`
        MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
      Alles anzeigen

      Erstellt nur Tabelle mit dazugehöriger Struktur

    • Multivitamin
      aka Saft
      Reaktionen
      201
      Trophäen
      11
      Beiträge
      352
      • 28. Juni 2016 um 18:44
      • #8

      Nochmal ein kleines Update des PHP Scripts für mehr Meldungen:

      Spoiler anzeigen
      PHP
      <?php
      	$firstID = 76561197960265730;
      	$approxMaxId = 76561198100000000; //SOURCE http://kotaku.com/1687820875
      
      
      
      
      	function s64toGuid($int) {
      		$temp = '';
      		for ($i = 0; $i < 8; $i++) {
      			$temp .= chr($int & 0xFF);
      			$int >>= 8;
      		}
      		$guid = md5('BE' . $temp);
      		return $guid;
      	}
      
      
      
      
      	$conn = new mysqli('127.0.0.1', 'DATABASE_USER', 'DATABASE_PASSWORD', 'DATABASE_NAME');
      
      
      
      
      	if ($conn->connect_error) {
      		echo "Could not create Database Connection: ".$conn->connect_error;
      		die();
      	}
      
      
      
      
      	$result = $conn->query("SELECT MAX(steamId64) as maxid FROM guid");
      	$steamid = $result->fetch_assoc()['maxid'];
      	if ($result->num_rows != 1 || $steamid < $firstID) {
      		$steamid = $firstID;
      		echo "[".date('H:i:s')."] Starting at UID ".$steamid."\n";
      	} else {
      		$steamid++;
      		echo "[".date('H:i:s')."] Continuing with UID ".$steamid."\n";
      	}
      	$stopwatch = time();
      	$last = 0;
      	$i = 0;
      
      
      
      
      	while ($steamid <= 9223372036854775807) {
      		if ($stopwatch < (time() - 60)) {
      			echo "[".date('H:i:s')."] Generating with ".($i - $last)." Entries per Minute!\n";
      			$stopwatch = time();
      			$last = $i;
      		}
      		if ($i % 100000 == 0) echo "[".date('H:i:s')."] Generated ".(floatval($i) / 1000000)." Million UIDs!\n";
      		if ((($approxMaxId - $steamid) % 1000000) == 0) echo "[".date('H:i:s')."] ~".(($approxMaxId - $steamid) / 1000000)." Million UIDs Left to generate\n";
      		if ($conn->query("INSERT INTO guid (steamId64, guid) VALUES (".$steamid.", '".s64toGuid($steamid)."')") !== TRUE) {
      		    echo "Insert Error! ".$conn->error;
      		    die();
      		}
      		$i++;
      		$steamid++;
      	}
      Alles anzeigen

      Konsolen Output ist dann derartig

      Code
      [18:37:44] Continuing with UID 76561197975815594
      [18:37:44] Generated 0 Million UIDs!
      [18:38:06] Generated 0.1 Million UIDs!
      [18:38:24] ~124 Million UIDs Left to generate
      [18:38:27] Generated 0.2 Million UIDs!
      [18:38:45] Generating with 280837 Entries per Minute!
      [18:38:48] Generated 0.3 Million UIDs!
      [18:39:10] Generated 0.4 Million UIDs!
      [18:39:31] Generated 0.5 Million UIDs!
      [18:39:46] Generating with 284926 Entries per Minute!
      [18:39:53] Generated 0.6 Million UIDs!
      [18:40:14] Generated 0.7 Million UIDs!
      [18:40:35] Generated 0.8 Million UIDs!
      [18:40:47] Generating with 284284 Entries per Minute!
      [18:40:57] Generated 0.9 Million UIDs!
      [18:41:18] Generated 1 Million UIDs!
      [18:41:40] Generated 1.1 Million UIDs!
      [18:41:48] Generating with 285178 Entries per Minute!
      [18:41:58] ~123 Million UIDs Left to generate
      [18:42:01] Generated 1.2 Million UIDs!
      Alles anzeigen
    • Multivitamin
      aka Saft
      Reaktionen
      201
      Trophäen
      11
      Beiträge
      352
      • 28. Juni 2016 um 19:43
      • #9

      WOOOPS

      "Klitzekleiner" Performance Schub fürs generieren
      anstatt 280k Einträge pro Minute > 6 Mill Einträge pro Minute

      Spoiler anzeigen
      PHP
      <?php
              $firstID = 76561197960265730;
              $approxMaxId = 76561198100000000; //SOURCE http://kotaku.com/1687820875
      
      
      
      
              function s64toGuid($int) {
                      $temp = '';
                      for ($i = 0; $i < 8; $i++) {
                              $temp .= chr($int & 0xFF);
                              $int >>= 8;
                      }
                      $guid = md5('BE' . $temp);
                      return $guid;
              }
      
      
      
      
              $conn = new mysqli('127.0.0.1', 'DATABASE_USER', 'DATABASE_PASSWORD', 'DATABASE_NAME');
      
      
      
      
              if ($conn->connect_error) {
                      echo "Could not create Database Connection: ".$conn->connect_error;
                      die();
              }
      
      
      
      
              $result = $conn->query("SELECT MAX(steamId64) as maxid FROM guid");
              $steamid = $result->fetch_assoc()['maxid'];
              if ($result->num_rows != 1 || $steamid < $firstID) {
                      $steamid = $firstID;
                      echo "[".date('H:i:s')."] Starting at UID ".$steamid."\n";
              } else {
                      $steamid++;
                      echo "[".date('H:i:s')."] Continuing with UID ".$steamid."\n";
              }
              $stopwatch = time();
              $last = 0;
              $i = 0;
      
      
      
      
              $base_sql = "INSERT INTO guid (steamId64, guid) VALUES ";
              $sql = "";
      
      
      
      
              while ($steamid <= 9223372036854775807) {
                      if ($stopwatch < (time() - 60)) {
                              echo "[".date('H:i:s')."] Generating with ".($i - $last)." Entries per Minute!\n";
                              $stopwatch = time();
                              $last = $i;
                      }
                      if ($i % 100000 == 0) echo "[".date('H:i:s')."] Generated ".(floatval($i) / 1000000)." Million UIDs!\n";
                      if ((($approxMaxId - $steamid) % 1000000) == 0) echo "[".date('H:i:s')."] ~".(($approxMaxId - $steamid) / 1000000)." Million UIDs Left to generate\n";
                      $sql .= "(".$steamid.", '".s64toGuid($steamid)."')";
                      if ($i % 500 == 0) {
                      	if ($conn->query($base_sql.$sql) !== TRUE) {
                      		echo $base_sql.$sql."\n\n";
      	                    echo "Insert Error! ".$conn->error;
      	                    die();
      	                } else {
      	                	$sql = "";
      	                }
                      } else {
                      	$sql .= ",";
                      }
                      $i++;
                      $steamid++;
              }
      Alles anzeigen
    • Zhavok
      Anfänger
      Reaktionen
      5
      Trophäen
      10
      Beiträge
      51
      • 28. Juni 2016 um 20:06
      • #10

      aso ja sry, hatte den text nur überflogen XD

    • Multivitamin
      aka Saft
      Reaktionen
      201
      Trophäen
      11
      Beiträge
      352
      • 28. Juni 2016 um 22:53
      • #11

      sodele :D

      ich hab jetzt halbwegs ne API zusammen gebaut ;)
      erreichbar unter converter.multivitamin.wtf
      ihr könnt entweder die SteamID64 angeben oder die Battleye GUID um jeweils das gegenüber liegende zu bekommen

      By SteamID64:

      Code
      GET REQUEST: http://converter.multivitamin.wtf/76561198032854208
      JSON RESPONSE: {"error":null,"data":{"guid":"cd0bee234b4419e60618a708029585e8","SteamID64":"76561198032854208"}}


      By Battleye GUID:

      Code
      GET REQUEST: http://converter.multivitamin.wtf/cd0bee234b4419e60618a708029585e8
      JSON RESPONSE: {"error":null,"data":{"guid":"cd0bee234b4419e60618a708029585e8","SteamID64":"76561198032854208"}}

      Was spricht gegen eine solch große Datenbank selber zu hosten?
      Die Datenbank hat derzeit eine Gesamtdatenmenge von mehr als 160 Millionen Datensätzen und hat eine stolze größe von 12,6 Gigabyte
      Durch falsche Indexierungen kann es sein dass eine einfache Query mehrere !!MINUTEN!! benötigt bis diese durchlaufen ist!

      Die zusammensetzung der Daten dauert etwa bei einer Leistung von 6 Millionen Daten pro Minute ca 30 Minuten
      Die nachträgliche Indexierung und Unique Wert festlegung sowie Änderung der Kollation der GUID benötigte an die 60 Minuten Rechenzeit.


      //EDIT: Nachträgliche Eintragungen der Datenbank dauern wesentlich länger durch die Indexierung des GUID Wertes derzeitige Schreibleistung von neuen Datensätzen 3000 - 3500 Einträge pro Minute (50 / Sekunde)

    • NiklasIT
      Frischling
      Trophäen
      9
      Beiträge
      3
      • 29. Juni 2016 um 16:09
      • #12

      Cool danke :3

      Bedanke mich dafür
      Multivitamin

    • Rodney McKay
      Frischling
      Trophäen
      8
      Beiträge
      1
      • 16. Juli 2016 um 12:47
      • #13

      Ich habe 400 Mio GUIDS und Steam 64 IDs in eine SSDB (Redis) geschrieben. hat ungefähr 20 Minuten gedauert die DB zu erstellen, läuft im Ram und braucht etwas 12 GB RAM.

      Über einen Redis Client (auch in PHP verfügbar) kann man über die GUID dann einfach die Steam 64 ID abrufen.
      Updates sind nicht notwendig, da es "nur" 400 Mio GUIDs gibt und diese sich nicht ändern.

    • Multivitamin
      aka Saft
      Reaktionen
      201
      Trophäen
      11
      Beiträge
      352
      • 16. Juli 2016 um 13:56
      • #14

      Naja ich lass sie halt Indexiert über meine HDD Raid laufen, braucht zwar ca 30G Platz auf der Platte für 200 Mio UIDs aber dafür benötigt die keinen Platz im Ram
      Ram ist da um ein vielfaches teuerer als wie der Platz auf der HDD
      Und mit der Indexierung ist die halt ein paar millisekunden langsamer als wie deine RAM DB

      Mittlerweile würde ich die DB Struktur auch leicht anders machen, man könnte im Prinzip auf die "ID" Reihe verzichten dann würde der warscheinlich 20-30% weniger Speicherplatz brauchen

    • Panthor Life
      Fortgeschrittener
      Reaktionen
      190
      Trophäen
      10
      Beiträge
      167
      Bilder
      51
      • 13. November 2016 um 23:49
      • #15

      Also irgendwie fehlen da eine ganze Menge.
      Nur mal ein Beispiel:

      64: 76561198328423607

      GUID: 13ed512aabbd1b49b49e2cb8764afec4


      Code
      GET https://converter.multivitamin.wtf/13ed512aabbd1b49b49e2cb8764afec4
      Code
      {"error":"No Entry for this guid found!","data":null}

      Einer von diesen Arma 3 Servern. https://panthor.de/

    • Multivitamin
      aka Saft
      Reaktionen
      201
      Trophäen
      11
      Beiträge
      352
      • 14. November 2016 um 05:51
      • #16

      derzeit sind 220 mio ids eingetragen, es gibt jedoch um die 350 mio, da ich die platte datenbank vm zu knapp bemossen hab sind da nur 100G zugewiesen und der derzeitig verwendete platz ist bei rund 60G durch die Indexierung

      Ich werde ab Dezember bzw Jänner sowieso auf eine Hetzner Kiste umsteigen, dann werd ich dieses Problem aus der Welt schaffen^^

    • Multivitamin
      aka Saft
      Reaktionen
      201
      Trophäen
      11
      Beiträge
      352
      • 3. Dezember 2016 um 23:40
      • #17

      mittlerweile hat die API nun ein bisschen mehr als 1 Mrd UIDs gespeichert, die Gesamt Größe beträgt 124,7GB und die Response Zeit der Seite sollte nicht mehr als 0,1 Sekunde betragen

    • Panthor Life
      Fortgeschrittener
      Reaktionen
      190
      Trophäen
      10
      Beiträge
      167
      Bilder
      51
      • 4. Dezember 2016 um 13:52
      • #18

      Danke :D

      Einer von diesen Arma 3 Servern. https://panthor.de/

    • nox 11. Mai 2025 um 17:52

      Hat das Thema aus dem Forum PHP nach HTML, CSS, PHP, JS verschoben.

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Ähnliche Themen

    • Fehler mit BEC "No Valid response. Trying to reconnect"

      • Ligerr
      • 23. August 2017 um 00:17
      • Hilfeforum
    • BEC installieren,Aber wie ?

      • Dovkeizz
      • 28. Juli 2017 um 14:52
      • Hilfeforum
    • BEC Trying to reconnect

      • TaktischerSpeck
      • 3. Mai 2017 um 17:34
      • Hilfeforum
    • Altis 4.4 R3 neue Items erstellen

      • Drumper
      • 13. Januar 2017 um 08:49
      • Hilfeforum
    • Problem beim Scripten mit Filezilla

      • Tekaru
      • 19. November 2016 um 17:29
      • Hilfeforum

    Tags

    • Arma3
    • Guides
    • RCon
    • Steam
    • guid
    • uid

    Benutzer online in diesem Thema

    • 6 Besucher

    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™