Çözüldü Chleri Açamıyorum

  • Konuyu açan Konuyu açan hiqermod
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 14
  • Gösterim Gösterim 1K
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

hiqermod

Üye
Üye
Mesaj
124
Çözümler
14
Beğeni
40
Puan
454
Ticaret Puanı
0
Bu konuyla ilgili daha önce bir başlık oluşturmuştum script dosyalarını değiştirince düzelmişti fakat şimdi tekrar başım belada kalıcı olarak kurtulmak için AltyapıSf yi (coreslerin ve scriptlerin bulunduğu yer ) silip tekrar kurdum ama durumdan kurtulamadım

start.sh:
Genişlet Daralt Kopyala
#!/bin/sh
#### @Whistle | www.mmotutkunlari.com | oyunu baslatma scripti ####

flags=""
while getopts l:I: flag
do
    case ${flag} in
        l) level=$OPTARG
            flags=" $flags -l $level "
            echo "LOG LEVEL: $level"
            ;;
        I) IP=$OPTARG
            flags=" $flags -I $IP "
            echo "PUBLIC IP: $IP"
            ;;
        ?) echo ""
            echo "Kullanım: $0 -l log_level -I public_ip"
            echo -e "\t-l : Serverin log seviyesini belirlemek için 0'dan 3'e kadar değer alabilir."
            echo -e "\t-I : Serverin PUBLIC_IP değerini belirlemek içindir."
            exit 1
            ;;
    esac
done

main_dir=$(pwd)
cores="db auth $(cat cores.list)"
for i in $cores
do
    PIDNUM=$(ps afx | fgrep "./$i" | fgrep -v grep | awk '{print $1}')
    if [ -z $PIDNUM ]; then
        echo "$i aciliyor..."
        cd $main_dir/cores/$i
        ./$i $flags & pwd & sleep 5
    else
        echo "$i zaten acik. pid: $PIDNUM"
    fi
    
    while true; do
        CHECK_PID=$(ps afx | fgrep "./$i" | fgrep -v grep | awk '{print $1}')
        
        if [ -z $CHECK_PID ]; then
            echo "$i hala acilmadi. Bekleniyor..."
        else
            #echo "$i acildi."
            break
        fi
        
        sleep 3
    done
done

db syserr:
Genişlet Daralt Kopyala
SYSERR: Sep 20 05:00:59 :: pid_init:
Start of pid: 4548

SYSERR: Sep 20 05:00:59 :: Start: TABLE_POSTFIX not configured use default
SYSERR: Sep 20 05:01:04 :: Load:  DirectQuery failed(SELECT IP_FROM, IP_TO, COUNTRY_NAME FROM iptocountry)
SYSERR: Sep 20 05:33:30 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
SYSERR: Sep 20 05:33:30 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
SYSERR: Sep 20 05:33:30 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
SYSERR: Sep 20 05:33:30 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
SYSERR: Sep 20 05:33:30 :: pid_deinit:
End of pid

SYSERR: Sep 20 05:35:59 :: pid_init:
Start of pid: 6448

SYSERR: Sep 20 05:35:59 :: Start: TABLE_POSTFIX not configured use default
SYSERR: Sep 20 05:36:04 :: Load:  DirectQuery failed(SELECT IP_FROM, IP_TO, COUNTRY_NAME FROM iptocountry)
SYSERR: Sep 20 05:38:05 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
SYSERR: Sep 20 05:38:05 :: pid_deinit:
End of pid

db syslog:
Genişlet Daralt Kopyala
Sep 20 05:38:04 :: [     1250] return 0/0/0 async 0/0/0
SYSERR: Sep 20 05:38:05 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
Sep 20 05:38:05 :: MainLoop exited, Starting cache flushing
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
Sep 20 05:38:05 :: AsyncSQL: closing mysql connection.
SYSERR: Sep 20 05:38:05 :: pid_deinit:
End of pid

Elimdeki Bütün Döküman Bu Başkada Birşey Çıkartmamış Ne Olduğu Konusunda Hiçbir fikrim yok

1632105934213.webp

Sürekli Burda Takılıyor
 
Çözüm
Sorun hiç beklemediğim yerden çıktı. Syserr dosyasına da veri girişi sağlanmadığı için kodlarda hata ayıklama yaparak nerede takılı kaldığını tespit ettik.

