UnRAID sunucumda bir minecraft sunucusu çalıştırmaya çalışıyorum.
Sunucu kabuğun içinde çalışacak ve daha sonra girişi bekleyerek orada duracaktır. Durdurmak için 'stop' yazmalı ve enter tuşuna basmalıyım, sonra dünyayı kurtaracak ve zarif bir şekilde çıkacağım ve kabuğuma geri döneceğim. Telnetleme yoluyla NAS kutusuna bağladığımda hepsi işe yarar, ancak doğrudan kutunun üzerinde çalıştırmak istiyorum.
Bu daha önce ilk girişim olarak yaşadıklarım:
#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, Craftbukkit.jar ve tüm dünya dosyalarının bulunduğu klasör. Bu satırı betiğin içinden yürütürsem, ekran ayarlamıyor gibi görünüyor.
Sunucuyu durdurmak için STOP yazıp 'enter'a basmam gerekiyor. Benim yaklaşımım
screen -S minecraft -X stuff "stop $(echo -ne '\r')"
'Minecraft' ekranına göndermek için metni durdurun ve satır başı gönderin. Ancak, doğrudan komut satırına yazsam bile, bu işe yaramaz. Ama eğer 'screen -r' sunucumu çalıştıran ekrana erişebilirsem, o zaman 'stop' yazıp düzgün bir şekilde kapanıyor.
Telnet içeri girip manuel olarak yaparsam, sunucu iyi çalışıyor, sadece uzak bilgisayarıma bağlanmadan çalıştırmam gerekiyor.
#!/bin/bash
ve set -x
script üst kısmında ve bize komut iz çıktısını gösterir. Bu çıkışın nereye gittiğini bulmak için unMENU belgelerine bakmanız gerekebilir.
screen
başlayamadığını nasıl söylersin ?set -x
Komut dosyasının üstüne eklemeyi deneyin (#!
satırın hemen ardından ) ve komut dosyasını çalıştırdığınızda izleme çıktısını raporlayın.