PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Minecraft Portable + Bukkit-Server starten?



o0Pascal0o
28.12.11, 18:26
Hi,

ich habe Mindcraft portable gemacht & starte es jetzt so:


@echo off
set APPDATA=%CD%\data
start "MineCraftPortable" "data\Minecraft.exe"


Den Bukkit-Server startet man normalerweise so(standard-batch):


@ECHO OFF
SET BINDIR=%~dp0
CD /D "%BINDIR%"
"%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -Xincgc -Xmx1G -jar craftbukkit-1.0.0-SNAPSHOT.jar
PAUSE


Aber so funktioniert das dann ja nicht. Vielen Dank!

Pascal

Hidden Evil
28.12.11, 21:57
Wieso benutzt Du eigentlich die MinecraftSP.exe? Die gibt es offiziell gar nicht. Und Minecraft portable zu machen entspricht nicht den Richtlinien von Mojang.

Aber an sich ist Bukkit grundsätzlich portable. Ich starte meinen Server so (es ist eine Abfrage drin, ob man ein 64-Bit-System hat oder ein 32-Bit):

@echo off
title Minecraft Server v1.0.0 (Bukkit #1597)
if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="64" "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -Xincgc -Xmx1024M -jar "craftbukkit-1.0.1-R1.jar"
if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="86" java -Xincgc -Xmx1024M -jar "craftbukkit-1.0.1-R1.jar"

Razorblade
29.12.11, 09:02
@Hidden: Wäre es nicht sinnvoll eine Abfrage hinzuzufügen die bei einem x64-System auch überprüft ob eine x64-Version von Java installiert ist?
Zwar wird meistens die x86-Version installiert da die Browser idR auf x86 laufen, aber es kann ja mal sein, dass sich jemand (ich z.b. ^^) die Java-Installation manuell vorgenommen hat und so die x64-Version am laufen hat da es sonst (wie bei mir >>) dauernd zu abstürzen kommt...

o0Pascal0o
29.12.11, 14:32
Die SP stammt noch aus ner anderem portable-Anleitung. Mit deiner Bukkit-Bacht startet der Bukkit aber auch nicht.

Was heisst denn: SET BINDIR=%~dp0
Das hast du bei dir ja gar nicht drin.

Razorblade
29.12.11, 17:17
set bindir=%~dp0

Setze die Variable "bindir" auf %~dp0 (entspricht dem vollständigen Pfad der Batch, AFAIR)

Hidden Evil
29.12.11, 18:58
Die SP stammt noch aus ner anderem portable-Anleitung.

Das beantwortet meine Frage nicht. Die MinecraftSP.exe wird beinahe ausschließlich in Kreisen verwendet, die sich keinen Account gekauft haben, daher möchte ich wissen, ob das bei Dir ebenfalls der Fall ist. Wie gesagt, offiziell gibt es die gar nicht.

o0Pascal0o
29.12.11, 22:59
also ich kann auch die offizielle nutzen, funktioniert genauso. Aber der Bukkit lässt sich trotzdem nicht starten. Das hängt einfach irgendwie mit dem anderen portable machen zusammen. So habe ich es gemacht: [HD] How To Make MineCraft Portable (Easy!) (and Updated!) - YouTube (http://www.youtube.com/watch?v=-_YvJgKG_tE)
Aber nix selbst umgestellt sondern den Installer hier bentuzt: MEGAUPLOAD - The leading online storage and file delivery service (http://www.megaupload.com/?d=OD9ITXPW)

bastla
31.12.11, 15:50
Wieso benutzt Du eigentlich die MinecraftSP.exe? Die gibt es offiziell gar nicht. Und Minecraft portable zu machen entspricht nicht den Richtlinien von Mojang.

Aber an sich ist Bukkit grundsätzlich portable. Ich starte meinen Server so (es ist eine Abfrage drin, ob man ein 64-Bit-System hat oder ein 32-Bit):

@echo off
title Minecraft Server v1.0.0 (Bukkit #1597)
if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="64" "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -Xincgc -Xmx1024M -jar "craftbukkit-1.0.1-R1.jar"
if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="86" java -Xincgc -Xmx1024M -jar "craftbukkit-1.0.1-R1.jar"

Mein Code macht ja hier richtig die Runde!
Kleiner Tipp am Rande: Das BukkitBuild #1597 enpstricht Minecraft Server v1.0.1

Aber sonst top:daumen+

Gruß
bastla

Edit: Ich sehe gerade, dass der Java-Pfad für die 64-bit Systeme nicht ganz sooooo aktuell ist. Denn mittlerweile wurd auch Java 7 released und deswegen könnte man die "6" auch durch eine "7" ersetzen ;).
Übrigens: Bei einem 32-bit System kann man Bukkit nicht mehr als 1GB RAM zuweisen, da 32-bit erstens nur 4GB RAM benutzen kann und auf ihnen auch nicht mehr als 1GB in Programme stecken kann :).
Ah ja, bevor ich es vergess': Ein frohes neues Jahr 2012 und einen guten Rutsch wünsche ich euch!

o0Pascal0o
31.12.11, 18:37
Frohes Neues ebenfalls. Hat noch Jemand ne Idee wie ich den Bukkit starten könnte?

Fernaless
31.12.11, 19:48
Auf die normale, geplante Art und Weiße. ;)

o0Pascal0o
01.01.12, 13:35
aber dann ist Minecraft wieder unter C:\ irgendwo, wo mein OS nur sein soll. Und wenn ich beim Kollegen zocke, dann kann ich es auch nicht mitnehmen.

Hidden Evil
01.01.12, 14:25
Geht recht einfach, das Verzeichnis zu finden, es ist unter %appdata%/.minecraft. Du kannst das Fettgedruckte (der Punkt hinter .minecraft gehört nicht mehr dazu!) einfach im Explorer in die Adressleiste eingeben und schon bist Du im Minecraft-Verzeichnis. Die Daten von einem oder auf einen USB-Stick zu kopieren sollte dabei dann das geringste Problem sein.

bastla
01.01.12, 15:54
Hehe, was ich ja immer noch richtig gut finde:
Der oben gepostete Batch-Code für die "Portabilisierung" (hab ich grad ein neues Wort erfunden?) funktioniert theoretisch. Und da es da schon soooo viele Videos auf YT gibt, funkitoniert er sicher auch praktisch :).

