Serverprohramm konsole Hiden

  • hallo wie man der überschrift auslesen kann suche ich eine möglichkeit ein Konsolenfenster auszublenden und den inhalt in eine Editbox einfügen.
    das spiel heißt Minecraft und ich will das Konsolenfenster weg kriegen (habe server am laufen server)
    bin zurzeit soweit :

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("minecraft server tool", 789, 484, 192, 114)
    $startserver = GUICtrlCreateButton("Start Server", 8, 8, 115, 25, $WS_GROUP)
    $servertype = GUICtrlCreateCombo("choose the server type", 128, 8, 145, 25)
    GUICtrlSetData(-1, "Normalx86|Normalx64|Hey0x86|Hey0x64")
    $console = GUICtrlCreateEdit("", 8, 40, 769, 409)
    GUICtrlSetData(-1, "<The Minecraft Server Tool>")
    $command = GUICtrlCreateInput("", 8, 456, 649, 21)
    $send = GUICtrlCreateButton("Send", 664, 454, 75, 25, $WS_GROUP)
    $cmds = GUICtrlCreateButton("cmds", 744, 454, 35, 25, $WS_GROUP)
    $Button1 = GUICtrlCreateButton("Open Server properties", 656, 8, 123, 25, $WS_GROUP)
    $restart = GUICtrlCreateButton("Restart Server", 384, 8, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Reload everything", 280, 8, 91, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $startserver
    $servert = GUICtrlRead($servertype)
    If $servert = "Normalx86" Then
    Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui')
    sleep(2000)
    GUISetState(@SW_HIDE,"0x00000000003C0342")
    ElseIf $servert = "Normalx64" Then
    Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui')
    EndIf
    EndSwitch
    WEnd

    [/autoit]
    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]

    Einmal editiert, zuletzt von johnnyboyy (15. November 2010 um 18:04)

  • @winsetstate
    ja , ne funktioniert nicht so leicht , da der server eine parallele datei ist (java in konsole) aber habe mich grade bissl durchgelesen und mit shellexecute kann ich das server hiden

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • stimmt...sry
    aber mit $data=StdOutRead("java.exe") bekomme ich kein output , einfach alles leer ....

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • hmm ich verstehe nicht was ich falsch mache...
    warum kommt einfach kein output @info benutze die 32bit variante (extra angepasst am PC)

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("minecraft server tool", 789, 484, 192, 114)
    $startserver = GUICtrlCreateButton("Start Server", 8, 8, 115, 25, $WS_GROUP)
    $servertype = GUICtrlCreateCombo("choose the server type", 128, 8, 145, 25)
    GUICtrlSetData(-1, "Normalx86|Normalx64|Hey0x86|Hey0x64")
    $console = GUICtrlCreateEdit("", 8, 40, 769, 409)
    GUICtrlSetData(-1, "<The Minecraft Server Tool>")
    $command = GUICtrlCreateInput("", 8, 456, 649, 21)
    $send = GUICtrlCreateButton("Send", 664, 454, 75, 25, $WS_GROUP)
    $cmds = GUICtrlCreateButton("cmds", 744, 454, 35, 25, $WS_GROUP)
    $Button1 = GUICtrlCreateButton("Open Server properties", 656, 8, 123, 25, $WS_GROUP)
    $restart = GUICtrlCreateButton("Restart Server", 384, 8, 75, 25, $WS_GROUP)
    $reload = GUICtrlCreateButton("Reload everything", 280, 8, 91, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    if ProcessExists("java.exe") then ProcessClose("java.exe")
    Exit
    case $startserver
    $servert = GUICtrlRead($servertype)
    If $servert = "Normalx86" Then
    local $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui',"",@SW_HIDE)
    MsgBox("","Started","Press ok to continue")
    ElseIf $servert = "Normalx64" Then
    Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui')
    EndIf
    case $reload
    $data = StdOutRead($serverl)
    GUICtrlSetData($console,$data)
    EndSwitch
    WEnd

    [/autoit]
    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • tut mir leid für den Doppelpost aber,
    ich bekomme immer noch keinen output und habe auch keine ahnung wie ich einen befehl in eine console die im sw_hide modus läuft senden kann
    wie z.B.
    der server läuft komplett in hintergrund und ich möchte das help in das konsolenfenster gesendet und bestätigt wird , daraufhin den ganzen output in der editbox haben.
    wie man meinem vorherigen post entnehmen kann ferstehe ich das ganze mit dem STDout immer noch nicht.


    nochmachls entschuldigung und , danke für jede art von hilfe...

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • Hi,

    probier mal folgendes skript.
    Ich hab deinen server mit meinem ersetzt (sendet an stdout zahlen von 1 bis ...)
    Probiers aus!

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("minecraft server tool", 789, 484, 192, 114)
    $startserver = GUICtrlCreateButton("Start Server", 8, 8, 115, 25, $WS_GROUP)
    $servertype = GUICtrlCreateCombo("choose the server type", 128, 8, 145, 25)
    GUICtrlSetData(-1, "Normalx86|Normalx64|Hey0x86|Hey0x64")
    $console = GUICtrlCreateEdit("", 8, 40, 769, 409)
    GUICtrlSetData(-1, "<The Minecraft Server Tool>")
    $command = GUICtrlCreateInput("", 8, 456, 649, 21)
    $send = GUICtrlCreateButton("Send", 664, 454, 75, 25, $WS_GROUP)
    $cmds = GUICtrlCreateButton("cmds", 744, 454, 35, 25, $WS_GROUP)
    $Button1 = GUICtrlCreateButton("Open Server properties", 656, 8, 123, 25, $WS_GROUP)
    $restart = GUICtrlCreateButton("Restart Server", 384, 8, 75, 25, $WS_GROUP)
    $reload = GUICtrlCreateButton("Reload everything", 280, 8, 91, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    local $serverl = 0
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    if ProcessExists("java.exe") then ProcessClose("java.exe")
    Exit
    case $startserver
    local $serverl = Run("server.exe", "", "", $STDERR_CHILD + $STDOUT_CHILD)
    #cs
    $servert = GUICtrlRead($servertype)
    If $servert = "Normalx86" Then
    local $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui',"",@SW_HIDE)
    MsgBox("","Started","Press ok to continue")
    ElseIf $servert = "Normalx64" Then
    Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui')
    EndIf
    #ce
    case Else
    If $serverl Then
    $data = StdOutRead($serverl)
    If $data Then GUICtrlSetData($console, $data)
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Hier der Server, muss als exe und für Konsole kompiliert werden!

    Spoiler anzeigen
    [autoit]

    $i = 0
    While 1
    ConsoleWrite($i)
    $i +=1
    Sleep(1000)
    WEnd

    [/autoit]
  • jetzt habe ich es so gemacht

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("minecraft server tool", 789, 484, 192, 114)
    $startserver = GUICtrlCreateButton("Start Server", 8, 8, 115, 25, $WS_GROUP)
    $servertype = GUICtrlCreateCombo("choose the server type", 128, 8, 145, 25)
    GUICtrlSetData(-1, "Normalx86|Normalx64|Hey0x86|Hey0x64")
    $console = GUICtrlCreateEdit("", 8, 40, 769, 409)
    GUICtrlSetData(-1, "<The Minecraft Server Tool>")
    $command = GUICtrlCreateInput("", 8, 456, 649, 21)
    $send = GUICtrlCreateButton("Send", 664, 454, 75, 25, $WS_GROUP)
    $cmds = GUICtrlCreateButton("cmds", 744, 454, 35, 25, $WS_GROUP)
    $Button1 = GUICtrlCreateButton("Open Server properties", 656, 8, 123, 25, $WS_GROUP)
    $restart = GUICtrlCreateButton("Restart Server", 384, 8, 75, 25, $WS_GROUP)
    $reload = GUICtrlCreateButton("Reload everything", 280, 8, 91, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    local $serverl = 0
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    if ProcessExists("java.exe") then ProcessClose("java.exe")
    Exit
    case $startserver
    ;~ local $serverl = Run("server.exe", "", "", $STDERR_CHILD + $STDOUT_CHILD)
    ;~ #cs
    $servert = GUICtrlRead($servertype)
    If $servert = "Normalx86" Then
    local $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui',"",@SW_HIDE,$STDERR_CHILD + $STDOUT_CHILD)
    MsgBox("","Started","Press ok to continue")
    ElseIf $servert = "Normalx64" Then
    Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui')
    EndIf
    ;~ #ce
    case Else
    If $serverl Then
    $data = StdOutRead($serverl)
    If $data Then GUICtrlSetData($console, $data)
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    eund es geht immer noch nicht -.- ich verzweifle langsam.....
    das will einfach nicht gehen

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • Hi,

    also jetzt hab ich mir die Mühe gemacht und die minecraft_server.jar runtergeladen.

    Mit diesem Skript hier, sehe ich die Konsolenausgabe...nichts großartig verändert...nur das der gesamte Output angezeigt wird und nicht nur der neueste Output.

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("minecraft server tool", 789, 484, 192, 114)
    $startserver = GUICtrlCreateButton("Start Server", 8, 8, 115, 25, $WS_GROUP)
    $servertype = GUICtrlCreateCombo("choose the server type", 128, 8, 145, 25)
    GUICtrlSetData(-1, "Normalx86|Normalx64|Hey0x86|Hey0x64")
    $console = GUICtrlCreateEdit("", 8, 40, 769, 409)
    GUICtrlSetData(-1, "<The Minecraft Server Tool>")
    $command = GUICtrlCreateInput("", 8, 456, 649, 21)
    $send = GUICtrlCreateButton("Send", 664, 454, 75, 25, $WS_GROUP)
    $cmds = GUICtrlCreateButton("cmds", 744, 454, 35, 25, $WS_GROUP)
    $Button1 = GUICtrlCreateButton("Open Server properties", 656, 8, 123, 25, $WS_GROUP)
    $restart = GUICtrlCreateButton("Restart Server", 384, 8, 75, 25, $WS_GROUP)
    $reload = GUICtrlCreateButton("Reload everything", 280, 8, 91, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    local $serverl = 0
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    if ProcessExists("java.exe") then ProcessClose("java.exe")
    Exit
    case $startserver
    $servert = GUICtrlRead($servertype)
    If $servert = "Normalx86" Then
    $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    ElseIf $servert = "Normalx64" Then
    Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui')
    EndIf
    case Else
    If $serverl Then
    $data = StdOutRead($serverl)
    If $data Then
    GUICtrlSetData($console, GUICtrlRead($console) & $data)
    EndIf
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Wenns bei dir immer noch nicht geht dann kopier mal minecraft_server.jar dorthin wo das Skript ist...

    PS:
    Choose Servertype: Normal x86

  • danke danke danke , vielen dank
    aber immernoch zum anderen problem...
    wie sende ich etwas an das unsichtbare konsolen fenster?
    controlsend geht nicht -.- weil es ja kein handle gibt ausser dem Fensternamen

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • Einfach mit StdinWrite an die Konsole schreiben! (Bei Run $STDIN_CHILD nicht vergessen!)

    Konnte es aber nicht mehr mit minecraft_server.jar probieren, weil bei mir jetzt dauernd eine Fehlermeldung kommt.

    Zitat

    Could not reserve enough space for object heap


    :rolleyes:

    Aber mit meinem server hats geklappt. :thumbup:

    Spoiler anzeigen
    [autoit]


    #include <Constants.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("minecraft server tool", 789, 484, 192, 114)
    $startserver = GUICtrlCreateButton("Start Server", 8, 8, 115, 25, $WS_GROUP)
    $servertype = GUICtrlCreateCombo("choose the server type", 128, 8, 145, 25)
    GUICtrlSetData(-1, "Normalx86|Normalx64|Hey0x86|Hey0x64")
    $console = GUICtrlCreateEdit("", 8, 40, 769, 409)
    GUICtrlSetData(-1, "<The Minecraft Server Tool>")
    $command = GUICtrlCreateInput("", 8, 456, 649, 21)
    $send = GUICtrlCreateButton("Send", 664, 454, 75, 25, $WS_GROUP)
    $cmds = GUICtrlCreateButton("cmds", 744, 454, 35, 25, $WS_GROUP)
    $Button1 = GUICtrlCreateButton("Open Server properties", 656, 8, 123, 25, $WS_GROUP)
    $restart = GUICtrlCreateButton("Restart Server", 384, 8, 75, 25, $WS_GROUP)
    $reload = GUICtrlCreateButton("Reload everything", 280, 8, 91, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    local $serverl = 0
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    if ProcessExists("java.exe") then ProcessClose("java.exe")
    Exit
    case $startserver
    $servert = GUICtrlRead($servertype)
    If $servert = "Normalx86" Then
    ;~ $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD + $STDIN_CHILD)
    $serverl = Run("server.exe", "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD + $STDIN_CHILD)
    ElseIf $servert = "Normalx64" Then
    ;~ Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui')
    EndIf
    Case $send
    StdinWrite($serverl, "?")
    case Else
    If $serverl Then
    $data = StdOutRead($serverl)
    If $data Then GUICtrlSetData($console, GUICtrlRead($console) & $data)
    EndIf
    EndSwitch
    WEnd

    [/autoit]
    Hier nochmal mein angepasster Server
    [autoit]

    $i = 0
    Do
    ConsoleWrite("Loading...(" & $i & "%)" & @CRLF)
    $i +=10
    Sleep(1000)
    Until $i > 100
    ConsoleWrite("Program ready!" & @CRLF)
    ConsoleWrite("Click on send Button!" & @CRLF)
    Local $data
    While True
    $data = ConsoleRead()
    If $data Then
    ConsoleWrite("~~~~~~~~~~~~~~~~~~~~~~" & @CRLF)
    ConsoleWrite("Data received:" & $data & @CRLF)
    ConsoleWrite("~~~~~~~~~~~~~~~~~~~~~~" & @CRLF)
    EndIf
    Sleep(100)
    WEnd

    [/autoit]
  • ich glaube ich bin dumm .... ich check nicht wie ich den stdinwrite benutze... z.Z sieht das so aus

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    global $serverl,$servertp
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("minecraft server tool", 789, 484, 192, 114)
    $startserver = GUICtrlCreateButton("Start Server", 8, 8, 115, 25, $WS_GROUP)
    $servertype = GUICtrlCreateCombo("choose the server type", 128, 8, 145, 25)
    GUICtrlSetData(-1, "Normalx86|Normalx64|Hey0x86|Hey0x64")
    $console = GUICtrlCreateEdit("", 8, 40, 769, 409)
    GUICtrlSetData(-1, "<The Minecraft Server Tool>")
    $command = GUICtrlCreateInput("", 8, 456, 649, 21)
    $send = GUICtrlCreateButton("Send", 664, 454, 75, 25, $WS_GROUP)
    $cmds = GUICtrlCreateButton("cmds", 744, 454, 35, 25, $WS_GROUP)
    $Button1 = GUICtrlCreateButton("Open Server properties", 656, 8, 123, 25, $WS_GROUP)
    $restart = GUICtrlCreateButton("Restart Server", 384, 8, 75, 25, $WS_GROUP)
    $reload = GUICtrlCreateButton("Reload everything", 280, 8, 91, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    local $serverl = 0
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    if ProcessExists("java.exe") then
    ProcessClose("java.exe")
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    case $restart
    GUICtrlSetData($console,"")
    if ProcessExists("java.exe") then ProcessClose("java.exe")
    if $servertp = "1" Then
    $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
    ElseIf $servertp = "2" Then
    $serverl = Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
    ElseIf $servertp = "3" Then
    $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar Minecraft_Mod.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
    ElseIf $servertp = "4" Then
    $serverl = Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
    EndIf
    case $startserver
    $servert = GUICtrlRead($servertype)
    if ProcessExists("java.exe") then ProcessClose("java.exe")
    If $servert = "Normalx86" Then
    $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
    ;~ $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui');, "", @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
    $servertp = "1"
    ElseIf $servert = "Normalx64" Then
    $serverl = Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
    $servertp = "2"
    ElseIf $servert = "Hey0x86" Then
    $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar Minecraft_Mod.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
    $servertp = "3"
    ElseIf $servert = "Hey0x64" Then
    $serverl = Run('"'&@ProgramFilesDir&'(x86)\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
    $servertp = "4"
    EndIf
    case $send
    $incmd = GUICtrlRead($command)
    StdinWrite($serverl,$incmd &"{enter}")
    case Else
    If $serverl Then
    $data = StdOutRead($serverl)
    If $data Then
    GUICtrlSetData($console, GUICtrlRead($console) & $data)
    EndIf
    EndIf

    [/autoit]


    aber will ienfach nicht STDinWrite ist bei case $send

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • na super ...
    habe es nun geändert aber nichts ändert sich , und wie ich bemerke wird mit STDoutRead nicht alles gelesen
    z.B. player johnnyboyy (127.0.0.1) joined the game

    und in der "$console" steht dann playercount 1

    und geschickt wird auch nichts an die konsole -.- warum geht das nicht

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • na super ...


    ...immer mit der Ruhe :pinch:

    So, konnte wieder minecraft_server.jar zum laufen kriegen :thumbdown:
    Wie autoBert schon bereits erwähnt hat, muß jeder Befehl an die Konsole mit @CrLf enden, damit minecraft den Befehl annimmt. Habs getestet und es geht!!!!!!!!!!

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("minecraft server tool", 789, 484, 192, 114)
    $startserver = GUICtrlCreateButton("Start Server", 8, 8, 115, 25, $WS_GROUP)
    $servertype = GUICtrlCreateCombo("choose the server type", 128, 8, 145, 25)
    GUICtrlSetData(-1, "Normalx86|Normalx64|Hey0x86|Hey0x64")
    $console = GUICtrlCreateEdit("", 8, 40, 769, 409)
    GUICtrlSetData(-1, "<The Minecraft Server Tool>")
    $command = GUICtrlCreateInput("", 8, 456, 649, 21)
    $send = GUICtrlCreateButton("Send", 664, 454, 75, 25, $WS_GROUP)
    $cmds = GUICtrlCreateButton("cmds", 744, 454, 35, 25, $WS_GROUP)
    $Button1 = GUICtrlCreateButton("Open Server properties", 656, 8, 123, 25, $WS_GROUP)
    $restart = GUICtrlCreateButton("Restart Server", 384, 8, 75, 25, $WS_GROUP)
    $reload = GUICtrlCreateButton("Reload everything", 280, 8, 91, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    local $serverl = 0
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ;if ProcessExists("java.exe") then ProcessClose("java.exe")
    StdinWrite($serverl, "stop" & @CRLF)
    Exit
    case $startserver
    $servert = GUICtrlRead($servertype)
    If $servert = "Normalx86" Then
    $serverl = Run('"'&@ProgramFilesDir&'\Java\jre6\bin\java.exe" -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD + $STDIN_CHILD)
    ;~ $serverl = Run("server.exe", "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD + $STDIN_CHILD)
    GUICtrlSetData($console, GUICtrlRead($console) & @CRLF & "Connection: " & $serverl & @CRLF)
    EndIf
    Case $cmds
    StdinWrite($serverl, "?" & @CRLF)
    Case $send
    $input = GUICtrlRead($command)
    GUICtrlSetData($command, "")
    StdinWrite($serverl, $input & @CRLF)
    case Else
    If $serverl Then
    $data = StdOutRead($serverl)
    If $data Then GUICtrlSetData($console, GUICtrlRead($console) & $data)
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    und wie ich bemerke wird mit STDoutRead nicht alles gelesen


    Schau mal in die server.log da findest du den Rest des Konsolen outputs ;)
    Jetzt beide Infos (server.log und Konsolen Output) zusammen nehmen und in das Edit Fenster schreiben.
    Fertig!

    PS:
    Hab ProcessClose rausgenommen und mit dem stop Befehl für den Server ersetzt. Habs getestet und es klappt!!!!!!!!!!

  • gibt nur noch 1 problem ^^ , nix schlimmes aber es nervt
    denn bei meinem Fileread

    Spoiler anzeigen
    [autoit]

    case Else
    If $serverl Then
    $data = StdOutRead($serverl)
    $open = FileOpen("server.log")
    $log = FileRead($open)
    If $data Then GUICtrlSetData($console,$log & GUICtrlRead($console) & $data)
    FileClose($open)
    EndIf

    [/autoit]


    schreibt er die zeile vllt 10x da rein , UND es wird immer in einer reihe geschrieben

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • ist es schlimm wenn ich etwas Poste um den thread am leben zu erhalten?
    false ja , beleehrt mich ums bessere , da das Fileread problemm weiterhin besteht

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • ist es schlimm wenn ich etwas Poste um den thread am leben zu erhalten?false ja , beleehrt mich ums bessere , da das Fileread problemm weiterhin besteht


    führt in der Regel dazu, dass der Thread ignoriert wird. 24 h sind hier meines Erachtens nach mind. angebracht,

    mfg autoBert