Minecraft CraftBukkit GUI Version 1.2.1 release

  • Moin,

    Ich habe mir jetzt fest vorgenommen das es was großes wird.
    Und ich hoffe ihr Helft mir dabei


    Man kann damit natürlich den server Starten, Starten, Stoppen und eigebne befhele ausführen

    [Blockierte Grafik: http://nitrama.de/Minecraft/1.PNG]


    Man kann ganz einfach alle Plugins deaktivieren oder aktivieren.


    [Blockierte Grafik: http://nitrama.de/Minecraft/2.PNG]


    Und die normalen einstellungen kann man natürlich auch ändern


    [Blockierte Grafik: http://nitrama.de/Minecraft/3.PNG]

    und neu hinzugekommen sind eine update (zum updaten der software) funktion und ein Auto-speichern.

    [Blockierte Grafik: http://nitrama.de/Minecraft/4.PNG]

    Die einsatz gebiete sind vllt bei welchen die einen Hamachi server betreiben.
    und alle die einen vserver auf windows basis haben.

    Ich werde es natülich weiter machen wen jemand vorschläge hat oder Bugs findet werde ich sie reinmachen und ausbessern.


    und hier noch ein Virus Total test^^.

    http://www.virustotal.com/file-scan/repo…4a5c-1302803341

    Downloadlinks
    Version 1.2.1
    http://www.multiupload.com/44UORFSOT4

    Version 1.2
    http://www.multiupload.com/9KYXTDOINV

    version 1.1
    http://www.multiupload.com/44G3SWR5K8

    version 1.0
    http://www.multiupload.com/3O36BNS911


    Changelog:
    2.Juli.2001
    Version 1.2.1
    Kleine anpassungen
    und update funktion

    14.April.2011
    Version 1.2
    Auto-speichern und
    Update funktion

    11.April.2011
    Version 1.1
    Kinderkrankheiten "geheilt"
    Und Craftbukkit download hinzugefügt wenn Craftbukkit nicht gefunden worde

    10.April.2011
    Version 1.0 Release

    In der nächten Version kommt bestimmt das mit den Tooltips dafür bräuchte ich aber Hilfe.

    TODO:
    besseres Design
    Tool Tips für Plugins und einstellungen

    Gruß Nitrama

    5 Mal editiert, zuletzt von Nitrama (2. Juli 2011 um 17:16)

  • Du machst es mit einem anprechendarem Design interessanter. Das z.B. auch Anfänger anspricht
    Vorschläge:
    Tooltips bei allen Einstellungen und Plugins, der erklärt was die machen.
    Button zum runterladen vom Mod

  • Oder irgendwie Minecraft Bilder, Creeper oder so als Hintergrund nehmen, dass das ein wenig schöner aussieht.

    mfg
    hauke96

    ps.: "Wie geil ist das denn?" IST ein GROOOOßES Kompliment ( jedenfalls dort wo ich herkomm ;) )

  • das design kommt später will erstma ein bischen mehr zeug reinmachen

    Das mit den Tool tips werde ich ma versuchen

    vllt einfach in eine ini schreiben und dort auslesen

    ma gucken

    vllt auch verschiedene sprachen

    müsste mir aber jemand beim überstzen helfen

  • Hi,
    sieht so schon gut aus ;), warte aber auch erst auf den qcode ...
    Du könntest auch ein Remote-Tool draus machen, um von einem windows pc auf einen linux zu übertragen ;)
    dann müsstest du allerdings den server nicht auf dem windows ausführen, sondern auf dem linux und dann kannst du ja einfach über eine art monitoring die werte vom linux server in die alte box schreiben lassen :)

    mfg black

  • er nimmt wahrscheinlich an man könne es nicht decompilen wenn man denn möchte :pinch: ;)

    so ich habs mal eben nachgebastelt. Die Commands an den Prozess übergeben funktioniert noch nicht so wirklich, aber sieht etwas schicker aus :) darfst du gerne übernehmen, hatte bloß grad lust und laune, gebrauch habe ich aber keinen. Und ja ohne decompilen :)

    [Blockierte Grafik: http://img15.imageshack.us/img15/3115/unbe2nannt.png]

    [Blockierte Grafik: http://img857.imageshack.us/img857/6248/unbenanntsz.png]

    Qcode:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <File.au3>
    #include <Constants.au3>
    #include <Date.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiEdit.au3>

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

    _checkdir()

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

    Global $config, $cache, $cache1, $cache2, $cache3, $cache4, $cache5, $cache6, $cache7, $cache8, $cache9, $cache10, $cache11, $cache12, $Process
    test()
    Global $cnt2 = 0
    GUICreate("Minecraft Manager", 750, 450) ; Erstellt ein GUI-Fenster welches mittig ausgerichtet wird
    GUICtrlCreateTab(-2, 0, 760, 20)
    GUICtrlCreateTabItem("Management")
    GUICtrlCreateLabel("Server Management", 30, 40, 200, 25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $start = GUICtrlCreateButton("Server starten", 30, 60, 100, 25)
    $stop = GUICtrlCreateButton("Server stoppen", 30, 90, 100, 25)
    $savea = GUICtrlCreateButton("Welt speichern", 30, 120, 100, 25)
    $autoon = GUICtrlCreateButton("Auto Save On", 30, 150, 100, 25)
    $autooff = GUICtrlCreateButton("Auto Save Off", 30, 180, 100, 25)
    $time = GUICtrlCreateButton("Zeit ändern", 30, 210, 100, 25)
    GUICtrlCreateLabel("Server Information", 35, 260, 200, 25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $version = GUICtrlCreateButton("Server Version", 30, 290, 100, 25)
    $list = GUICtrlCreateButton("Wer ist online?", 30, 320, 100, 25)
    GUICtrlCreateLabel("Admin Controls", 225, 260, 200, 25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $kick = GUICtrlCreateButton("Kick Player", 225, 290, 100, 25)
    $ban = GUICtrlCreateButton("Ban Player", 225, 320, 100, 25)
    $reban = GUICtrlCreateButton("Ban aufheben", 225, 350, 100, 25)
    ;#################################################
    $message = GUICtrlCreateButton("Nachricht senden", 335, 290, 100, 25)
    $banip = GUICtrlCreateButton("Ban IP", 335, 320, 100, 25)
    $rebanip = GUICtrlCreateButton("IP Ban aufheben", 335, 350, 100, 25)
    ;##################################################
    $opon = GUICtrlCreateButton("OP Rechte geben", 445, 290, 100, 25)
    $opweg = GUICtrlCreateButton("OP Rechte nehmen", 445, 320, 100, 25)
    $tele = GUICtrlCreateButton("Teleport Player", 445, 350, 100, 25)
    ;####################################################
    GUICtrlCreateLabel("Server Whitelist", 620, 260, 200, 25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    ;##################################################
    $whiteon = GUICtrlCreateButton("Whitelist an/aus", 610, 290, 100, 25)
    $whitechange = GUICtrlCreateButton("Whitelist add/rem", 610, 320, 100, 25)
    $whiteshow = GUICtrlCreateButton("Whitelist anzeigen", 610, 350, 100, 25)
    $whitereload = GUICtrlCreateButton("Whitelist neuladen", 610, 380, 100, 25)
    ;######################################################
    $console = GUICtrlCreateEdit("", 150, 40, 550, 200)
    $exit = GUICtrlCreateButton("Beenden", 610, 420, 100, 25)
    GUICtrlCreateTabItem("Server Einstellungen")
    _FileReadToArray(@ScriptDir & "\server.properties", $config)
    GUICtrlCreateLabel("Name der Welt:", 10, 50, 100, 25)
    $name = GUICtrlCreateInput($cache[2], 10, 80, 100, 25)
    GUICtrlCreateLabel("Höllenwelt:", 10, 115, 100, 25)
    $hell = GUICtrlCreateInput($cache2[2], 10, 140, 100, 25)
    GUICtrlCreateLabel("Monster aktivieren:", 10, 175, 100, 25)
    $monster = GUICtrlCreateInput($cache3[2], 10, 200, 100, 25)
    GUICtrlCreateLabel("Online Modus:", 150, 50, 100, 25)
    $online = GUICtrlCreateInput($cache4[2], 150, 80, 100, 25)
    GUICtrlCreateLabel("Tiere aktivieren:", 150, 115, 100, 25)
    $tiere = GUICtrlCreateInput($cache5[2], 150, 140, 100, 25)
    GUICtrlCreateLabel("Anzahl Spieler:", 150, 175, 100, 25)
    $gamers = GUICtrlCreateInput($cache6[2], 150, 200, 100, 25)
    GUICtrlCreateLabel("Server IP:", 290, 50, 100, 25)
    $serverip = GUICtrlCreateInput($cache7[2], 290, 80, 100, 25)
    GUICtrlCreateLabel("PVP aktivieren", 290, 115, 100, 25)
    $PVP = GUICtrlCreateInput($cache8[2], 290, 140, 100, 25)
    GUICtrlCreateLabel("Level Seeds", 290, 175, 100, 25)
    $seeds = GUICtrlCreateInput($cache9[2], 290, 200, 100, 25)
    GUICtrlCreateLabel("Server Port", 430, 55, 100, 25)
    $port = GUICtrlCreateInput($cache10[2], 430, 80, 100, 25)
    GUICtrlCreateLabel("Whitelist aktivieren", 430, 115, 100, 25)
    $whitelist = GUICtrlCreateInput($cache11[2], 430, 140, 100, 25)
    $save = GUICtrlCreateButton("Speichern", 10, 250, 100, 25)
    GUISetState(@SW_SHOW) ; Zeigt das leere GUI-Fenster

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $exit
    Exit
    Case $save
    _save()
    Case $start
    $Process = Run('C:\Program Files (x86)\Java\jre6\bin\java.exe -Xms1024M -Xmx1024M -jar ' & @ScriptDir & "\minecraft_server.jar", '', '', 0x9)
    AdlibRegister("Getdata", 2000)
    AdlibRegister("delgui", 1000)
    Case $stop
    StdinWrite($Process, "stop")
    Case $savea
    StdinWrite($Process, "save-all")
    Case $autoon
    StdinWrite($Process, "save-on")
    Case $autooff
    StdinWrite($Process, "save-off")
    Case $savea
    StdinWrite($Process, "save-all")
    Case $time
    $lol = InputBox("Weltzeit setzen, zwischen 0 und 24000","")
    StdinWrite($Process, GUICtrlRead($lol))
    Case $version
    StdinWrite($Process, "version")
    Case $list
    StdinWrite($Process, "list")
    Case $kick
    $lol = InputBox("Welcher Spieler soll gekickt werden?","")
    StdinWrite($Process, GUICtrlRead($lol))
    Case $ban
    $lol = InputBox("Welcher Spieler soll gebannt werden?","")
    StdinWrite($Process, GUICtrlRead($lol))
    Case $reban
    $lol = InputBox("Welcher Spieler soll entbannt werden?","")
    StdinWrite($Process, GUICtrlRead($lol))
    Case $message
    $lol = InputBox("Nachricht hier eingeben","")
    StdinWrite($Process, GUICtrlRead($lol))
    Case $banip
    $lol = InputBox("Welcher Spieler soll gebannt werden? IP Adresse !","")
    StdinWrite($Process, GUICtrlRead($lol))
    Case $banip
    $lol = InputBox("Welcher Spieler soll entbannt werden? IP Adresse !","")
    StdinWrite($Process, GUICtrlRead($lol))
    Case $opon
    $lol = InputBox("Welcher Spieler soll OP werden?","")
    StdinWrite($Process, GUICtrlRead($lol))
    Case $opweg
    $lol = InputBox("Von welchem Spieler soll der OP genommen werden?","")
    StdinWrite($Process, GUICtrlRead($lol))
    Case $tele
    $lol = InputBox("Name von dem Spieler, welcher teleportiert werden soll.","")
    $lol2 = InputBox("Name des Spielers, zu dem der erste Spieler teleportiert werden soll.","")
    StdinWrite($Process, GUICtrlRead($lol) & "" & GUICtrlRead($lol2))
    Case $whiteon
    $lol = InputBox("Whitelist on oder off?","")
    StdinWrite($Process, GUICtrlRead($lol))
    EndSwitch
    WEnd

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

    Func test()
    _FileReadToArray(@ScriptDir & "\server.properties", $config)
    $cache = StringSplit($config[3], "=")
    $cache2 = StringSplit($config[4], "=")
    $cache3 = StringSplit($config[5], "=")
    $cache4 = StringSplit($config[6], "=")
    $cache5 = StringSplit($config[7], "=")
    $cache6 = StringSplit($config[8], "=")
    $cache7 = StringSplit($config[9], "=")
    $cache8 = StringSplit($config[10], "=")
    $cache9 = StringSplit($config[11], "=")
    $cache10 = StringSplit($config[12], "=")
    $cache11 = StringSplit($config[13], "=")
    EndFunc ;==>test

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

    Func _save()
    FileDelete(@ScriptDir & "\server.properties")
    FileWrite(@ScriptDir & "\server.properties", "#Minecraft server properties" & @CRLF & "#Thu Apr 14 18:32:54 CEST 2011" & @CRLF & "level-name=" & GUICtrlRead($name) & @CRLF & "hellworld=" & GUICtrlRead($hell) & @CRLF & "spawn-monsters=" & GUICtrlRead($monster) & @CRLF & "online-mode=" & GUICtrlRead($online) & @CRLF & "spawn-animals=" & GUICtrlRead($tiere) & @CRLF & "max-players=" & GUICtrlRead($gamers) & @CRLF & "server-ip=" & GUICtrlRead($serverip) & @CRLF & "pvp=" & GUICtrlRead($PVP) & @CRLF & "level-seed=" & GUICtrlRead($seeds) & @CRLF & "server-port=" & GUICtrlRead($port) & @CRLF & "white-list=" & GUICtrlRead($whitelist))
    EndFunc ;==>_save

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

    Func _checkdir()
    If FileExists(@ScriptDir & "\server.properties") = 0 Then
    MsgBox(0, "Achtung", "Server.properties wurde nicht gefunden, falsches Verzeichnis?")
    Exit
    EndIf
    If FileExists(@ScriptDir & "\minecraft_server.jar") = 0 Then
    MsgBox(0, "Achtung", "minecraft_server.jar konnte nicht gefunden werden, falsches Verzeichnis?")
    Exit
    EndIf
    EndFunc ;==>_checkdir

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

    Func Getdata()
    Local $avArray
    $cnt = _FileCountLines("server.log")
    If $cnt <> $cnt2 Then
    _FileReadToArray("server.log", $avArray)
    If IsArray($avArray) Then
    $data = GUICtrlRead($console)
    For $i = $cnt2 To $avArray[0]
    GUICtrlSetData($console, $data & @CRLF & $avArray[$i] & @CRLF)
    $data = GUICtrlRead($console)
    Next
    $cnt2 = $cnt
    EndIf
    EndIf
    _GUICtrlEdit_LineScroll($console, 0, _GUICtrlEdit_GetLineCount($console))
    EndFunc ;==>Getdata

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

    Func _Start()
    $foo = True
    $dir = @ScriptDir
    $cmd = 'java -Xms1024M -Xmx1024M -jar minecraft_server.jar'
    FileChangeDir($dir)
    $foo = Run(@ComSpec & " /c " & $cmd, $dir, 1, $STDIN_CHILD + $STDOUT_CHILD)
    EndFunc ;==>_Start

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

    Func delgui()
    WinSetState("Minecraft server", "", @SW_HIDE)
    EndFunc ;==>delgui

    [/autoit]

    Greez

    Einmal editiert, zuletzt von Kev (18. April 2011 um 14:49)

  • klar weiß ich das man es decompilern kann .
    wenn man will.

    und danke für die GUI werde ich gerne übernehmen^^.

    ab der nächten version wird bestimmt opensource(legal)^^.