তিনি এটিকে কিছুটা প্রাথমিক ও সরল মনে হতে পারে তবে আমি এর আগে কখনও তা করি নি।
আমার কাছে এই মাইনক্রাফ্ট সার্ভার রয়েছে এবং এটি একটি ব্যাচ ফাইল যুক্ত বুদ্ধি দিয়ে শুরু করে:
java -Xms1012M -Xmx1012M -jar craftbukkit-1.5.1-R0.1.jar -o true
PAUSE
এখন আমি খুব সহজ একটি ব্যাচ তৈরি করতে চাই যা সার্ভারটি থামিয়ে দেয়। সেন্টিমিডিতে আমি কেবল স্টপ টাইপ করতে পারি এবং সার্ভারটি বন্ধ হয়ে যায়। চলমান জাভা অ্যাপ্লিকেশনটিতে আমি এই আদেশটি কীভাবে পাস করতে পারি।
কিছু ছদ্ম কোড:
java craftbukkit-1.5.1-R0.1.jar stop
আমার সত্যিই কোন ধারনা নেই। আমি ইন্টারনেট অনুসন্ধান করেছি তবে আমি কেবল একটি স্টার্ট.বাট তৈরির টিউটোরিয়াল খুঁজে পাই।
টিউটোরিয়াল সহ একটি লিঙ্কও আমাকে আনন্দিত করবে। এটি কেবল এমনটি ঘটে যা আমি কোনও ভাল টিউটোরিয়াল খুঁজে পাই না যা এটি কভার করে।
এখন আমি লিনাক্সের জন্য এই স্ক্রিপ্টটি পেয়েছি:
#!/bin/bash
# Made by Devils Child.
##############################################################
DIRECTORY='/home/minecraft'
SESSIONNAME='minecraftserverscreen'
JARFILE='craftbukkit.jar'
WORLDNAME='world'
NETHERNAME='world_nether'
SKYNAME='world_skylands'
ENDNAME='world_the_end'
##############################################################
start()
{
SCREENID=$(screen -ls | grep -w $SESSIONNAME | cut -f 2)
if [ $SCREENID ]; then
echo "Minecraft is already running."
else
echo "Starting Minecraft server..."
screen -dmS $SESSIONNAME java -Xms768M -Xmx768M -jar $JARFILE nogui
fi
}
stop()
{
SCREENID=$(screen -ls | grep -w $SESSIONNAME | cut -f 2)
if [ $SCREENID ]; then
echo "Stopping Minecraft server..."
screen -S $SESSIONNAME -p 0 -X stuff "`printf "stop\r"`"
while screen -ls | grep $SESSIONNAME > /dev/null
do
sleep 0.1
done
else
echo "Minecraft is not running."
fi
}
restart()
{
echo "Restarting Minecraft server..."
stop > /dev/null && start > /dev/null
}
saveoff()
{
screen -S $SESSIONNAME -p 0 -X eval 'stuff "say Starting backup..."\015'
screen -S $SESSIONNAME -p 0 -X eval 'stuff "save-off"\015'
screen -S $SESSIONNAME -p 0 -X eval 'stuff "save-all"\015'
sync
}
saveon()
{
screen -S $SESSIONNAME -p 0 -X eval 'stuff "save-on"\015'
screen -S $SESSIONNAME -p 0 -X eval 'stuff "say Backup complete."\015'
}
backup()
{
echo "Creating backup of '$WORLDNAME', '$NETHERNAME', '$SKYNAME' and '$ENDNAME'..."
saveoff
sleep 5
mkdir -p backups
tar cfv "backups/NEW.tar" $WORLDNAME $NETHERNAME $SKYNAME $ENDNAME > /dev/null
mv "backups/NEW.tar" "backups/$(date +"%m-%d-%Y_%H.%M.%S").tar"
saveon
}
restore()
{
echo "Restoring '$WORLDNAME', '$NETHERNAME', '$SKYNAME' and '$ENDNAME'..."
stop > /dev/null
rm -r $WORLDNAME
rm -r $NETHERNAME
rm -r $SKYNAME
rm -r $ENDNAME
tar xfv "backups/$(ls backups -t | head -1 | grep ".tar")" > /dev/null
start > /dev/null
}
cd $DIRECTORY
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
backup)
backup
;;
restore)
restore
;;
*)
echo "Usage: ${0} {start|stop|restart|backup|restore}"
exit 2
esac
exit 0
তবে আমার সার্ভারটি একটি উইন্ডোজএক্সপি মেশিন চালাচ্ছে তাই উইন্ডোজে উপরেরগুলি করার কোনও উপায় আছে? আমার কোন ধারণা নাই.