WoW

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    Hallo zusammen,

    ich würde gerne ein Programm schreiben, dass erkennt wenn der World of Warcraft Server(Privatserver) abstürzt, dann ca 2min wartet bis er wieder läuft und mich dann wieder anmeldet. Das wäre sehr hilffreich, da ich einen Angelbot benutze. Wenn ich dann gerade nicht am PC bin und der Sever abstürzt macht der Angelbot die ganze Zeit nichts mehr und pausiert sich automatisch. Ich hab es schon mit einem Keylogger versucht, der die Tastendrücke des Bots aufzeichenen sollte und wenn er keine Tastendrücke mehr macht mich wieder anmelden sollte. Das hat aber nicht funktioniert, da mein Keylogger komischerwiese nur meine Tastendrücke und nicht die des Bots aufgezeichnet hat. Hat jemand eine Idee wie das funktionieren könnte? ?(
    steht auf der Homepage von dem Server der Serverstatus? Schick mal die Seite davon.

    Du kannst mit einem WebRequest den Quelltext "runterladen" und dann mit RegEX oder anderen String durchsuchungen auslesen ob der Server online oder offline ist. Das ganze machst dann in einen Timer der das jede Minute wiederholt.

    Sollte der Server down sein den Status in einer Variable speichern. Wenn er wieder online geht über Process.start(WoW) das Spiel neu starten und per Code ein Passwort eingeben lassen.
    ich glaube auf der hompage steht der serverstatus nicht. Ich dachte eher daran, dass man es vielleicht anhand des Bots herausfinden kann ob der server läuft oder nicht, weil der Bot sich automatisch stoppt wenn der server abstürzt. Am besten fände ich einen Keylogger der die Tastendrücke des Bots überwacht.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Daaaaniel“ ()

    Ja, ein (auch nicht besonders legaler) Privatserver macht die Sache besser, was? XD
    Egal, Blizzard wird wohl mehr als genug an den offiziellen Servern verdienen.

    Ich könnte mir vorstellen, dass du halt irgendwie die Datenübertragung des Servers überwachen musst. Wenn nix mehr übertragen wird, hat er sich aufgehängt. Kein Plan, wie man das machen müsste, aber sowas sollte eigentlich googlebar sein.

    Was den Bot angeht, wie sollte der dir dabei Infos geben können? Der hat nen Timer, der alle paar Sekunden die Angel auswirft und dann die Pixel auf dem Bildschirm nach einem Bestimmten Farbbereich überprüft, soweit ich mich recht erinnere, ob der Schwimmer seine Farbe geändert hat. Den Bot interessiert dabei nicht, ob das Spiel überhaupt läuft, zumindest der den ich kenne.
    also mein bot merkt wenn das spiel nichtmehr läuft und pausiert sich dann automatisch. ich hab gedacht, dass der bot das vielleicht mit simulierten tastendrücken steuert, die man dann mit einem keylogger sehen könnte. Wenn der Bot dann für ca 30s nichtsmehr getippt hat ist der Server abgestürzt
    Tja, mehr als Theorien kann ich auch nicht zum Thema beisteuern. Möglicherweise findest du die gesuchten Infos ja auf den Seiten der Emu-Entwickler deines Pservers. (Mangos oder auf welcher Emu das auch laufen mag.) Addon-Entwickler dürften sicher auch gelegentlich wissen wollen, ob der User eine Taste gedrückt hat, vielleicht findet sich ja in einem solchen Forum eine hilfreiche Information dazu.

    VB.NET-Quellcode

    1. Dim props As IPGlobalProperties = IPGlobalProperties.GetIPGlobalProperties()
    2. Dim conn() As TcpConnectionInformation = props.GetActiveTcpConnections()

    damit kriegt man alle aktive TCP-Verbindungen. So kann man dann auch UDP überwachen (je nachdem, wie wow sich verbindet).
    habs schon versucht mit

    VB.NET-Quellcode

    1. TextBox1.Text = conn()
    aber hat nich funktioniert :( ich programmier halt noch nich so lang
    kann mir pls jemand sagen wie das geht?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Daaaaniel“ ()

    hab jetzt mit google rausgefunden wie es funktioniert:

    VB.NET-Quellcode

    1. Imports System.Net.NetworkInformation
    2. Public Class Form1
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. Dim props As IPGlobalProperties = IPGlobalProperties.GetIPGlobalProperties()
    5. Dim conn() As TcpConnectionInformation = props.GetActiveTcpConnections()
    6. For Each t As TcpConnectionInformation In conn
    7. Me.ListBox1.Items.Add(t.LocalEndPoint.ToString & _
    8. " -> " & t.RemoteEndPoint.ToString & _
    9. " Status: " & t.State.ToString)
    10. Next
    11. End Sub
    12. End Class



    Jetzt hab ich allerdings das Problem, dass ich eine sehr lange Liste mit IP Adressen angezeigt bekomme. Wie kann ich jetzt rausfinden welche Verbindung davon von WoW ist?
    in der Schleife bekommste den Hostnamen follgendermaßen:

    VB.NET-Quellcode

    1. Dim hostInfo As System.Net.IPHostEntry = System.Net.GetHostByAddress(t.RemoteEndPoint.Address)
    2. hostInfo.HostName '<- HostName...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---