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: 20 Juli 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. nflug

    Beiträge von nflug

    • Möbelstücke in ein Haus Platzieren (Housing)

      • nflug
      • 8. Januar 2017 um 21:57
      Zitat von br1zey

      dan sage ich nur eine neue Spalte in der DB ??? da wilst du dan das object,Pos,drehung,ext speichern dazu musst du das nach Server Restart weider aus der DB Holen und richtig setzten

      wer sich damit auskennt wird es hinbekommen aber das ist doch ein gewisser aufwand

      Es ist das Original selbe wie eine Kiste. Nur das man diese nicht öffnen soll. Somit sind alle Scripts bereits vorhanden und man muss "sozusagen" diese nur vom Code her kopieren.

    • Möbelstücke in ein Haus Platzieren (Housing)

      • nflug
      • 8. Januar 2017 um 21:48
      Zitat von br1zey

      ICh denke auch das dir hier keiner eine GEanu Anleitung dazu schreibt wobei das doch schon etwas mehr Arbeit ist

      Über die ganzen vorhandenen AltisLife Scripts ist das eigentlich ganz akzeptabel einfach. Wie @blackfisch schon sagte: Er erstellt einfach nur ein neues Item wie eine Kiste, dies platziert er dann mit den meisten Vorhandenen Abfragen in einem neuen Script und setzt dies in eine neue Spalte in der Datenbank Unters Housing. So kann er dann auch jederzeit ein Limit setzen.

    • [TUTORIAL] Flug/Fahrzeug Händler mit 3D Ansicht und eigenen Skins.

      • nflug
      • 7. Januar 2017 um 18:03
      Zitat von GermanBolle

      Hallo Leute,

      Kann mir einer weiter helfen.

      Ich weis nicht wie ich diesen Fehler behoben bekomme.

      14:53:26 Error in expression <m","_azimuthCam"];


      waitUntil {!isNull life_preview_3D_vehicle_object};


      _objec>
      14:53:26 Error position: <life_preview_3D_vehicle_object};


      _objec>
      14:53:26 Error Nicht definierte Variable in Ausdruck: life_preview_3d_vehicle_object
      14:53:26 File mpmissions\Hehe_Community.uhao\core\functions\fn_vehicleShopInit3DPreview.sqf, line 36

      Alles anzeigen

      Schritt 3 vergessen?

    • Containerverleih buggt

      • nflug
      • 31. Dezember 2016 um 13:35

      Dürfte ich fragen wo du das her hast? Kommt mir nämlich sehr bekannt vor von verschiedenen Servern. Dennoch werde ich dir einen Tipp geben. Schonmal nach gesehen wo das T Inventar aufgerufen wird ^^. #Entfernt (4.7. Vorwürfe und Kritik)

    • Drogen

      • nflug
      • 31. Dezember 2016 um 13:24
      Zitat von AmaZiinG

      Sry die Dateien werde ich nicht posten.

      Ok das ist natürlich deine Entscheidung aber so können wir dir nicht helfen. Und es sind doch ehh die Standart Altislife Datein die einen HPP Dialog aufrufen die Rechte setzten und vlt noch den Text??

    • Uniformen Texturieren via Script/Funktion (Rucksack unsichtbar machen optional!)

      • nflug
      • 29. Dezember 2016 um 20:36

      Du brauchst auch nicht Abfragen ob der Jenige CIV ist weil die Lizenz ja ehh nur für Zivilisten ost

    • Drogen

      • nflug
      • 29. Dezember 2016 um 19:51
      Zitat von AmaZiinG

      Alles ich kann auch auf nix mehr drücken.

      dann bräuchten wir einmal die Datei die das Menü öffnet und die, die es updated

    • Drogen

      • nflug
      • 29. Dezember 2016 um 19:30

      Nach allen Effekten oder nur bestimmten?

    • Drogen

      • nflug
      • 29. Dezember 2016 um 19:27

      Neue Apps und der Text ist weg oder was genau ?

    • Drogen

      • nflug
      • 29. Dezember 2016 um 19:23

      Was heißt zMenü verbuggt?

    • Bewerbung als Moderator

      • nflug
      • 29. Dezember 2016 um 15:29

      Oder NoxHandy :rolleyes: :D

    • Frage zum Distrikt 41 Script

      • nflug
      • 28. Dezember 2016 um 18:12

      Du könntest ja mal die Logs anhängen :whistling:

    • C# Arma3 Server Information

      • nflug
      • 26. Dezember 2016 um 02:12
      Zitat von Jonas

      Hab noch nicht damit gearbeitet, aber beim zweiten laden kommt das als json string raus: {"status":true,"description":"ZoGGaZ_Altis_Life","players":18,"max_players":100,"dedicated":true,"password":false,"game_version":"1.66.139494","game_port":2302,"map":"Altis","name":"[GER] A3ZL Modded RP Server|www.ZoGGaZ.de"}

      Danke Problem hat sich geregelt.
      Lösung: QueryMaster - Home
      Vielen Dank nochmal an die Hilfe von @Pac

    • C# Arma3 Server Information

      • nflug
      • 25. Dezember 2016 um 23:15
      Zitat von Jonas

      Eine API von Bohemia: https://units.arma3.com/resource/server?ip_address=37.187.163.189&port=2302

      Ps. musst die Seite nur zwei mal laden

      Lg

      Vielen Dank erstmal.
      Weiß du auch wie ich darauf zugreife?
      Ich meine das ist ja kein Dokument.

    • C# Arma3 Server Information

      • nflug
      • 25. Dezember 2016 um 22:11

      Steam.exe

    • C# Arma3 Server Information

      • nflug
      • 25. Dezember 2016 um 22:08
      Zitat von Greeny

      SourceQuery hat keinerlei unique key für die Spieler (Nur Namen)

      Wenn du irgendeine Form von Steam Login haben willst wirst du an einem webbackend nicht vorbeikommen da du dafür OpenID benutzen musst.

      Wäre es nicht möglich diese ganzen Informationen von dem offenen Steam zu bekommen?

    • C# Arma3 Server Information

      • nflug
      • 25. Dezember 2016 um 21:57
      Zitat von Greeny

      Für Onlinestatus von Spielern würde ich eher rcon benutzen.


      Die Informationen die Ich haben will:

      Server Online?
      Wie viele Spieler?
      Name/Motd?

      SteamID des Spielers im Launcher (Mit Steam Login)?

      Dafür wäre mir RCON zu unsicher und würde ich für das Projekt auch nicht bereitgestellt bekommen. Es gibt bestimmt eine andere Lösung mit NuGets

    • C# Arma3 Server Information

      • nflug
      • 25. Dezember 2016 um 17:59

      Vlt weiß @Pac ja was :D

    • C# Arma3 Server Information

      • nflug
      • 25. Dezember 2016 um 17:57

      Danke für die Antworten. Aber die Daten wollte ich lieber irgendwie über die Steam Query bekommen da GameTracker auch manchmal seine Tage hat. Was auch direkt besser wäre weil ich dann die Steam ID hätte mit der der Spieler sein Arma3 startet.

    • C# Arma3 Server Information

      • nflug
      • 25. Dezember 2016 um 12:17

      Hey,

      Ich bin gerade dabei einen Launcher zu schreiben für Arma3. Ich hab früher schon einige Programme mit C# geschrieben.
      Nun Suche ich eine Lösung den Motd die Max/Online Players und den Server Status herauszufinden. Ich habe es früher schon einmal hinbekommen nur leider Erfolg ohne das ich diese Informationen Updaten kann.
      Ich habe bereits diese Methoden versucht.

      Spoiler anzeigen
      Code
      https://github.com/PulsarBlow/ArmaServerInfos
      sure if I want credit for this piece of junk =).
      public class ArmA3ServerInfo
          {
              public ServerInfo ServerInfo { get; protected set; }
              public PlayerCollection Players { get; protected set; }
              public string host;
              public int port;
              public long ping;
              public Stopwatch Stopwatch = new Stopwatch();
              public ArmA3ServerInfo(string host, int port)
              {
                  this.host = host;
                  this.port = port;
              }
              public void Update()
              {
                  try
                  {
                      using (UdpClient client = new UdpClient(56800))
                      {
                          Stopwatch.Reset();
                          byte[] request, response;
                          IPEndPoint remoteIpEndpoint = new IPEndPoint(IPAddress.Parse(host), port);
                          client.Client.ReceiveTimeout = 100;
                          client.Connect(remoteIpEndpoint);
                          //Server Info
                          request = new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0x54, 0x53, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x20, 0x45, 0x6E, 0x67, 0x69, 0x6E, 0x65, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x00 };
                          client.Send(request, request.Length);
                          Stopwatch.Start();
                          response = client.Receive(ref remoteIpEndpoint);
                          Stopwatch.Stop();
                          this.ping = Stopwatch.ElapsedMilliseconds;
                          //string dataServer = Encoding.ASCII.GetString(response).Remove(0, 5);
                          this.ServerInfo = ServerInfo.Parse(response);
                          //request = new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0x69 };
                          //client.Send(request, request.Length);
                          //response = client.Receive(ref remoteIpEndpoint);
                          //Console.WriteLine(response);
                          //this.ping =
                          //Player Info
                          //request = new byte[] { 0xfe, 0xfd, 0x00, 0x43, 0x4f, 0x52, 0x59, 0x00, 0xff, 0xff };
                          //client.Send(request, request.Length);
                          //response = client.Receive(ref remoteIpEndpoint);
                          //string dataPlayer = Encoding.ASCII.GetString(response).Remove(0, 5);
                          //this.Players = PlayerCollection.Parse(dataPlayer.Remove(0, 32));
                      }
                  }
                  catch (SocketException ex)
                  {
                      if (ex.SocketErrorCode != SocketError.TimedOut)
                      {
                          Console.WriteLine(String.Format(("Socketerror while retrievining server information.", ex));
                      }
                  }
                  catch (Exception ex)
                  {
                      Console.WriteLine(String.Format(("Unknown error while retrievining server information.", ex));
                  }
              }
          }
          public class ServerInfo
          {
              public string GameVersion { get; set; }
              public string HostName { get; set; }
              public string MapName { get; set; }
              public string GameType { get; set; }
              public int NumPlayers { get; set; }
              public int NumTeam { get; set; }
              public int MaxPlayers { get; set; }
              public string GameMode { get; set; }
              public string TimeLimit { get; set; }
              public bool Password { get; set; }
              public string CurrentVersion { get; set; }
              public string RequiredVersion { get; set; }
              public string Mod { get; set; }
              public bool BattleEye { get; set; }
              public double Longitude { get; set; }
              public double Latitude { get; set; }
              public List<string> Players { get; set; }
              public string Mission { get; set; }
              public static ServerInfo Parse(string data)
              {
                  ServerInfo info = new ServerInfo();
                  string[] parts = data.Split('\0');
                  Dictionary<string, string> values = new Dictionary<string, string>();
                  for (int i = 0; i < parts.Length; i++)
                  {
                      if ((i & 1) == 0 && !values.ContainsKey(parts[i]) && (i + 1) < parts.Length)
                          values.Add(parts[i], parts[i + 1]);
                  }
                  info.GameVersion = GetValueByKey("gamever", values);
                  info.HostName = GetValueByKey("hostname", values);
                  info.MapName = GetValueByKey("mapname", values);
                  info.GameType = GetValueByKey("gametype", values);
                  info.NumPlayers = ParseInt(GetValueByKey("numplayers", values));
                  info.NumTeam = ParseInt(GetValueByKey("numteams", values));
                  info.MaxPlayers = ParseInt(GetValueByKey("maxplayers", values));
                  info.GameMode = GetValueByKey("gamemode", values);
                  info.TimeLimit = GetValueByKey("timelimit", values);
                  info.Password = ParseBoolean(GetValueByKey("password", values));
                  info.CurrentVersion = GetValueByKey("currentVersion", values);
                  info.RequiredVersion = GetValueByKey("requiredVersion", values);
                  info.Mod = GetValueByKey("mod", values);
                  info.BattleEye = ParseBoolean(GetValueByKey("sv_battleye", values));
                  info.Longitude = ParseDouble(GetValueByKey("lng", values));
                  info.Latitude = ParseDouble(GetValueByKey("lat", values));
                  info.Mission = GetValueByKey("mission", values);
                  return info;
              }
              internal static ServerInfo Parse(byte[] response)
              {
                  ServerInfo info = new ServerInfo();
                  int pos = 5;
                  info.HostName = GetNextPartString(ref pos, response);
                  info.MapName = GetNextPartString(ref pos, response);
                  info.GameType = GetNextPartString(ref pos, response);
                  info.GameMode = GetNextPartString(ref pos, response);
                  GetNextPart(ref pos, response);//Empty
                  GetNextPart(ref pos, response);//Empty
                  byte[] pInfo = GetNextPart(ref pos, response);
                  if (pInfo.Length > 0)
                  {
                      info.NumPlayers = pInfo[0];
                      info.MaxPlayers = pInfo[1];
                  }
                  else
                  {
                      info.NumPlayers = 0;
                      info.MaxPlayers = GetNextPart(ref pos, response)[0];
                  }
                  GetNextPart(ref pos, response);//Enviroment. dw??
                  GetNextPart(ref pos, response);//Visibility & vac?
                  info.GameVersion = GetNextPartString(ref pos, response);
                  //Extra data flag
                  //for (int i = 0; i < 25; i++)
                  //{
                  //    Console.WriteLine(GetNextPart(ref pos, response));
                  //}
                  return info;
              }
              private static byte[] GetNextPart(ref int pos, byte[] response)
              {
                  byte[] part = new byte[0];
                  for (int i = 0; i <= response.Length; i++)
                  {
                      if(response[i + pos] == 0x0)
                      {
                          pos = i + pos + 1;
                          return part;;
                      }
                      Array.Resize(ref part, part.Length + 1);
                      part[i] = response[i + pos];
                  }
                  return new byte[0];
              }
              private static string GetNextPartString(ref int pos, byte[] response)
              {
                  byte[] val = GetNextPart(ref pos, response);
                  return Encoding.ASCII.GetString(val);
              }
              private static int ParseInt(string value)
              {
                  if (String.IsNullOrWhiteSpace(value))
                      return 0;
                  int parsedValue = 0;
                  Int32.TryParse(value, out parsedValue);
                  return parsedValue;
              }
              private static double ParseDouble(string value)
              {
                  if (String.IsNullOrWhiteSpace(value))
                      return 0;
                  double parsedValue = 0;
                  Double.TryParse(value, out parsedValue);
                  return parsedValue;
              }
              private static bool ParseBoolean(string value)
              {
                  if (String.IsNullOrWhiteSpace(value))
                      return false;
                  if (value == "1" || value.ToLowerInvariant() == "true")
                      return true;
                  return false;
              }
              private static string GetValueByKey(string key, Dictionary<string, string> values)
              {
                  if (values.ContainsKey(key))
                      return values[key];
                  return null;
              }
          }
          public class Player
          {
              public string Name { get; set; }
              public Player()
                  : this(null)
              { }
              public Player(string name)
              {
                  this.Name = name;
              }
          }
          public class PlayerCollection : List<Player>
          {
              public PlayerCollection()
                  : base()
              { }
              public PlayerCollection(IEnumerable<Player> collection)
                  : base(collection)
              { }
              public static PlayerCollection Parse(string data)
              {
                  string final = "";
                  var players = data.Split('\0');
                  int lel = 0;
                  foreach (var p in players)
                  {
                      if (lel == 0)
                      {
                          if (p != "")
                          {
                              final += p + "\0";
                          }
                      }
                      lel++;
                      if (lel == 4)
                          lel = 0;
                  }
                  players = final.Split('\0');
                  PlayerCollection collection = new PlayerCollection(
                      from s in players
                      select new Player(s)
                  );
                  return collection;
              }
          }
      Alles anzeigen

      Leider bekomme ich bei den beiden immer null Error wenn ich die Informationen Abrufe.

      So hab ichs gemacht.

      Code
      GameServer server = new GameServer("127.0.0.1", 2302);
      server.Update();
      
      
      
      
      Label.Text = Server.ServerInfo.MaxPlayers + "";

      Dort bekomme ich dann bei dem (Server.ServerInfo.MaxPlayers) einen null Error.


      Ich habe auch schon herausgefunden wo das Problem genau liegt, Nämlich in der Update() da wo der Server verbindet im Response Teil. Weiß nur nicht genau wie ich das lösen kann. Ich weiß nicht wie Zeit aufwendig es ist diese 3 Infos zu entnehmen aber es wäre nett wenn mir jemand ein bsp schreiben könnte.

      Mit freundlichen Grüßen nflug
      Frohes Neues und schöne Weihnachten. santa

    Registrieren oder Einloggen

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

    Registrieren

    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™