Sie sind nicht angemeldet.

  • »Patafix« ist männlich
  • »Patafix« ist der Autor dieses Themas

Beiträge: 334

Wohnort: Nähe Kiel

Ingame-Name: Pata

Clan: Kosmos

Renommeemodifikator: 12

Danksagungen: 34

  • Nachricht senden

21

Dienstag, 31. Dezember 2013, 17:50

Hier einmal noch eine Test-Version, für diejenigen, die Probleme bei der ServerSuche haben:
refresh-test.zip

Dort sollten kurz nach dem Start des Clients am Anfang "MasterServer"-Meldungen auftauchen, die mir zeigen, wann bzw. wie welcher Masterserver registriert wird, um den Fehler eingrenzen zu können.

  • »Deepfinder« ist weiblich

Beiträge: 604

Wohnort: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ♥ bei Jimjam ♥ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Beruf: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ♥ Jimjam's Freund ♥ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Renommeemodifikator: 11

  • Nachricht senden

22

Dienstag, 31. Dezember 2013, 17:59

Wenn es dir hilft:


Btw ist ja lustig, der Hintergrund der Konsole ist transparent? ^^




Malek

cookie-cutter tee

(1 872)

  • »Malek« ist männlich

Beiträge: 161

Wohnort: Österreich

Renommeemodifikator: 10

  • Nachricht senden

23

Dienstag, 31. Dezember 2013, 18:05

@Patafix: hab die zeit gestoppt, meine is um ca 1.5s schneller, liegt wahrscheinlich daran,
dass in der tw source viel zu viel unnötiger kram im speicher gespeichert wird,
und dieser mix aus c und c++ ist auch nicht gerade fördernd.
es gibt in c++(11) eben schon viele "tricks" um schnellern code zu schreiben.
compile-time zeug wie zb.: constexpr, templates (wenn man sie richtig einsetzt)
und anderes: RAII (Resource Acquisition Is Initialization), move, forward,
die stl verwenden(z.b std::vector anstatt den speicher manuell mit new und delete zu managen)



du nimmst in client/client.cpp btw. die adresse eines temporären wertes:
(ist bei gcc und clang ein fehler)

C++ Quelltext

1
2
if(net_addr_comp(&pPacket->m_Address, &m_pMasterServer->GetAddr(i)) == 0)
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~


machs besser so:

C++ Quelltext

1
2
NETADDR tmp = m_pMasterServer->GetAddr(i);
if(net_addr_comp(&pPacket->m_Address, &tmp) == 0)

  • »Patafix« ist männlich
  • »Patafix« ist der Autor dieses Themas

Beiträge: 334

Wohnort: Nähe Kiel

Ingame-Name: Pata

Clan: Kosmos

Renommeemodifikator: 12

Danksagungen: 34

  • Nachricht senden

24

Dienstag, 31. Dezember 2013, 19:03

Da ich den Fehler im Momet nicht herausfinde und ich heute Abend doch noch besseres zu tun habe,
war ich so frei und habe die Überprüfung der Master-Server auf 2 herabgesetzt.

Somit sollte die Version auch für die anderen funktionieren.

Einfach nochmal downloaden (im Startpost) :)

  • »Schwarzer Ritter« ist männlich

Beiträge: 917

Beruf: VIP

Clan: °SoJ°

Renommeemodifikator: 13

Danksagungen: 4

  • Nachricht senden

25

Mittwoch, 1. Januar 2014, 04:35

Nope, findet bei mir trotzdem nichts.
- masters.cfg gelöscht
- neuen Client getestet
- bei debug 1

Quellcode

1
2
3
[client_srvbrowse]Count-Request send to 0
[client_srvbrowse]Count-Request send to 1
[MasterCount]Server 1 got 1024 servers
Zitate
Keine Angst ich für meinen Teil halt von DDrace genauso viel wie von City :P beides fürn Kübel
zum Lesen den Text mit der Maus markieren

Ganz Ehrlich?
Hast du auch mal an Kritik gedacht?
Was er verbessern kann?
Was er falsch gemacht hat?
Welche Bilde findest du insbesondere schlecht?

  • »Deepfinder« ist weiblich

Beiträge: 604

Wohnort: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ♥ bei Jimjam ♥ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Beruf: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ♥ Jimjam's Freund ♥ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Renommeemodifikator: 11

  • Nachricht senden

26

Mittwoch, 1. Januar 2014, 16:13

Interessant.. gestern Abend ging noch alles mit der Version die nur 2 master überprüft, Server wurden geladen und angezeigt.
Nun genau das gleiche Problem wie Schwarzer Ritter.




nick

Another DaVinci

(5 784)

  • »nick« ist männlich

Beiträge: 670

Wohnort: de_cache

Ingame-Name: kickz

Clan: ÐøÐ

