İçeriğe geç
Türkçe

Linux (Ubuntu)

Oyun sunucusunu ve denetleyici programını aynı bilgisayarda çalıştırma

Bölüm başlığı “Oyun sunucusunu ve denetleyici programını aynı bilgisayarda çalıştırma”

Önce oyun sunucusunu ve denetleyici programını aynı bilgisayarda çalıştırmayı dene. Bu, yarışmadaki kurulumla aynı değildir, ama kendi bilgisayarında hata ayıklarken işine yarar.

Dünyayı aç ve kontrol penceresinde “TOGGLE REMOTE” düğmesine bas. Düğme turuncuya döner; bu, uzaktan modun açık olduğunu gösterir.

Açık durumdaki TOGGLE REMOTE düğmesi

Kontrol penceresi görünmüyorsa Scene Tree’de “DEF MAINSUPERVISOR Robot” öğesine sağ tıkla ve “Show Robot Window” seçeneğini seç.

Bir terminal aç ve <Your controller path> yerine denetleyici programının yolunu yazarak aşağıdaki komutları çalıştır.

Terminal window
export WEBOTS_HOME=/usr/local/webots
"$WEBOTS_HOME/webots-controller" "<Your controller path>"

Bu, Webots’un .deb paketiyle /usr/local/webots içine kurulduğunu varsayar. Başka bir yere kurduysan WEBOTS_HOME değerini buna göre değiştir.

Denetleyici Webots’a bağlanır ve oyun başlayana kadar bekler.

Kontrol penceresinde başlat düğmesine bas. Robot görünür ve programın çalışmaya başlar.

Oyunu durdurmak için terminalde Ctrl+C tuşlarına bas.

Simülasyon sona erdiğinde Erebus oyun yöneticisi de durur. Oyunu yeniden çalıştırmak için dünyayı yeniden yükle.

Oyun sunucusunu farklı bir bilgisayarda çalıştırma

Bölüm başlığı “Oyun sunucusunu farklı bir bilgisayarda çalıştırma”

Resmî yarışmalarda kullanılan kurulum budur. Denetleyicini çalıştıran bilgisayar (istemci) ile oyunu çalıştıran bilgisayar (sunucu) aynı ağa bağlı olmalıdır.

  1. (Sunucu) Sunucuda Webots’u başlat, dünyayı aç ve kontrol penceresinde uzaktan modu aç.

  2. (Sunucu) Sunucunun IP adresini öğren; örneğin ip addr komutunu kullanabilirsin.

  3. (İstemci) <Your controller path> yerine denetleyici programının yolunu, <Server IP address> yerine önceki adımda bulduğun IP adresini yazarak aşağıdaki komutları çalıştır.

    Terminal window
    export WEBOTS_HOME=/usr/local/webots
    "$WEBOTS_HOME/webots-controller" --protocol=tcp --ip-address=<Server IP address> "<Your controller path>"
  4. (Sunucu) Başlat düğmesine basarak oyunu başlat.

  • Denetleyici bağlanamıyor: iki bilgisayarın birbirine ulaşabildiğini (örneğin ping ile), sunucunun güvenlik duvarının 1234 numaralı TCP portuna izin verdiğini ve Webots tercihlerinin Network sekmesindeki izin verilen IP’ler listesinin boş olduğunu ya da istemciyi içerdiğini kontrol et.
  • No robot name provided mesajı görüntüleniyor: denetleyici beklerken bu mesaj normaldir. Mesaj kaybolmuyorsa uzaktan mod açık değildir: TOGGLE REMOTE düğmesini kontrol et.
  • Denetleyici bir Python kütüphanesini bulamıyor: program istemcideki Python kurulumuyla çalışır, bu yüzden kütüphaneyi istemciye kur.

Bu kurulum hakkında daha fazla ayrıntı için Webots kılavuzuna bak.