Und jetzt für alle zum Nachmachen:
1. Erstelle einen Ordner mit dem Namen "Minecraft Protable"
2. Erstelle in diesem Ordner einen Ordner mit dem Namen "data"
3. Kopiere den ".minecraft"-Ordner in den "data"-Ordner
4. Benutze Pascals oben geposteten Batch-Code und speichere die bat-Datei in dem "Minecraft Portable"-Ordner
5. Kopiere die Minecraft.exe in den "data"-Ordner

Diese Vorgehensweise ist zwar sehr komisch, aber bitte.....

Man kann den Vorgang auch mit einem Batchscript automatisieren:

@echo off
rem BENUTZUNG AUF EIGENE GEFAHR!
:check
if exist Minecraft.exe goto start
:creat
xcopy "%appdata%\.minecraft" "%~dp0\.minecraft" /e
:minecraft.exe
cls
echo Bitte kopieren Sie Minecraft.exe in diesen Ordner!
echo.
pause
if exist Minecraft.exe goto start
goto minecraft.exe
:start
set "appdata=%~dp0"
start Minecraft.exe
Falls gefragt wird, ob das Zielverzeichnis eine Datei oder ein Verzeichnis ist, bitte die V-Taste drücken, also Verzeichnis auswählen.

Diese Batch sollte theoretisch funktionieren, habe ich NICHT getestet!

o0Pascal0o
01.01.12, 15:55
jo danke - das war mal das Verzeichnis, aber ich wollte das ja von C:\ weghaben & habe es mit der Methode im Video letztendlich geschafft. Aber der Bukkit lässt sich jetzt nicht mehr auf die herkömmliche Art starten.

:Edit:
Oh, der bastla hat ja noch etwas geschrieben. Das muß ich mir jetzt erst einmal durchlesen.

bastla
01.01.12, 16:05
Der oben gepostete Code funktioniert :).

Einfach einen neuen Ordner erstellen, diesen Code reinkopieren und die bat starten.
Er erstellt dann automatisch eine Kopie des aktuellen .minecraft-Ordners. Später kann der Ordner auf einen anderen PC kopiert werden und ebenfalls muss nurnoch die bat-Datei gestartet werden, Minecraft wird dann portable gestartet :).

Er macht Minecraft portable, habs selbst getestet :).

Gruß
bastla

