efee00

Yeni üye
15 Ara 2024
6
0
1
Herkese merhaba,

Steam'de yayınladığım multiplayer oyunumla ilgili bir sorun yaşıyorum ve çözüm konusunda yardımlarınızı bekliyorum.


Kurulum​

  • Oyun: Advanced Sessions ve Steam Subsystem kullanılarak Unreal Engine'de geliştirilmiş bir multiplayer oyun.
  • Sunucu: Game Instance içinde Create Advanced Session düğümü kullanılarak host server oluşturuluyor.
  • Client: Find Sessions aracılığıyla oluşturulan sunucu bulunuyor ve başarıyla bağlanılıyor.
  • Steam Overlay: Tamamen çalışıyor, oyunu Steam üzerinden başlattığımda overlay sorunsuz görünüyor.
  • Yükleme: Oyun, geçerli bir Steam depot olarak yüklendi ve yayına hazır durumda.

Sorun​

Bağlantı sağlandıktan sonra, ping her zaman 9999 görünüyor.
Aşağıdaki durumları test ettim ve aynı sorunla karşılaştım:

  1. Aynı ağ: İki farklı Steam hesabıyla, aynı yerel ağdaki farklı bilgisayarlardan bağlanıldığında ping 9999 gösteriyor.
  2. Farklı lokasyon: Farklı bir şehirdeki arkadaşıma Steamworks'te Developer yetkisiverdim. Oyunumu test ettiğimizde aynı sorun devam ediyor:
    • Ping hala 9999.
    • Fizik sorunları: Bazı oyuncular hareket edemiyor, bazı oyuncular ise aşırı hızlı hareket ediyor.
    • Oyuncu sayısı güncellenmiyor: Sunucu listesinde katılan oyuncu sayısı doğru bir şekilde artmıyor.
Bu durum multiplayer oynanışı neredeyse imkansız hale getiriyor.


Loglar​

İki önemli log dosyasını ekliyorum:

1. Steam üzerinden oyunu başlattığımda oluşan log:


Setting breakpad minidump AppID = 1234567
SteamInternal_SetMinidumpSteamID: Caching Steam ID: 76561198123456789 [API loaded no]

2. Standalone modda çalıştırdığımda oluşan log:


LogSteamShared: Display: Loading Steam SDK 1.57
LogSteamShared: Steam SDK Loaded!
LogOnline: STEAM: Starting SteamWorks. Client [1] Server [1]
LogOnline: STEAM: [AppId: 1234567] Client API initialized 1
LogOnline: STEAM: [AppId: 1234567] Game Server API initialized 1
LogOnline: STEAM: Initializing SteamNetworking Layer
LogOnline: OSS: Created online subsystem instance for: Steam
LogOnline: OSS: TryLoadSubsystemAndSetDefault: Loaded subsystem for type [Steam]
LogOnline: STEAM: Missing P2PCleanupTimeout key in OnlineSubsystemSteam of DefaultEngine.ini, using default


Denediğim Adımlar​

  1. AppID: Oyunun dosyalarındaki, Steamworks ayarlarındaki ve DefaultEngine.ini dosyasındaki AppID'yi kontrol ettim.
  2. Standalone Testleri: Oyunu -log parametresiyle çalıştırdım ve SteamSubsystem'in başlatıldığına dair log mesajlarını doğruladım.
  3. Steam Overlay: Overlay’in çalıştığını doğruladım.
  4. Sunucu ve Client Testleri: Aynı ağda ve farklı şehirdeki bir cihazdan bağlanarak test ettim.
Tüm bunlara rağmen ping 9999 görünmeye devam ediyor ve bu durum oynanışta ciddi sorunlara yol açıyor.


Sorular​

  1. Bu sorun, SteamSubsystem'in yerel ve uzaktan bağlantıları nasıl yönettiğiyle mi ilgili yoksa Unreal Engine'deki ağ yapılandırmasından mı kaynaklanıyor olabilir?
  2. Loglardaki [API loaded no] mesajı, Steam API başlatılırken bir sorun olduğunu mu gösteriyor, yoksa bu mesaj göz ardı edilebilir mi?
  3. Oyuncu sayısının doğru şekilde güncellenmesi ve ping ölçümünün düzeltilmesi için ne yapmam gerekiyor?
Herhangi bir fikir ya da öneriniz varsa çok sevinirim. Şimdiden teşekkürler!
 
UE4 kullandığım zamanlar bende de oyuncuların pingi 9999 gözüküyordu fakat oyun gayet akıcı bir şekilde oynanıyordu. Bu sorunu Player stateden compressed ping değişkenini çekip çözmüştüm.

Forumdaki bilgili arkadaşlardan herhangi bir yanıt gelene kadar, bence sıfır bir proje açıp basit bir host client sistemi yapıp pingi test edin.
 
Herkese merhaba,

Steam'de yayınladığım multiplayer oyunumla ilgili bir sorun yaşıyorum ve çözüm konusunda yardımlarınızı bekliyorum.


Kurulum​

  • Oyun: Advanced Sessions ve Steam Subsystem kullanılarak Unreal Engine'de geliştirilmiş bir multiplayer oyun.
  • Sunucu: Game Instance içinde Create Advanced Session düğümü kullanılarak host server oluşturuluyor.
  • Client: Find Sessions aracılığıyla oluşturulan sunucu bulunuyor ve başarıyla bağlanılıyor.
  • Steam Overlay: Tamamen çalışıyor, oyunu Steam üzerinden başlattığımda overlay sorunsuz görünüyor.
  • Yükleme: Oyun, geçerli bir Steam depot olarak yüklendi ve yayına hazır durumda.

