Saya mencoba menjalankan server minecraft di server unRAID saya.
Server akan berjalan di shell, dan kemudian duduk di sana menunggu input. Untuk menghentikannya, saya harus mengetik 'berhenti' dan tekan enter, dan kemudian itu akan menyelamatkan dunia dan keluar dengan anggun, dan saya kembali ke shell. Itu semua berfungsi jika saya menjalankannya melalui telnetting ke dalam kotak NAS, tetapi saya ingin menjalankannya langsung di kotak itu.
inilah yang sebelumnya saya lakukan sebagai upaya pertama:
#define USER_SCRIPT_LABEL Start Minecraft server
#define USER_SCRIPT_DESCR Start minecraft server. needs sde2 mounted first
cd /mnt/disk/sde2/MCunraid
screen -d -m -S minecraft /usr/lib/java/bin/java -Xincgc -Xmx1024M -jar CraftBukkit.jar
MCunraid adalah folder di mana saya memiliki Craftbukkit.jar dan semua file dunia, dll. Jika saya mengetikkan garis layar itu secara langsung, layar pengaturannya terlepas dan server diluncurkan. Jika saya mengeksekusi baris itu dari dalam skrip, sepertinya ia tidak mengatur layar
untuk menghentikan server, saya perlu 'mengetik' di STOP dan kemudian tekan enter. Pendekatan saya adalah
screen -S minecraft -X stuff "stop $(echo -ne '\r')"
untuk mengirim ke layar 'minecraft' berhenti teks dan carriage return. Tapi itu tidak berhasil, bahkan jika saya mengetiknya langsung ke baris perintah. Tetapi jika saya 'layar -r' saya bisa mendapatkan layar dengan server berjalan, kemudian ketik 'berhenti' dan dimatikan dengan benar.
Server berjalan dengan baik jika saya telnet dan melakukannya secara manual, hanya perlu menjalankannya tanpa terhubung dari komputer jarak jauh saya.
#!/bin/bash
dan set -x
di bagian atas skrip, dan tunjukkan kami jejak hasil dari skrip. Anda mungkin perlu mencari di dokumentasi unMENU untuk mengetahui ke mana perginya output itu.
screen
gagal memulai? Coba tambahkanset -x
di bagian atas skrip (tepat setelah#!
baris) dan laporkan hasil penelusuran ketika Anda menjalankan skrip.