Renommeemodifikator: 13

Danksagungen: 74

  • Nachricht senden

27

Donnerstag, 2. Januar 2014, 11:16

kann das vll damit zusammenhängen, dass die master server etwas rum spacken?
hab keine ahnung, aber die lol'n aufjedenfall rum
im so deep
d-e-e-p
d - e - e - p
d - e - r - p



  • »Patafix« ist männlich
  • »Patafix« ist der Autor dieses Themas

Beiträge: 334

Wohnort: Nähe Kiel

Ingame-Name: Pata

Clan: Kosmos

Renommeemodifikator: 12

Danksagungen: 34

  • Nachricht senden

28

Donnerstag, 2. Januar 2014, 12:55

Das Problem ist, dass Tw auch masterserver anerkennt, die gar nicht mehr online sind.
Da ist es nicht verwunderlich, wenn er vergeblich auf eine Antwort wartet. ..
Ich werde dafür die masterserver anpingen müssen :)

SolSoCoG

unregistriert

29

Donnerstag, 2. Januar 2014, 20:13

Ihr tut ja alle so als ob Teeworlds es nicht hinkriegen würde, tote Masterserver nach ein paar Sekunden zu erkennen und zu aktiven zu wechseln. Ihr habt Drecksrouter gekoppelt mit Drecksanbietern, thats all.

  • »Deepfinder« ist weiblich

Beiträge: 604

Wohnort: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ♥ bei Jimjam ♥ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Beruf: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ♥ Jimjam's Freund ♥ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Renommeemodifikator: 11

  • Nachricht senden

30

Donnerstag, 2. Januar 2014, 20:20

Ihr tut ja alle so als ob Teeworlds es nicht hinkriegen würde, tote Masterserver nach ein paar Sekunden zu erkennen und zu aktiven zu wechseln. Ihr habt Drecksrouter gekoppelt mit Drecksanbietern, thats all.

Funktioniert der Client denn bei dir?




east

nameless tee

Beiträge: 28

Renommeemodifikator: 8

  • Nachricht senden

31

Donnerstag, 2. Januar 2014, 23:05

Ihr tut ja alle so als ob Teeworlds es nicht hinkriegen würde, tote Masterserver nach ein paar Sekunden zu erkennen und zu aktiven zu wechseln. Ihr habt Drecksrouter gekoppelt mit Drecksanbietern, thats all.

Eigentlich kriegt Teeworlds das wirklich nicht hin :D
Es sendet die Anfragepakete blind an alle Masterserver, um dann erwartungsvoll auf Serverlisten zu warten (unabhaengig davon ob geantwortet wird oder nicht).

  • »Patafix« ist männlich
  • »Patafix« ist der Autor dieses Themas

Beiträge: 334

Wohnort: Nähe Kiel

Ingame-Name: Pata

Clan: Kosmos

Renommeemodifikator: 12

Danksagungen: 34

  • Nachricht senden

32

Freitag, 3. Januar 2014, 00:08

Das Pakete senden und warten ist von mir. Aber das MasterServer als aktiv nehmen ist von Teeworlds :D

Und das liegt nicht einfach an irgendwelchen Routern, dass TW nicht prüft, ob die MS überhaupt online sind ...

flippy

gepflegte Faulheit

(6 126)

Beiträge: 518

Ingame-Name: // flippy

Clan: ÐøÐ

Renommeemodifikator: 12

Danksagungen: 43

  • Nachricht senden

33

Freitag, 3. Januar 2014, 00:35

Asus RT-N56U Router + KabelDE hier, du willst mir nicht ehrlich weiß machen, dass es daran liegt, oder? Oo
[mg]http://img.picshare.at/1448316351_Blood_for_Mercy.png[/img]

kaolo



east

nameless tee

Beiträge: 28

Renommeemodifikator: 8

  • Nachricht senden

34

Freitag, 3. Januar 2014, 13:50

Das Pakete senden und warten ist von mir. Aber das MasterServer als aktiv nehmen ist von Teeworlds :D
Naja, Teeworlds setzt die Masterserver direkt auf "Valid", wenn der Hostname des jeweiligen Masters aufgelöst werden konnte (was natürlich nicht bedeutet, dass er auch erreichbar ist).
Als "aktiv" kann man das glaube ich nicht bezeichnen.
Was dieser Client nun tut ?
[...] Jedoch versucht er nach einem Durchlauf die restlichen Server mit einem halbierten br_max_request zu finden.[...]
Du könntest dir bei einem Durchlauf merken, welche Masterserver geantwortet haben, um diese dann für den weiteren Durchlauf zu verwenden. Mit einem Request "pingst" du sie ja eigentlich schon an

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »east« (3. Januar 2014, 13:50)


  • »Patafix« ist männlich
  • »Patafix« ist der Autor dieses Themas

