Minecraft Server

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von VincentTB.

    Vielleicht hilft dir ja das weiter:

    VB.NET-Quellcode

    1. Option Strict On
    2. 'StartServer("C:\Program Files (x86)\Java\jre7\bin\java.exe", "-Xmx1024M -Xms1024M -jar craftbukkit.jar -nojline")
    3. ''' <summary>
    4. ''' Startet und Verwaltet einen Konsolenbasierenden Server
    5. ''' </summary>
    6. ''' <remarks></remarks>
    7. Public Class ServerManager : Inherits ComponentModel.Component
    8. #Region "Declarations"
    9. ''' <summary>
    10. ''' Gibt ausgaben der Konsole aus
    11. ''' </summary>
    12. ''' <param name="sOutput">Ausgabe</param>
    13. ''' <remarks></remarks>
    14. Event OutputChanged(ByVal sOutput As String)
    15. ''' <summary>
    16. ''' Server gestartet
    17. ''' </summary>
    18. ''' <remarks></remarks>
    19. Event ServerStarted()
    20. ''' <summary>
    21. ''' Server am starten
    22. ''' </summary>
    23. ''' <remarks></remarks>
    24. Event ServerStarting()
    25. ''' <summary>
    26. ''' Server beendet
    27. ''' </summary>
    28. ''' <remarks></remarks>
    29. Event ServerClosed()
    30. Public ConsolenManager As System.IO.StreamWriter
    31. WithEvents p As New Process()
    32. Friend isRunning As Boolean = False
    33. #End Region
    34. ''' <summary>
    35. ''' Startet eine neue Instanz eines Konsolen-Servers
    36. ''' </summary>
    37. ''' <param name="FileName">Serverdatei</param>
    38. ''' <param name="Arguments">Startargumente</param>
    39. ''' <remarks></remarks>
    40. Public Sub StartServer(ByVal FileName As String, Optional ByVal Arguments As String = "")
    41. RaiseEvent ServerStarting()
    42. p.StartInfo.FileName = FileName
    43. p.StartInfo.Arguments = Arguments
    44. p.StartInfo.RedirectStandardError = True
    45. p.StartInfo.RedirectStandardInput = True
    46. p.StartInfo.RedirectStandardOutput = True
    47. p.StartInfo.CreateNoWindow = True
    48. p.StartInfo.UseShellExecute = False
    49. p.Start()
    50. p.BeginErrorReadLine()
    51. p.BeginOutputReadLine()
    52. ConsolenManager = p.StandardInput
    53. RaiseEvent ServerStarted()
    54. End Sub
    55. Private Sub p_OutputDataReceived(ByVal sender As Object, ByVal e As DataReceivedEventArgs) Handles p.OutputDataReceived
    56. RaiseEvent OutputChanged(e.Data)
    57. End Sub
    58. Private Sub p_ErrorDataReceived(ByVal sender As Object, ByVal e As DataReceivedEventArgs) Handles p.ErrorDataReceived
    59. RaiseEvent OutputChanged(e.Data)
    60. End Sub
    61. Private Sub p_exited(ByVal sender As Object, ByVal e As System.EventArgs) Handles p.Exited
    62. RaiseEvent ServerClosed()
    63. End Sub
    64. ''' <summary>
    65. ''' Führt einen Befehl in der Konsole des Server aus
    66. ''' </summary>
    67. ''' <param name="sCommand">Befehl der ausgeführt werden soll</param>
    68. ''' <remarks></remarks>
    69. Public Sub runCommand(ByVal sCommand As String)
    70. If isRunning = True Then
    71. ConsolenManager.WriteLine(sCommand)
    72. Else
    73. MsgBox("Befehl konnte nicht ausgeführt werden, da keine Instanz eines Server gestartet ist", MsgBoxStyle.OkOnly, "Fehler")
    74. End If
    75. End Sub
    76. ''' <summary>
    77. ''' Stoppt die laufende Instanz des Servers
    78. ''' </summary>
    79. ''' <remarks></remarks>
    80. Public Sub killServer()
    81. If isRunning = True Then
    82. p.Kill()
    83. isRunning = False
    84. Else
    85. MsgBox("Server konnte nicht gestoppt werden, da keine laufende Instanz besteht", MsgBoxStyle.OkOnly, "Fehler")
    86. End If
    87. End Sub
    88. End Class


    :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mario K.“ ()