Edit: Hier (https://www.supernature-forum.de/tutorials-and-tipps/107137-minecraft-goes-portable-minecraft-portable-version-verwandeln.html) ist es jetzt auch nochmal im Tutorial-Forum.

o0Pascal0o
02.01.12, 00:12
Ja, vielen Dank. Portabel hatte ich Minecraft ja auch schon mit dem Youtube-Vid letztenendes hinbekommen. Was mir fehlt, ist jetzt, dass ich die Portable Version mit dem Bukkit-Server starten kann. Da muß doch sicherlich die Batch vom Bukkit-Server angepasst werden.

schl3ck
02.01.12, 00:24
Ich verstehe nicht ganz, was das Problem beim Bukkit ist. Man kann doch die craftbukkit.jar und die Start.bat in irgend einen Ordner geben. Der Rest wird dann in Unterordner sortiert. Auf den Server kommt man dann mit 'localhost' als IP-Adresse.

Wenn ich da was falsch verstanden hatte, bitte ich um Entschuldigung.

bastla
02.01.12, 21:06
Nichts falsch verstanden :).

Lediglich die IP in den server.properties und evtl der Port muss angepasst werden, wenn Bukkit auf einen neuen Rechner umzieht :D.

Gruß
bastla

PS: Du musst natürlich auch die Batch nehmen, die Hidden gepostet hat :). Die ist schon portable.

o0Pascal0o
14.01.12, 19:39
Ist der Code nicht irgendwie falsch?


if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="64" "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -Xincgc -Xmx1024M -jar "craftbukkit-1.0.1-R1.jar"
if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="86" java -Xincgc -Xmx1024M -jar "craftbukkit-1.0.1-R1.jar"

da steht ja in der 1. Zeile: Wenn Prozessor=64 dann gehe in ProgramFiles für x86!?!? Wenn ich Java woanders installiert hätte, müsste ich dann den Pfad von mir dort eintragen anstelle von: "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" ?

Und warum ist darunter in der Zeile nicht der Pfad zu Java angegeben?

bastla
16.01.12, 15:10
Der Code ist an sich nicht falsch! x86 ist 32bit und x64 ist 64bit. Hier wird nur die 32bit Version von Java verwendet.

Wenn also System 32bit, dann starte Java (32bit-Edition) normal.
Wenn aber System 64bit, dann starte AUCH Java 32bit-Editon. <-- Wenn man den normalen "java"-Befehl nimmt, dann wird die 64bit-Version gestartet.

Das wollte der Autor dieses Codes, weiß Gott warum, nicht. Der Code ist nicht von mir, aber die Person, von dem du ihn hast, hat ihn auch von mir :D.

Dieser Code ist besser und effizienter, da er den normalen Java-Befehl nutzt (also entweder 32bit oder 64bit-Edition) :):

@echo off
title Minecraft Server 1.0.1 (Bukkit Build #1597)
java -Xincgc -Xmx1024M -jar "craftbukkit-1.0.1-R1.jar"
__/|\
_/_|_\
/__|__\
___|
___|
Dieser Code ist dann von mir :D.
Das Blaue musst du halt anpassen, wenn es dir nicht gefällt ;).

o0Pascal0o
16.01.12, 23:12
Danke nochmals. Also diese Architekture-If-Frage ist dann aber dort gar nicht mehr vorhanden. Startet der automatisch auf einem 64bit-System dann eine 64bit-Java-Server?

Info dazu: Wenn man auf einem 64bit-Sytem 32bit-Java installiert ist da ja möglich. Man kann auch nicht nur 64bit Java installieren, man muß es immer zusätzlich zu 32bit Java installieren.

Für 64bit könnte er doch auch so lauten:


