Neler yeni
XenForo Bannerlar
Modern AdBlock Uyarısı

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Kod Vrunner Core Üzerine Yazdırma Hatası Fix

Fatih Bulut

Süper Üye
Katılım
6 Kas 2021
Mesajlar
4,066
Tepkime puanı
5,491
Puanları
113
Yaş
32
Konum
Türkiye
Dc
fatihbulut
Merhaba arkadaşlar,

Bildiğiniz üzere oyun sunucularımızda Vrunner veya benzeri "Auto-Start" scriptleri kullanıyoruz. Bu sistemler oyun düştüğünde (core verdiğinde) kanalı otomatik olarak tekrar açıyor. Ancak bu durumun büyük bir dezavantajı var:

Oyun tekrar açıldığında, oluşan game.core dosyasının üzerine yenisi yazılabiliyor veya dosya karmaşasında hangi core dosyasının ne zaman düştüğünü anlayamıyoruz. Hatanın kaynağını (GDB ile) çözmek için o anki core dosyasına ihtiyacımız var.

Sizlere hazırladığım bu ufak Shell scriptleri (wrapper) sayesinde, oyun veya DB her çöktüğünde oluşan core dosyasını silmek yerine ismine Tarih ve Saat ekleyerek saklayacağız.

1. ADIM: Game Dosyası İçin Script (core_game.sh)

Masaüstünde core_game.sh adında bir dosya oluşturun ve içine şunları yapıştırın. Bu script, channel klasörlerinin içine atılacaktır.

Kod:
#!/bin/sh
# Oyun dosyasını başlat (Binary isminiz game ise dokunmayın)
./game

# Eğer oyun kapanırsa ve geriye bir core dosyası bırakırsa:
if [ -f "game.core" ]; then
    # Core dosyasının ismini Tarih_Saat.core formatına çevir
    mv game.core game_$(date +%Y%m%d_%H%M%S).core
fi


2. ADIM: DB Dosyası İçin Script (core_db.sh)

Masaüstünde core_db.sh adında bir dosya oluşturun ve içine şunları yapıştırın. Bu script, db klasörünün içine atılacaktır.

Kod:
#!/bin/sh
# DB dosyasını başlat
./db

# Eğer DB kapanırsa ve core bırakırsa:
if [ -f "db.core" ]; then
    # Core dosyasının ismini Tarih_Saat.core formatına çevir
    mv db.core db_$(date +%Y%m%d_%H%M%S).core
fi

3. ADIM: Kurulum ve İzinler
  1. Hazırladığınız core_game.sh dosyasını tüm kanalların içine (channel1, channel2, game99 vb.) yani ./game dosyasının olduğu her yere atın.
  2. Hazırladığınız core_db.sh dosyasını db klasörünün içine atın.
  3. FileZilla veya Putty üzerinden bu dosyalara sağ tıklayıp 777 (Yazma/Okuma) izni verin.
4. ADIM: Başlatma (Start) Scriptini Düzenleme

Normalde start scriptinizde (admin_panel.sh veya start.sh) vrunner satırları şöyledir:

Kod:
Eski Hali:
./vrunner --daemon --pid-path=pid --file=game
./vrunner --daemon --pid-path=pid --file=db

Bunu şu şekilde değiştiriyorsunuz. Artık vrunner direkt oyunu değil, bizim koruyucu scriptimizi başlatacak:

Kod:
Yeni Hali:
./vrunner --daemon --pid-path=pid --file=core_game.sh
./vrunner --daemon --pid-path=pid --file=core_db.sh

Not: Game99 klasöründe de game dosyasını çağırıyorsanız oraya da core_game.sh atıp start komutunu ona göre düzenlemeyi unutmayın.
Örnek; Channel 1 - core1-core2-core3-core4 gibi tüm corelere atın dosyaları.

Sonuç:
Artık oyununuz bir hata verip çöktüğünde klasörünüzde şöyle dosyalar göreceksiniz:
game_20231220_1430.core
game_20231220_1845.core


Böylece hangi hatanın hangi saatte alındığını takip edebilirsiniz.
Herkese iyi forumlar!
 

Benzer konular

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Tema düzenleyici

Tema özelletirmeleri

Grafik arka planlar

Granit arka planlar