Beiträge: 334

Wohnort: Nähe Kiel

Ingame-Name: Pata

Clan: Kosmos

Renommeemodifikator: 12

Danksagungen: 34

  • Nachricht senden

35

Freitag, 3. Januar 2014, 16:28

Update

Ich habe aus Zeitgründen eine Zwischenlösung erstellt.

Nun wartet der Client mit der Anfrage der Server-Informationen nicht mehr auf das Eintreffen aller MasterServer-Counts.
Die Lösung ist zwar unelegant und hat eventuell den Nachteil, dass bei zu hohen Werten für br_max_request wieder Server in der Liste fehlen.
HINWEIS: von den fehlenden Servern fehlen nicht die Serverinformationen, sodass sie nur mit ihrer IP in der Liste stehen, sonder sie werden auch bei der Zählung der Server nicht mit aufgeführt, sodass man z.B. nur 800 Server statt über 100 hat.
Falls dies der Fall ist, einfach br_max_request reduzieren, bis alle Server gefunden werden :)
(keine Sorge, dieser Wert sollte wesentlich höher liegen als beim normalen TW-Client ;)

einfach die Version hier, oder im Startpost nutzen. Das Update befindet sich bereits auf Github, auch wenn es so nicht bereit ist, um es in andere Sourcen zu integrieren..


Mit freundlichen Grüßen,

Pata

gtb7878

cookie-cutter tee

(128)

Beiträge: 51

Ingame-Name: gtb7878

Clan: [TNT]

Renommeemodifikator: 6

  • Nachricht senden

36

Samstag, 4. Januar 2014, 00:19

Läuft bei mir :). Aber irgendwie finde ich dadurch grade mal 4 Server mehr als sonst...
Ego-Shooter machen nicht aggressiv. Menschen, die das behaupten, schon!


  • »Deepfinder« ist weiblich

Beiträge: 604

Wohnort: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ♥ bei Jimjam ♥ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Beruf: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ♥ Jimjam's Freund ♥ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Renommeemodifikator: 11

  • Nachricht senden

37

Samstag, 4. Januar 2014, 01:01

Bei mir werden mit normalem Client etwas mehr als die Hälfte aller Server nur als IP angezeigt.
Mit diesem Client hier wurden im Test dagegen nur 12 als IP angezeigt - eine erhebliche Verbesserung.




38

Samstag, 4. Januar 2014, 04:01

Gute Idee Pata! Das Problem besteht schon seit ein paar Jährchen und in diesem Stil hat sich bis jetzt noch kaum jemand darüber Gedanken gemacht.

Der Client funktioniert einwandfrei und verursacht keine Fehler oder sonstiges. Wirklich jeden Server wird der Client bei den Leuten, die das Serverproblem haben, zwar wohl trotzdem nicht finden, aber wie schon gesagt, ist eine erhebliche Verbesserung erkennbar. Gut so!
Vielleicht wird ja durch diesen Client das Problem irgendwann "verschwinden" oder zumindest so extrem eingedämmt, dass die Leute die für sie "wichtigsten" Server finden können.

SolSoCoG

unregistriert

39

Samstag, 4. Januar 2014, 15:45

Das Pakete senden und warten ist von mir. Aber das MasterServer als aktiv nehmen ist von Teeworlds :D

Und das liegt nicht einfach an irgendwelchen Routern, dass TW nicht prüft, ob die MS überhaupt online sind ...


Bei mir hat der Masterserver, abgesehen von Tagen wo alles geDDoSed wurde seit ~0.4? halt paar Jahre her, es noch nie geschafft mir keine oder ne derbe unvollständige Liste zu schicken.
Daher muss der Fehler vorm Bildschirm hocken, oder eben in der Hardware.

  • »Patafix« ist männlich
  • »Patafix« ist der Autor dieses Themas

Beiträge: 334

Wohnort: Nähe Kiel

Ingame-Name: Pata

Clan: Kosmos

Renommeemodifikator: 12

Danksagungen: 34

  • Nachricht senden

40

Samstag, 4. Januar 2014, 17:41

@SolSoCoG: Die Liste vom Master-Server kommt in den meisten Fällen auch ordnungsgemäß an. Jedoch gehen die Pakete der einzelnen Server-Abfragen bei zu hohen Datenraten oder einigen Routern verloren.

Zudem finde ich es unangebracht, das Problem herunterzuspielen, wenn andere es tatsächlich hatten, man sich mit dem Thema nicht auseinander gesetzt hat und deswegen auch keine Ahnung hat!

Falls du dich nun intensiv mit dem Problem beschäftigt hast, darfst du mir gerne erklären, warum dieser Client eigentlich völlig nutzlos ist.


Gruß Pata

Ähnliche Themen