আমি আমার আনরেড সার্ভারে একটি মাইনক্রাফ্ট সার্ভার চালানোর চেষ্টা করছি।
সার্ভারটি শেলটি চলবে এবং তারপরে ইনপুটটির জন্য অপেক্ষা করবে। এটি বন্ধ করতে, আমাকে 'স্টপ' টাইপ করতে হবে এবং এন্টার টিপতে হবে, এবং তারপরে এটি বিশ্বকে বাঁচাতে হবে এবং সান্ধ্যভাবে প্রস্থান করবে এবং আমি শেলের মধ্যে ফিরে আসছি। এটি সমস্ত কাজ করে যদি আমি এটি এনএএস বক্সে টেলনেটিংয়ের মাধ্যমে চালিত করি তবে আমি এটি সরাসরি বাক্সে চালাতে চাই।
এর আগে আমার প্রথম প্রচেষ্টা ছিল:
#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
এমকুনারেড হ'ল ফোল্ডার যেখানে আমার ক্রাফটবুককিট.জার এবং সমস্ত ওয়ার্ল্ড ফাইল ইত্যাদি রয়েছে আমি যদি সেই স্ক্রিন লাইনটি সরাসরি টাইপ করি তবে স্ক্রিনটি সেটআপ বিচ্ছিন্ন হয়ে যায় এবং সার্ভার চালু হয়। আমি যদি স্ক্রিপ্টের মধ্যে থেকে সেই লাইনটি কার্যকর করি তবে মনে হয় এটি কোনও স্ক্রীন সেট আপ করবে না
সার্ভারটি বন্ধ করার জন্য, আমাকে স্টপে 'টাইপ' করতে হবে এবং তারপরে এন্টার টিপুন। আমার পন্থা ছিল
screen -S minecraft -X stuff "stop $(echo -ne '\r')"
স্ক্রিনে 'মাইনক্রাফ্ট' পাঠাতে পাঠ্য স্টপ এবং একটি ক্যারেজ রিটার্ন। তবে এটি কার্যকর হয় না, এমনকি যদি আমি এটি সরাসরি কমান্ড লাইনে টাইপ করি। তবে আমি যদি 'স্ক্রিন-আর' সার্ভারটি চালিয়ে স্ক্রিনে উঠতে পারি, তবে 'স্টপ' টাইপ করুন এবং এটি সঠিকভাবে বন্ধ হয়ে যায়।
সার্ভারটি ভালভাবে চালিত হয় যদি আমি এটিতে টেলনেট করি এবং ম্যানুয়ালি এটি করি তবে আমার দূরবর্তী কম্পিউটার থেকে সংযুক্ত না হয়ে কেবল এটি চালানো দরকার।
#!/bin/bash
এবং set -x
স্ক্রিপ্ট উপরের, এবং আমাদের স্ক্রিপ্ট থেকে আউটপুট ট্রেস প্রদর্শন করুন। সেই আউটপুটটি কোথায় চলেছে তা জানতে আপনাকে UNMU ডকুমেন্টেশন সন্ধান করতে হবে।
screen
এটি শুরু করতে ব্যর্থ হয়েছে?set -x
স্ক্রিপ্টের শীর্ষে (#!
লাইনের ঠিক পরে ) যুক্ত করার চেষ্টা করুন এবং স্ক্রিপ্টটি চালানোর সময় ট্রেস আউটপুটটি প্রতিবেদন করুন।