@echo off
title Minecraft Server 1.0.1 (Bukkit Build #1597)
java -Xincgc -Xmx6144M -jar "craftbukkit-1.0.1-R1.jar"


Wenn ich den Server so starte(auf 32bit WinXP)
@echo off


title Minecraft Server 1.1.0 (Bukkit Build #1597)
java -Xincgc -Xmx1024M -jar "craftbukkit-1.1-R1-SNAPSHOT.jar"

dann wird von Windows nur 260MB Ram weggenommen - also keine 1024MB :(

Wäre das dann nicht praktisch?:


@echo off
title Minecraft Server 1.0.1 (Bukkit Build #1597)
if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="64" java -Xincgc -Xmx6144M -jar "craftbukkit-1.0.1-R1.jar"
if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="86" java -Xincgc -Xmx1024M -jar "craftbukkit-1.0.1-R1.jar"




Übrigens: Bei einem 32-bit System kann man Bukkit nicht mehr als 1GB RAM zuweisen, da 32-bit erstens nur 4GB RAM benutzen kann und auf ihnen auch nicht mehr als 1GB in Programme stecken kann :).

Wieviel GB RAM weißt denn der Vanilla standardmässig zu? Und wieviel der Bukkit standardmässig?
Damals als Battlefield 2 rauskam, empfahlen alle (auch für 32bit-Systeme) ein System mit 4GB Ram bzw. mehr als 2GB. Weil es dann schneller die Maps laden konnte, das Spiel. Das wäre ja dann schon mehr als 1 GB in dem Programm Battlefield2.



Minecraft läuft am besten auf einem CPU-Kern! Am besten du benutz einen alten Computer oder schaltest die anderen im Taskmanager aus

Das hast du zum Client gesagt. Verhält es sich mit dem Server genauso?



UND setze Minecraft die höchste Priorietät! Das geht im Taskmanager in der Registerkarte "Prozesse", Rechtsklick auf den "javaw.exe"-Prozess (wenn du mehrere hast, dann gucke, welcher zu Minecraft gehört), danach "Priorität festlegen" und "Hoch" auswähen. "Echtzeit" ist zwar noch schneller, doch dann werden alle anderen Anwendungen gestoppt! Vlt vergess ich ja noch was :D
Ebenfalls ein Tipp von dir für den Client von Minecraft. Auch empfehlenswert für den Server? Sollte man nicht javaw.exe & Minecraft.exe bzw. & die Server.exe (k.a. wie die beim Bukkit heißen würde, bei Vanilla ist es die Minecraft_Server.exe) auf hohe Priorität setzten. Oder welche von beiden ist wirklich die entscheidende?

bastla
17.01.12, 21:33
Bin gerade über Smartphone drin, kann also nicht ganz so ausführlih antworten :smokin.
Also hier Kurzfassung :D:

Ja, es wäre sehr praktisch diesen Code zu nehmen, da 32bit sowieso nicht mehr als 1GB RAM ziehen darf und bei einem 64Bit System hättest du dann (bei deinem obigen Code ca. 5 - 6 GB RAM :):

@echo off
title Minecraft Server 1.0.1 (Bukkit Build #1597)
if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="64" java -Xincgc -Xmx6144M -jar "craftbukkit-1.0.1-R1.jar"
if /I "%PROCESSOR_ARCHITECTURE:~-2%"=="86" java -Xincgc -Xmx1024M -jar "craftbukkit-1.0.1-R1.jar"

Wieviel RAM der Vanilla standardmäßig ziehen darf weiß ich nicht, dass kann man auch auch anpassen, bei der minecraft_server.jar sowieso (wird wie der Bukkit gestartet) und bei der minecraft_server.exe müsste das mit dem gleichen Batchcode wie bei der Minecraft.exe gehen, vgl. dazu den anderen Thread ;). Was ich hier sage, ist nur theoretisch, hab grad kein PC zur Hand, bei dem ich das testen könnte :o. Kannst es einfach mal ausprobieren!

Meine Tipps bezüglich SingleCores und Prioritäten gelten in erster Linie nur für den Client, dich ich denke, dass diese auch für den Server funktionieren sollten - theoretisch. Aber ich würde den Server sowieso nicht so viel RAM geben, eher dem Client, da die eigentliche Arbeit, also das Grafische und so, ja mehr beim Client als beim Server liegt, außer natürlich du betreibst einen eigenen Server-Computer dafür :).

Das mit dem richtigen Prozess ist so eine Sache...
Wenn du sowohl die vanilla Minecraft_Server.exe als auch die Minecraft.exe (also den Client) nimmst, dann ist "javaw.exe der richtige Prozess.
Da Minecraft in Java geschrieben ist, gibt es von allem auch noch eine jar-Datei und wenn du die jeweils nimmst (minecraft_server.jar & Minecraft.jar) dann lautet der Prozess nur "java.exe". Allerdings benötigen die Jar's immernoch so ein Kommandozeilenfenster im Hintergrund, wie du auch meinem Post (Edit 1, 2 oder 3) im d Client-Thread entnehmen kannst ;):D.

So ich hoffe, das hat das Meiste beantwortet, mehr Infos gibt's morgen oder vlt auch erst übermorgen, hab jetzt auch kein Bock mehr auf eine 2 x 5 cm Tastatur zu schreiben :hammer.

Gruß
bastla