Debian server... Hab nen problem.

Mr. Poe

Lt. Commander
Registriert
Juli 2010
Beiträge
1.832
hallo,

hab mir ja nen kleinen server zusammenvgebaut.
jetzt hab ich aber ein paar probleme:

1. Ich will meinen minecrafz server im autostart starten (mit der rc.local) hab da nen scriptgeschrieben das im minecraft ordner liegt.
pfad in die rc.local geschrieben... Neustart... Dann erzeugt der irgentwo ne neue world. Also die .jar datei wird im falschen ordner ausgeführt.
wie sag ich dem script das java die .jar datei in dem richtigen ordner ausfuehrt?
mit cd habs ich schon versucht. Dann kommt:
cant cd to pfadname...

2. Wie kann ich java sagen das der alle kerne meines intel atom 525 ausnutzen soll?
bis jetzt nützt der nur einen kern aus.
oder wie bekomme ich da java 1.7 auf meinem debian installiert?

3. Wie kann ich java oder einem anderen programm sagen das er das auf z.b. Tty6 ausfueren soll?
also wenn ich nen programm starte, das es dann auf tty6 lauft.
also ich starte das z.b von tty1 und das soll dann auf tty6 laufen...

4. Der minecraft server erwartet ja befehle wie z.b. Stop zum stoppen des servers.
wenn ich mich über ssh anmelde... Wie kann ich dann z.b. Den befehl stop an minecraft senden?
 
Zuletzt bearbeitet:
Amarok2 schrieb:
1. Ich will meinen minecrafz server i, autostart starten (mit der rc.local) hab da nen scriptgeschrieben das im minecraft ordner liegt.
pfad in die rc.local geschrieben... Neustart... Dann erzeugt der irgentwo ne neue world. Also die .jar datei wird im falschen ordner ausgeführt.
wie sag ich dem script das java die .jar datei in dem richtigen ordner ausfuehrt?
mit cd habs ich schon versucht. Dann kommt:
cant cd to pfadname...

Hast du für Minecraft keinen eigenen Benutzer erstellt und führst Minecraft mit root aus?? oO
Wenn doch, dann liegt Minecraft im Homeverzeichniss und wird mit dem normalen Befehl der auf der Webseite steht auch richtig ausgeführt. vllt hast du auch einfach ein fehlerhaftest Skript


4. Der minecraft server erwartet ja befehle wie z.b. Stop zum stoppen des servers.
wenn ich mich über ssh anmelde... Wie kann ich dann z.b. Den befehl stop an minecraft senden?

Die Befehle funktionieren nur, wenn du Minecraft gestartet hast und den Prozess noch im Terminmal hast. Ansonsten kann du zum Stoppen nur den Prozess Killen (Java in dem Fall).
Ansonsten kannst du die ganzen Serverbefehle auch inGame benutzen. Zuerst musst du aber deinen Spieler als OP setzten.
 
Zuletzt bearbeitet:
Gegenfrage: Hast du überhaupt Plan von Linux?

Ich würde es mit nem Screen probieren!
 
1. Ja ich hab plan von linux!
2. Natürlich fuere ich minecraft nicht mit rootrechten aus.,

das mit dem stop war ja nur als beispiel gemeint.
ich will nen shutdown/backup script schreiben das so ablauft:
minecraft server: save-all
minecraft server: stop
minecraft server ordner zippen und wegschieben auf ne andere partition.
pc runterfahren

auserdem wuerd ich gern mich von der arbeit aus mit ssh drauf verbinden und dann mit dem say befehl in minecraft nachrichten schreibben auch wenn ich nicht minecraft spiele.

so noch n problem.:
wie fuere ich das script, das minecraft startet beim systemstart mit dem normalen benutzer aus? (der heist aktuell user)
 
ok dann wird ich das mit dem su mal ausprobieren ;)

aber wie sag ich dem jetzt das java die jar datei in dem ordner auf einer anderen partition ausfuert (der minecraft server liegt mit allen dateien auf sda2 das unter /mnt/minecraft_server gemountet ist, in diesem ordner ist auch das startscript mit dem befehl der auf der minecraft homepage steht.)
 
Sag doch einfach mal mit dem welchem Befehl du den Minecraft-Server genau startest und wo genau die Jar-Datei liegt.
Du wirst den Server in dieser Art starten:
Code:
java -Xms512M -Xmx1024M -jar minecraft_server.jar

und somit kannst du den Pfad des Jars auch absolut angeben, z.B.
Code:
java -Xms512M -Xmx1024M -jar /opt/minecraft/minecraft_server.jar
 
ja hab das zuerst so gestartet:

Code:
java -Xms512M -Xmx1024M -jar /opt/minecraft/minecraft_server.jar

also wenn ich jetzt im verzeichniss /home/user war hat minecraft alle datein und verzeichnisse hier neu angelegt und meine schon gespielte welt wurde nicht geladen.

jetzt hab ich das so gemacht.:

Code:
cd /mnt/minecraft_server
java -Xms512M -Xmx1024M -jar /opt/minecraft/minecraft_server.jar

das hat letztes mal nicht funktioniert weil die .sh datei im dos format abgespeichert war -.-
jetzt hab ich die neu erstellt und es funktioniert ;)

jetzt ist das problem erstmal gelöst.

jetzt steht das in meinem start script:

Code:
#!/bin/bash
su -c 'cd /mnt/minecraft_server && sh start.sh' - user

das funktioniert auch einwandfrei ;)

nur wie bekomm ich das jetzt auf tty6? also ich wills ja beim systemstart starten lassen. aber es soll nicht auf tty1 starten (was es ja normalerweise macht) sondern auf tty6.

hab auf der man page von su die option -s (oder --shell) SHELL gefunden... wie benutze ich diese option?
und ist das überhaupt so eine option mit der ich dem programm sagen kann auf welcher konsole er das starten soll?

hab das mal mit so probiert:

Code:
#!/bin/bash
su -c 'cd /mnt/minecraft_server && sh start.sh' -s tty6 - user

(oder anstatt tty6: 'tty6', '/dev/tty6', /dev/tty6)

wenn ich das so starte passiert garnichts.
java startet garnicht und erscheint auch nicht in top.
 
Zuletzt bearbeitet:
Code:
#!/bin/bash
chvt 6
su -c 'cd /mnt/minecraft_server && sh start.sh' - user

Mal so probiert?
 
Zurück
Oben