riley92
Goto Top

(Minecraft-)Server-Konfigurationsdatei mit Batch bearbeiten

Hallo und Guten Morgen! face-smile

Ich möchte Konfigurationsdatei meines Minecraft-Servers mit einer Batch-Datei bearbeiten können.
Die Datei liegt im Format *.properties vor und der Inhalt wie folgt:

#Minecraft server properties
#Mon Apr 15 00:54:02 CEST 2013
generator-settings=
allow-nether=true
level-name=server2
enable-query=false
allow-flight=false
server-port=25565
level-type=DEFAULT
enable-rcon=false
level-seed=
server-ip=
max-build-height=256
spawn-npcs=true
white-list=false
spawn-animals=true
snooper-enabled=true
texture-pack=
online-mode=false
pvp=true
difficulty=1
gamemode=1
max-players=10
spawn-monsters=false
generate-structures=true
view-distance=10
spawn-protection=16
motd=pfogl ey.. \:D

Zuallererst: Lassen sich nur Textdateien im Format *.txt direkt verarbeiten?
Hab gelesen *.reg und andere kann man auch über Batch verarbeiten.

Jetzt sind allerdings nicht nur Zahlenwerte vertreten sondern auch Text.
Ich bräuchte dann als erstes wahrscheinlich eine FOR-Schleife, die den Text hinter dem "=" ausliest und verarbeitet, alles davor sollte unberührt bleiben.
Nun ist es so, dass ich mein Batch-Programm schon erweitert hab und das ganze Ding auch eine Art Menü hat.
Deshalb hätte ich gerne ca. folgende Lösung

Minecraft-Konfiguration bearbeiten:
===================================

[1] "Selbst eingegebener Text für den Wert": [LEER] falls nichts hinter dem "=" gefunden wird  
[2] "Selbst eingegebener Text": [TRUE/FALSE] falls entsprechendes hinter dem "=" gefunden wird  
[3] "Text": [WERT] den Text oder die Zahl die hinter dem "=" gefunden wird  
[4] "Text": [DEAFULT] falls eben jenes hinter dem "=" gefunden wird  
usw..

Dann sollte gerne, wenn die entsprechende Zahl gedrückt wird, die Variable [LEER]/[TRUE/FALSE]/[WERT]/[DEFAULT] verschwinden (aber am besten soll alles andere noch da stehen bleiben) und ein neuer Wert eingegeben werden können.
Bei [WERT]/[LEER]/[DEFAULT] eben Text oder eine Zahl, bei [TRUE/FALSE] soll der Wert einfach nur umspringen.

Sobald man mit der Konfiguration fertig ist, Enter drücken und es folgt eine Bestätigungsabfrage, ob die Einstellungen so korrekt sind und übernommen werden sollen.

Und danach die Frage, ob der Server neu gestartet werden soll.
Falls er aber nicht läuft, lässt er sich einfach vorher mit psping anpingen und die Anfrage wird übersprungen.

Frage dazu: Kann man die (hab grad vergessen wie die heißen) Sprungmarken (:STOP, :START, etc.) hintereinander ausführen lassen? Sodass im Script festgelegt wird, er soll erst :KILL ausführen für Server-Stop und danach :CREATIVE für den Creative-Server zum Starten und danach wieder ins Menü mit :START?

Könnt ihr mir da vielleicht ein Stück weiterhelfen?
Lg und schönen Start in die Woche face-smile

Content-ID: 204966

Url: https://administrator.de/contentid/204966

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

Endoro
Endoro 15.04.2013 aktualisiert um 08:56:47 Uhr
Goto Top
Hallo Riley92,

Menüs sind nun gar nicht mein Ding, aber hier mal eine Anregung, wie du starten könntest:

@echo off &setlocal
set "inifile=mc.ini"  
set "sep=........................."  

set /a counter=100
for /f "skip=2tokens=1*delims==" %%i in ('type "%inifile%"') do (  
	set /a counter+=1
	set "key=%%i"  
	set "value=%%j"  
	setlocal enabledelayedexpansion
	set "dispkey=!key!  %sep%"  
	set "dispkey=!dispkey:~0,22!"  
	set "dispval=%sep%  !value!"  
	set "dispval=!dispval:~-22!"  
	set "menukey=!counter:~-2!"  
	echo [!menukey!] !dispkey! !dispval!
	endlocal
)
pause

Viel Spass beim Basteln!
Gruss!