Hola, gracias por responder.
Me temo que no, dentro del propio Minecraft sólo puedes crear servidores locales que no puedes configurar en absoluto, y luego los servidores de verdad, que son archivos .jar que se ejecutan con un lanzador .bat, desde luego no son tan fáciles y cómodos de configurar, gestionar, actualizar, etc, como pretendo que este programa haga.
En cuanto a la idea, voy a investigar sobre ese tal split que mencionas, y actualizo el mensaje en cuanto consiga algo.
Saludos!
Edito: He creado una aplicación de consola para hacer las pruebas, y he usado este código:
Código vb:
Ver originalImports System
Imports System.IO
Module Module1
Private s As String
Sub Main()
Dim path As String = "server.properties"
Dim sw As StreamWriter
Dim readText() As String = File.ReadAllLines(path)
For Each s In readText
Dim split As String() = s.Split(New [Char]() {"="c, CChar(vbTab)})
For Each s As String In split
If s.Trim() <> "" Then
Console.WriteLine(s)
End If
Next s
Next
Console.ReadLine()
End Sub
End Module
Este es el resultado:
Lo siguiente que debería hacer es lo que dices del diccionario, pero ni idea, ¿cómo funciona lo del diccionario? ¿cómo hago que distinga cuál es la clave y cuál el valor?
Edito 2: He encontrado esto sobre los diccionarios: http://msdn.microsoft.com/es-es/library/xfhwa508.aspx
Según lo que veo en el ejemplo, ¿debería crear entradas de dos strings por cada propiedad, en la que el primer string de cada entrada es el nombre de una propiedad? aún así sigo sin entender cómo puedo luego identificar una propiedad, y que si la siguiente palabra no es una propiedad, sino un valor, se lo asigne en el diccionario a la última propiedad que ha leído.
Edito 3: Creo que ya lo he solucionado, este es el código completo y captura de pantalla del resultado:
Código vb:
Ver originalImports System
Imports System.IO
Module Module1
Private s As String
Private leyendopropiedad As String
Private Diccionario As New Dictionary(Of String, String)
Sub Main()
Diccionario.Add("generator-settings", "")
Diccionario.Add("allow-nether", "")
Diccionario.Add("level-name", "")
Diccionario.Add("enable-query", "")
Diccionario.Add("allow-flight", "")
Diccionario.Add("server-port", "")
Diccionario.Add("level-type", "")
Diccionario.Add("enable-rcon", "")
Diccionario.Add("force-gamemode", "")
Diccionario.Add("level-seed", "")
Diccionario.Add("server-ip", "")
Diccionario.Add("max-build-height", "")
Diccionario.Add("spawn-npcs", "")
Diccionario.Add("white-list", "")
Diccionario.Add("spawn-animals", "")
Diccionario.Add("texture-pack", "")
Diccionario.Add("snooper-enabled", "")
Diccionario.Add("hardcore", "")
Diccionario.Add("online-mode", "")
Diccionario.Add("pvp", "")
Diccionario.Add("difficulty", "")
Diccionario.Add("server-name", "")
Diccionario.Add("enable-command-block", "")
Diccionario.Add("gamemode", "")
Diccionario.Add("max-players", "")
Diccionario.Add("spawn-monsters", "")
Diccionario.Add("generate-structures", "")
Diccionario.Add("view-distance", "")
Diccionario.Add("spawn-protection", "")
Diccionario.Add("motd", "")
Dim path As String = "server.properties"
Dim sw As StreamWriter
Dim readText() As String = File.ReadAllLines(path)
For Each s In readText
Dim split As String() = s.Split(New [Char]() {"="c})
For Each s As String In split
If s.Trim() <> "" Then
If Not s.StartsWith("#") Then
If Diccionario.ContainsKey(s) Then
leyendopropiedad = s
Else
If Not Diccionario.ContainsKey(s) Then
Diccionario(leyendopropiedad) = s
Sub1()
End If
End If
End If
End If
Next s
Next
Console.ReadLine()
End Sub
Private Sub Sub1()
Dim value As String = ""
Dim key As String = leyendopropiedad
If Diccionario.TryGetValue(key, value) Then
Console.WriteLine("La propiedad " & """" & key & """" & ", está establecida en = {0}.", value)
Else
End If
End Sub
End Module
Ahora iré a por los pasos 3 y 4 :P