Sorun​

Bağlantı sağlandıktan sonra, ping her zaman 9999 görünüyor.
Aşağıdaki durumları test ettim ve aynı sorunla karşılaştım:

  1. Aynı ağ: İki farklı Steam hesabıyla, aynı yerel ağdaki farklı bilgisayarlardan bağlanıldığında ping 9999 gösteriyor.
  2. Farklı lokasyon: Farklı bir şehirdeki arkadaşıma Steamworks'te Developer yetkisiverdim. Oyunumu test ettiğimizde aynı sorun devam ediyor:
    • Ping hala 9999.
    • Fizik sorunları: Bazı oyuncular hareket edemiyor, bazı oyuncular ise aşırı hızlı hareket ediyor.
    • Oyuncu sayısı güncellenmiyor: Sunucu listesinde katılan oyuncu sayısı doğru bir şekilde artmıyor.
Bu durum multiplayer oynanışı neredeyse imkansız hale getiriyor.


Loglar​

İki önemli log dosyasını ekliyorum:

1. Steam üzerinden oyunu başlattığımda oluşan log:


Setting breakpad minidump AppID = 1234567
SteamInternal_SetMinidumpSteamID: Caching Steam ID: 76561198123456789 [API loaded no]

2. Standalone modda çalıştırdığımda oluşan log:


LogSteamShared: Display: Loading Steam SDK 1.57
LogSteamShared: Steam SDK Loaded!
LogOnline: STEAM: Starting SteamWorks. Client [1] Server [1]
LogOnline: STEAM: [AppId: 1234567] Client API initialized 1
LogOnline: STEAM: [AppId: 1234567] Game Server API initialized 1
LogOnline: STEAM: Initializing SteamNetworking Layer
LogOnline: OSS: Created online subsystem instance for: Steam
LogOnline: OSS: TryLoadSubsystemAndSetDefault: Loaded subsystem for type [Steam]
LogOnline: STEAM: Missing P2PCleanupTimeout key in OnlineSubsystemSteam of DefaultEngine.ini, using default


Denediğim Adımlar​

  1. AppID: Oyunun dosyalarındaki, Steamworks ayarlarındaki ve DefaultEngine.ini dosyasındaki AppID'yi kontrol ettim.
  2. Standalone Testleri: Oyunu -log parametresiyle çalıştırdım ve SteamSubsystem'in başlatıldığına dair log mesajlarını doğruladım.
  3. Steam Overlay: Overlay’in çalıştığını doğruladım.
  4. Sunucu ve Client Testleri: Aynı ağda ve farklı şehirdeki bir cihazdan bağlanarak test ettim.
Tüm bunlara rağmen ping 9999 görünmeye devam ediyor ve bu durum oynanışta ciddi sorunlara yol açıyor.


Sorular​

  1. Bu sorun, SteamSubsystem'in yerel ve uzaktan bağlantıları nasıl yönettiğiyle mi ilgili yoksa Unreal Engine'deki ağ yapılandırmasından mı kaynaklanıyor olabilir?
  2. Loglardaki [API loaded no] mesajı, Steam API başlatılırken bir sorun olduğunu mu gösteriyor, yoksa bu mesaj göz ardı edilebilir mi?
  3. Oyuncu sayısının doğru şekilde güncellenmesi ve ping ölçümünün düzeltilmesi için ne yapmam gerekiyor?
Herhangi bir fikir ya da öneriniz varsa çok sevinirim. Şimdiden teşekkürler!
1734323294573.png





DisplayPlayers adlı Custom Event ile GameState içerisinde bulunan tüm PlayerArray dizisini ForEachLoop ile okutuyorum. PawnPrivate değeri bir karakteri veya oyuncu pawnını işaret ediyor sanırım. Bunu da Cast ile kendi oyuncu karakterine çevirebiliyor ve değer çekebiliyorsun. Benim karakterlerimde hem oyuncunun ismi hem de karakterin ismi var. Mesela " Emre(yasuo) " gibi. Dört karakter var . Chris,Janna,Clarke,John gibi. Class oldukları için bazen bu isimleri de çekmem gerek o yüzden PawnPrivate yapıp Tag olarak eklediğim bu isimleri 2.Tag Indexinden çekip Skor tablosunda parantez içine yazıyorum.

Şimdi Ping kısmına gelecek olursak. Pingi sağdan soldan çekersen 9999 gibi bir değer yazar. Öncelikle Widgetinde Ping Adlı bir bölüm olmalı ve orada Default değeri 0 yazan bir Integer değer olmalı. Daha sonra o sıfır değerini Integer değer olan değişkenine Bind etmen gerek.

DisplayPlayers yaparken de her oyuncu karakteri için Widget Create edeceğiz ya. Child olarak. Orada bu değerleri oturtman gerek. GameState yazan yerden Compressed ping değerini çekip istediğin gibi convertleyip yazdırabilirsin.
 
Merhabalar, Geri dönüşleriniz için çok teşekkür ederim aslında sorunun ping ile alakalı olmadığını çözdüm sorun prop fizik hareketlerinde. bir konu daha açacağım eğer zamanınız olursa yardımlarınızı bekliyorum teşekkür ederim bu konuyu kapatıyorum.