Merhabalar forumda görmediğim bir konu hakkında yardımcı olmak istedim birçoğunuz biliyordur ama bilmeyenler için uğraştırıcı birşey ve zaman kaybı
Server source kısmında game ve db derlemesi yaptıktan sonra cıkan cıktıları biliyorsunuz izinlerini 7777 yapmanız gerekiyor yoksa start etmeye çalıştığınızda izin hatası veriyor
Bunun sürekli elle 7777 yapmak yerine start dosyasında bu komutu göndermesi için ufak bir kod eklemesi yapacağız.
sh:
Burdaki kodda start vermeden önce yapması için start.sh dosyamızın üstüne ekliyoruz örn:
start.sh:
Buna göre artık elle chmod 7777 yapmanıza gerek kalmayacak.
Server source kısmında game ve db derlemesi yaptıktan sonra cıkan cıktıları biliyorsunuz izinlerini 7777 yapmanız gerekiyor yoksa start etmeye çalıştığınızda izin hatası veriyor
Bunun sürekli elle 7777 yapmak yerine start dosyasında bu komutu göndermesi için ufak bir kod eklemesi yapacağız.
sh:
chmod 7777 $main_dir/share/bin/game $main_dir/share/bin/db
NOT: DOSYA YOLUNU KENDİ YOLLARINIZA GÖRE DÜZENLEYİNBurdaki kodda start vermeden önce yapması için start.sh dosyamızın üstüne ekliyoruz örn:
start.sh:
main_dir=$(pwd)
cores_list=$(cat cores/cores.list)
default_cores="db auth ch99"
cores_count=$(echo $cores_list | wc -w | tr -d ' ')
successful_cores=""
# İzinleri güncelle
chmod 7777 $main_dir/share/bin/game $main_dir/share/bin/db
clear
echo "Kaç kanal açmak istiyorsun (1 - $cores_count)?"
read choice
if [ $choice -lt 1 ] || [ $choice -gt $cores_count ]; then
clear
echo "Geçersiz seçim. Lütfen 1 - $cores_count arasında bir sayı girin."
exit 1
fi
cores="$default_cores"
for i in $(seq 1 $choice); do
cores="$cores $(echo $cores_list | awk -v num=$i '{print $num}')"
done
clear
for i in $cores; do
PID_NUM=$(ps afx | fgrep "./$i" | fgrep -v grep | awk '{print $1}')
core_name=$(echo "$i" | awk '{print toupper(substr($0,1,1)) substr($0,2)}')
if [ -z "$PID_NUM" ]; then
cd $main_dir/cores/$i
./$i & sleep 4
successful_cores="$successful_cores $i"
else
echo "$core_name zaten açık."
sleep 3
fi
is_cleared=false
while true; do
CHECK_PID=$(ps afx | fgrep "./$i" | fgrep -v grep | awk '{print $1}')
if [ -z "$CHECK_PID" ]; then
if [ "$is_cleared" = false ]; then
clear
is_cleared=true
fi
echo "$core_name açma işlemi tamamlanmadı, bekleniyor..."
else
break
fi
sleep 3
done
done
if [ -n "$successful_cores" ]; then
clear
echo "$choice kanal başarıyla açıldı!"
fi
Buna göre artık elle chmod 7777 yapmanıza gerek kalmayacak.