main.cpp'de şu kod açılmasını engelliyormuş;
start fonksiyonunda bulun ve kaldırın.
C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_LIMIT_TIME
    if ((unsigned)get_global_time() >= GLOBAL_LIMIT_TIME)
    {
        sys_err("Server life time expired.");
        return 0;
#endif

main.cpp , heartbeat fonksiyonunda da şunu aratın ve kaldırın;
C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_LIMIT_TIME
        if ((unsigned)get_global_time() >= GLOBAL_LIMIT_TIME)
        {
            sys_err("Server life time expired.");
            g_bShutdown = true;
        }
#endif

desc.cpp dosyasını açın ve...
db ve game dosyalarını build ettiniz mi? auth olarak kaydedilmiş kısayolu takip edin yol kısmı uyuşmuyor olabilir. Akşam üzeri isterseniz inceleyebilirim Discord: MEKA#3706
 
Bu tipik bir güvenlik önlemi. Filesi hazırlama serisini izlediyseniz oyunu başlatma ve kapatma scriptlerinin çalışma mantığını daha iyi anlayabilirsiniz.
Bir core açılmazsa sistem diğerlerini açmaya izin vermiyor. Ve eklediğiniz resime bakılırsa auth'da sıkıntı var. @Trashy 'nin söylediği gibi kısayollarda sorun olabilir.

Veritabanı ise açılmış gözüküyor. Orada sorun yok gibi.
 
db ve game dosyalarını build ettiniz mi? auth olarak kaydedilmiş kısayolu takip edin yol kısmı uyuşmuyor olabilir. Akşam üzeri isterseniz inceleyebilirim Discord: MEKA#3706
Dosyalari build ettim kısayollarda tamam size dc den ulaşabilirsem çok mutlu olurum

Bu tipik bir güvenlik önlemi. Filesi hazırlama serisini izlediyseniz oyunu başlatma ve kapatma scriptlerinin çalışma mantığını daha iyi anlayabilirsiniz.
Bir core açılmazsa sistem diğerlerini açmaya izin vermiyor. Ve eklediğiniz resime bakılırsa auth'da sıkıntı var. @Trashy 'nin söylediği gibi kısayollarda sorun olabilir.

Veritabanı ise açılmış gözüküyor. Orada sorun yok gibi.
Sorun sistem çalışırken durduk yere olmaya başladı bende çok şaşırdım neden olduğunu bulamıyorum dediğiniz gibi kısayolları takip ettim ve bi sıkıntı yok doru adresteler
 
Cihazda yeterli RAM var mı? Birde auth syserr ve sys_log dosyalarını kontrol ediniz
 
Auth da sıkıntı olmasına rağmen syserr vermemesi garip. Syslog dosyası var mı? Eğer varsa içeriğini buraya eklerseniz iyi olur. Söylenenlerin dışında aklıma gelen bir diğer ihtimal ise, auth klasöründeki CONFIG dosyasında herhangi bir değişiklik yaptınız mı? İsterseniz bu dosyayı da bir kontrol edin.
 
Auth da sıkıntı olmasına rağmen syserr vermemesi garip. Syslog dosyası var mı? Eğer varsa içeriğini buraya eklerseniz iyi olur. Söylenenlerin dışında aklıma gelen bir diğer ihtimal ise, auth klasöründeki CONFIG dosyasında herhangi bir değişiklik yaptınız mı? İsterseniz bu dosyayı da bir kontrol edin.
malesef syslog bulunmuyor auth configini defalarca kontrol etmeme rağmen bir sıkıntı göremiyorum anlamadım gitti arkadaş
 
İnternetim zayıf ama özelden anydesk verebilirseniz bakabilirim isterseniz.
 
Sorun hiç beklemediğim yerden çıktı. Syserr dosyasına da veri girişi sağlanmadığı için kodlarda hata ayıklama yaparak nerede takılı kaldığını tespit ettik.

main.cpp'de şu kod açılmasını engelliyormuş;
start fonksiyonunda bulun ve kaldırın.
C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_LIMIT_TIME
    if ((unsigned)get_global_time() >= GLOBAL_LIMIT_TIME)
    {
        sys_err("Server life time expired.");
        return 0;
#endif

main.cpp , heartbeat fonksiyonunda da şunu aratın ve kaldırın;
C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_LIMIT_TIME
        if ((unsigned)get_global_time() >= GLOBAL_LIMIT_TIME)
        {
            sys_err("Server life time expired.");
            g_bShutdown = true;
        }
#endif

desc.cpp dosyasını açın ve EVENTFUNC(ping_event) kod bloğundaki şu kodu kaldırın;
C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_LIMIT_TIME
    if ((unsigned)get_global_time() >= GLOBAL_LIMIT_TIME)
    {
        sys_err("Server life time expired.");
        extern void ClearAdminPages();
        ClearAdminPages();
        exit(1);
    }
#endif

Ya da limit_time.h dosyasında şunu aratın ve silin;
C++:
Genişlet Daralt Kopyala
#define ENABLE_LIMIT_TIME

sorun cozum kaniti.jpg


Önümüzdeki günlerde github kaynak kodlarını güncelleyeceğim. Eğer böyle bi soru gelmeseydi fark etmeyecektim belki de. Bu yüzden sorunu belirttiğiniz ve çözüme kadar sabrettiğiniz için teşekkürler.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst